{"version":3,"sources":["components/AddPost/AddPost.js","components/Alert/Alert.js","components/CodeBlock/CodeBlock.js","components/CookiesNotification/CookiesNotification.js","components/CustomizedDialogs/components/components/CustomizedDialogs.js","components/CustomizedDialogs/requests/CustomizedDialogsRequests.js","components/FilesDropzone/FilesDropzone.js","components/GenericMoreButton/GenericMoreButton.js","components/GoogleAnalytics/GoogleAnalytics.js","components/Markdown/Markdown.js","components/Navigation/components/NavigationListItem/NavigationListItem.js","components/Navigation/Navigation.js","components/NotificationsPopover/components/NotificationList/NotificationList.js","components/NotificationsPopover/components/EmptyList/EmptyList.js","components/NotificationsPopover/NotificationsPopover.js","components/Page/Page.js","components/Paginate/Paginate.js","components/PostCard/components/CommentBubble/CommentBubble.js","components/PostCard/components/CommentForm/CommentForm.js","components/PostCard/components/Reactions/Reactions.js","components/PostCard/PostCard.js","components/PricingModal/PricingModal.js","components/ProjectCard/ProjectCard.js","components/ReviewStars/ReviewStars.js","components/RichEditor/components/EditorToolbar/EditorToolbar.js","components/RichEditor/utils/block.js","components/RichEditor/RichEditor.js","components/ScrollReset/ScrollReset.js","components/SearchBar/components/Filter/Filter.js","components/SearchBar/components/Search/Search.js","components/SearchBar/SearchBar.js","components/StackAvatars/StackAvatars.js","components/StatusBullet/StatusBullet.js","components/TableEditBar/TableEditBar.js","components/Loading/Loading.js","components/Header/Header.js","components/DatePicker/Calendar.js","components/FilePicker/FilePicker.js","components/PowerBIDashboard/PowerBIDashboard.js","components/FiltersDrawer/FiltersDrawer.js","utils/getInitials.js","theme/palette.js","theme/typography.js","theme/overrides/MuiChip.js","theme/overrides/MuiIconButton.js","theme/overrides/MuiInputBase.js","theme/overrides/MuiLinearProgress.js","theme/overrides/MuiListItemIcon.js","theme/overrides/MuiTableHead.js","theme/overrides/index.js","theme/overrides/MuiButton.js","theme/overrides/MuiCardActions.js","theme/overrides/MuiCardContent.js","theme/overrides/MuiCardHeader.js","theme/overrides/MuiOutlinedInput.js","theme/overrides/MuiPaper.js","theme/overrides/MuiTableCell.js","theme/overrides/MuiTableRow.js","theme/overrides/MuiToggleButton.js","theme/overrides/MuiTypography.js","theme/index.js","reducers/sessionReducer.js","reducers/notifierReducer.js","views/Management/requests/UsersRequests.js","views/Management/actions/UsersActions.js","views/Management/reducers/UsersReducer.js","views/Management/requests/OperatorsRequests.js","views/Management/actions/OperatorsActions.js","views/Management/reducers/OperatorsReducer.js","views/Management/requests/SettingsRequests.js","views/Management/actions/SettingsActions.js","views/Management/reducers/SettingsReducer.js","views/Dashboard/requests/DashboardInspectRequests.js","views/Dashboard/actions/DashboardInspectActions.js","views/Dashboard/reducers/DashboardInspectReducer.js","views/Scripts/requests/TechAddRequests.js","views/Scripts/actions/TechAddActions.js","views/Scripts/reducers/TechAddReducer.js","views/ReportKpis/requests/ReportsRequests.js","views/ReportKpis/actions/ReportsActions.js","views/ReportKpis/reducers/ReportsReducer.js","views/Tickets/requests/TicketsRequets.js","views/Tickets/actions/TicketsActions.js","views/Tickets/reducers/TicketsReducer.js","views/CM/requests/ConfigurationRequests.js","views/CM/actions/ConfigurationActions.js","views/CM/reducers/ConfigurationReducer.js","views/CM/requests/CellInfoRequests.js","views/CM/actions/CellInfoActions.js","views/CM/reducers/CellInfoReducer.js","views/CM/requests/HuaweiRemoteAnalysisRequests.js","views/CM/actions/HuaweiRemoteAnalysisActions.js","views/CM/reducers/HuaweiRemoteAnalysisReducer.js","views/SmallCells/requests/ReportPPMRequests.js","views/SmallCells/actions/ReportPPMActions.js","views/SmallCells/reducers/ReportPPMReducer.js","views/Scripts/requests/ScfRequests.js","views/Scripts/actions/ScfActions.js","views/Scripts/reducers/ScfReducer.js","views/Acceptance/requests/Report2CARequests.js","views/Acceptance/actions/Report2CAActions.js","views/Acceptance/reducers/Report2CAReducer.js","views/SmallCells/requests/RanReportAvailabilityRequests.js","views/SmallCells/actions/RanReportAvailabilityActions.js","views/SmallCells/reducers/RanReportAvailabilityReducer.js","views/SmallCells/requests/ReportSmallCellsImpactRequests.js","views/SmallCells/actions/ReportSmallCellsImpactActions.js","views/SmallCells/reducers/ReportSmallCellsImpactReducer.js","views/Acceptance/requests/ReportNRRequests.js","views/Acceptance/actions/ReportNRActions.js","views/Acceptance/reducers/ReportNRReducer.js","views/Acceptance/requests/ReportNR7AssessmentRequests.js","views/Acceptance/actions/ReportNR7AssessmentActions.js","views/Acceptance/reducers/ReportNR7AssessmentReducer.js","views/RanRETAudit/requests/RetAuditRequests.js","views/RanRETAudit/actions/RetAuditActions.js","views/RanRETAudit/reducers/RetAuditReducers.js","views/RanRETAudit/requests/RETFilesUploadRequests.js","views/RanRETAudit/actions/RETFilesUploadActions.js","views/RanRETAudit/reducers/RETFilesUploadReducers.js","views/IncidentTracker/requests/IncidentTrackerRequests.js","views/IncidentTracker/actions/IncidentTrackerActions.js","views/IncidentTracker/reducers/IncidentTrackerReducer.js","views/IncidentTracker/requests/IncidentTrackerConfigurationRequests.js","views/IncidentTracker/actions/IncidentTrackerConfigurationActions.js","views/IncidentTracker/reducers/IncidentTrackerConfigurationReducer.js","views/SiteTracker/actions/SiteTrackerActions.js","views/SiteTracker/reducers/SiteTrackerReducer.js","views/RanRETAudit/actions/CPMFilesUploadActions.js","views/RanRETAudit/reducers/CPMFilesUploadReducers.js","views/RANDumpExport/requests/RANDumpExportRequests.js","views/RANDumpExport/actions/RANDumpExportActions.js","views/RANDumpExport/reducers/RANDumpExportReducers.js","views/RanRETAudit/actions/CPMDumpExportActions.js","views/RanRETAudit/reducers/CPMDumpExportReducers.js","views/RanRETAudit/requests/GEOInputFileRequests.js","views/RanRETAudit/actions/GEOInputFileActions.js","views/RanRETAudit/reducers/GEOInputFileReducer.js","views/SiteAssessment7Days/requests/SiteAssessment7DaysRequests.js","views/SiteAssessment7Days/actions/SiteAssessment7DaysActions.js","views/SiteAssessment7Days/reducers/SiteAssessment7DaysReducers.js","views/TopOffenders/requests/TopOffendersRequests.js","views/TopOffenders/actions/TopOffendersActions.js","views/TopOffenders/reducers/TopOffendersReducers.js","views/TopOffendersCities/requests/TopOffendersCitiesRequests.js","views/TopOffendersCities/actions/TopOffendersCitiesActions.js","views/TopOffendersCities/reducers/TopOffendersCitiesReducers.js","views/RanReportRF/requests/RanReportRFRequests.js","views/RanReportRF/actions/RanReportRFActions.js","views/RanReportRF/reducers/RanReportRFReducer.js","views/TopOffendersWorstSites/requests/WorstSitesRequests.js","views/TopOffendersWorstSites/actions/WorstSitesActions.js","views/TopOffendersWorstSites/reducers/WorstSitesReducers.js","views/TopOffendersWorstSites/requests/WorstSitesRegionRequests.js","views/TopOffendersWorstSites/actions/WorstSitesRegionActions.js","views/TopOffendersWorstSites/reducers/WorstSitesRegionReducers.js","views/CapacityPRBBlackList/requests/CapacityPRBBlackListRequests.js","views/CapacityPRBBlackList/actions/CapacityPRBBlackListActions.js","views/CapacityPRBBlackList/reducers/CapacityPRBBlackListReducers.js","views/TopOffendersWorstSites/requests/WorstSitesCitiesRequests.js","views/TopOffendersWorstSites/actions/WorstSitesCitiesActions.js","views/TopOffendersWorstSites/reducers/WorstSitesCitiesReducers.js","views/Scripts/requests/BwUpdateRequests.js","views/Scripts/actions/BwUpdateActions.js","views/Scripts/reducers/BwUpdateReducer.js","views/TopOffendersGenericReports/requests/TopOffendersAggSiteRequests.js","views/TopOffendersGenericReports/actions/TopOffendersAggSiteActions.js","views/TopOffendersGenericReports/reducers/TopOffendersAggSiteReducer.js","views/TopOffendersGenericReports/requests/TopOffendersAggSubRegionRequests.js","views/TopOffendersGenericReports/actions/TopOffendersAggSubRegionActions.js","views/TopOffendersGenericReports/reducers/TopOffendersAggSubRegionReducer.js","views/TopOffendersGenericReports/requests/TopOffendersAggRegionRequests.js","views/TopOffendersGenericReports/actions/TopOffendersAggRegionActions.js","views/TopOffendersGenericReports/reducers/TopOffendersAggRegionReducer.js","views/TopOffendersGenericReports/requests/TopOffendersAggCityRequests.js","views/TopOffendersGenericReports/actions/TopOffendersAggCityActions.js","views/TopOffendersGenericReports/reducers/TopOffendersAggCityReducer.js","views/RFOPTTracker/requests/IncidentTrackerRequests.js","views/RFOPTTracker/actions/IncidentTrackerActions.js","views/RFOPTTracker/reducers/IncidentTrackerDemoReducer.js","views/Acceptance/requests/ReportRFCountersRequests.js","views/Acceptance/actions/ReportRFCountersActions.js","views/Acceptance/reducers/ReportRFCountersReducer.js","views/Acceptance/requests/ReportSunsetRequests.js","views/Acceptance/actions/ReportSunsetActions.js","views/Acceptance/reducers/ReportSunsetReducer.js","views/FocusOccasion/requests/FocusOccasionUploadRequests.js","views/FocusOccasion/actions/FocusOccasionUploadActions.js","views/FocusOccasion/reducers/FocusOccasionUploadReducers.js","views/AcceptanceManagement/requests/ManagementRequest.js","views/AcceptanceManagement/actions/ManagementActions.js","views/AcceptanceManagement/reducers/ManagementReducer.js","views/IncidentCellList/requests/IncidentCellListRequests.js","views/IncidentCellList/actions/IncidentCellListActions.js","views/IncidentCellList/reducers/IncidentCellListReducer.js","reducers/index.js","layouts/Auth/components/Topbar/Topbar.js","layouts/Auth/Auth.js","layouts/Error/Error.js","components/NotificationHub/NotificationHub.js","layouts/Dashboard/components/NavBar/navigationConfig.js","layouts/Dashboard/components/NavBar/NavBar.js","layouts/Dashboard/components/TopBar/TopBar.js","layouts/Dashboard/Dashboard.js","layouts/Dashboard/components/ChatBar/ChatBar.js","views/DashboardAnalytics/components/EarningsSegmentation/components/Chart/Chart.js","views/DashboardAnalytics/components/EarningsSegmentation/EarningsSegmentation.js","views/DashboardAnalytics/components/FinancialStats/components/Chart/Chart.js","views/DashboardAnalytics/components/FinancialStats/FinancialStats.js","views/DashboardAnalytics/components/Header/Header.js","views/DashboardAnalytics/components/MostProfitableProducts/components/CircularProgress/CircularProgress.js","views/DashboardAnalytics/components/MostProfitableProducts/MostProfitableProducts.js","views/DashboardAnalytics/components/Overview/Overview.js","views/DashboardAnalytics/components/TopReferrals/TopReferrals.js","views/DashboardAnalytics/components/CustomerActivity/CustomerActivity.js","views/DashboardAnalytics/components/LatestOrders/LatestOrders.js","views/DashboardAnalytics/DashboardAnalytics.js","views/DashboardDefault/components/Header/Header.js","views/DashboardDefault/components/LatestProjects/LatestProjects.js","views/DashboardDefault/components/NewProjects/NewProjects.js","views/DashboardDefault/components/RoiPerCustomer/RoiPerCustomer.js","views/DashboardDefault/components/TeamTasks/components/TaskItem/TaskItem.js","views/DashboardDefault/components/TeamTasks/TeamTasks.js","views/DashboardDefault/components/TodaysMoney/TodaysMoney.js","views/DashboardDefault/components/SystemHealth/SystemHealth.js","views/DashboardDefault/components/RealTime/components/Chart/Chart.js","views/DashboardDefault/components/RealTime/RealTime.js","views/DashboardDefault/components/PerformanceOverTime/components/Chart/Chart.js","views/DashboardDefault/components/PerformanceOverTime/PerformanceOverTime.js","views/DashboardDefault/DashboardDefault.js","views/Overview/components/Header/Header.js","views/Overview/components/Statistics/Statistics.js","views/Overview/components/Notifications/Notifications.js","views/Overview/components/Projects/Projects.js","views/Overview/components/Todos/Todos.js","views/Overview/Overview.js","views/Home/Home.js","views/Presentation/components/FAQ/FAQ.js","views/Presentation/components/Header/Header.js","views/Presentation/components/PluginsSupport/PluginsSupport.js","views/Presentation/components/SourceFiles/SourceFiles.js","views/Presentation/components/UserFlows/UserFlows.js","views/Presentation/Presentation.js","views/Management/components/Users/components/Card/Card.js","views/Management/components/Users/components/UsersDataTable/UsersDataTable.js","components/ModalDialog/components/DialogTitle.js","components/ModalDialog/components/DialogContent.js","components/ModalDialog/ModalDialog.js","views/Management/components/Users/components/AddEditUserDialog/components/AddEditUserForm/AddEditUserForm.js","views/Management/components/Users/components/AddEditUserDialog/AddEditUserDialog.js","views/Management/components/Users/components/DeleteUserDialog/DeleteUserDialog.js","views/Management/components/Users/Users.js","views/Management/components/Operators/components/OperatorCard/OperatorCard.js","views/Management/components/Operators/components/OperatorsList/OperatorsList.js","views/Management/components/Operators/components/AddOperatorDialog/components/AddOperatorForm/AddOperatorForm.js","views/Management/components/Operators/components/AddOperatorDialog/AddOperatorDialog.js","views/Management/components/Operators/Operators.js","views/Management/components/OperatorDetails/components/Overview/components/Details/Details.js","views/Management/components/OperatorDetails/components/Overview/components/Picture/Picture.js","views/Management/components/OperatorDetails/components/Overview/Overview.js","views/Management/components/OperatorDetails/components/Projects/components/ProjectsDataTable/components/ActionsButton/ActionsButton.js","views/Management/components/OperatorDetails/components/Projects/components/ProjectsDataTable/ProjectsDataTable.js","views/Management/components/OperatorDetails/components/Projects/components/AddProjectDialog/components/AddProjectForm/AddProjectForm.js","views/Management/components/OperatorDetails/components/Projects/components/AddProjectDialog/AddProjectDialog.js","views/Management/components/OperatorDetails/components/Projects/Projects.js","views/Management/components/OperatorDetails/components/Users/components/UsersDataTable/UsersDataTable.js","views/Management/components/OperatorDetails/components/Users/Users.js","views/Management/components/OperatorDetails/OperatorDetails.js","views/Management/components/Settings/components/General/components/GeneralForm/GeneralForm.js","views/Management/components/Settings/components/General/General.js","views/Management/components/Settings/components/Notifications/Notifications.js","views/Management/components/Settings/components/Security/Security.js","views/Management/components/Settings/Settings.js","views/Management/components/Settings/components/Subscription/Subscription.js","views/Dashboard/components/Inspect/components/OptionsButton/OptionsButton.js","views/Dashboard/components/Inspect/DashboardInspect.js","views/ReportKpis/requests/UploadsRequests.js","views/ReportKpis/components/Uploads/components/SiteString.js","views/ReportKpis/actions/UploadsActions.js","views/ReportKpis/components/Uploads/Uploads.js","views/ReportKpis/components/Reports/components/SiteList.js","views/ReportKpis/components/Reports/components/ActionsButton.js","views/Downloads/components/DownloadList/components/DownloadListItem/DownloadListItem.js","views/Downloads/components/DownloadList/DownloadList.js","views/ReportKpis/components/Reports/components/Downloads.js","views/ReportKpis/components/Reports/Reports.js","views/Scripts/components/TechAdd/components/TechAddForm.js","views/Scripts/components/TechAdd/components/CellInfoForm.js","views/Scripts/components/TechAdd/TechAdd.js","views/Tickets/components/Tickets/components/TicketsDataTable/TicketsDataTable.js","components/DatePicker/DateTimePicker.js","views/Tickets/components/Tickets/components/AddTicketDialog/components/AddTicketForm/AddTicketForm.js","views/Tickets/components/Tickets/components/AddTicketDialog/AddTicketDialog.js","views/Tickets/components/Tickets/components/Filters/Filters.js","views/Tickets/components/Tickets/Tickets.js","views/Tickets/components/TicketDetails/components/Details/components/Comments.js","views/Tickets/components/TicketDetails/components/Details/components/DetailsForm.js","views/Tickets/components/TicketDetails/components/Details/Details.js","views/Tickets/components/TicketDetails/components/History/History.js","views/Tickets/components/TicketDetails/components/Files/components/FilesDataTable.js","views/Tickets/components/TicketDetails/components/Files/Files.js","views/Tickets/components/TicketDetails/TicketDetails.js","views/CM/components/Configuration/components/ConfigurationNokiaForm.js","views/CM/components/Configuration/components/ConfigurationHuaweiForm.js","views/CM/components/Configuration/components/DumpsDataTable.js","views/CM/components/Configuration/Configuration.js","views/CM/components/CellInfo/components/TechAddForm.js","views/CM/components/CellInfo/components/CellInfoForm.js","views/CM/components/CellInfo/CellInfo.js","views/CM/components/HuaweiRemoteAnalysis/components/HuaweiRemoteAnalysisForm.js","views/CM/components/HuaweiRemoteAnalysis/HuaweiRemoteAnalysis.js","views/IpAssignment/requests/ServiceIpAssignmentRequests.js","views/IpAssignment/components/ServiceIpAssignment/ServiceIpAssignment.js","views/IpAssignment/actions/ServiceIpAssignmentActions.js","views/IpAssignment/requests/TransportIpAssignmentRequests.js","views/IpAssignment/components/TransportIpAssignment/TransportIpAssignment.js","views/IpAssignment/actions/TransportIpAssignmentActions.js","views/IpAssignment/requests/RemoveEBandIpsRequests.js","views/IpAssignment/actions/RemoveEBandIpsActions.js","views/IpAssignment/components/RemoveEBandIps/RemoveEBandIps.js","views/IpAudits/requests/IpAuditsRequests.js","views/IpAudits/components/IpAudits/IpAudits.js","views/IpAudits/actions/IpAuditsActions.js","views/SmallCells/components/components/ReportAvailabilityForm.js","views/SmallCells/components/components/ReportSmallCellsImpactForm.js","views/SmallCells/components/components/ReportPPMForm.js","views/SmallCells/components/SmallCells.js","views/Scripts/components/Scf/components/ScfForm.js","views/Scripts/components/Scf/Scf.js","views/Downloads/Downloads.js","views/Acceptance/components/components/Report2CAForm.js","views/Acceptance/components/components/ReportNRForm.js","views/Acceptance/components/components/ReportNR7AssessmentForm.js","views/Acceptance/components/components/ReportSunsetForm.js","views/Acceptance/components/Report2CA.js","views/Acceptance/components/ReportNR.js","views/Acceptance/components/ReportNR7Assessment.js","views/RanRETAudit/components/RETAudit_FileUpload/RETFilesUploadHistory.js","views/RanRETAudit/components/RETAudit_FileUpload/RetAudit.js","views/RanRETAudit/components/RETAudit_FileUpload/RETCard.js","views/RanRETAudit/components/RETAudit_FileUpload/RETFilesUpload.js","views/IncidentTracker/components/IncidentTracker/components/IncidentCommentsTable.js","views/IncidentTracker/components/IncidentTracker/components/IncidentFilesTable.js","views/IncidentTracker/components/IncidentTracker/components/FileDropAndPrintZone.js","views/IncidentTracker/components/IncidentTracker/components/IncidentTrackerDialogForm.js","views/IncidentTracker/components/IncidentTracker/components/IncidentTrackerDialog.js","views/IncidentTracker/components/IncidentTracker/components/IncidentTrackerTable.js","views/IncidentTracker/components/IncidentTracker/IncidentTracker.js","views/IncidentTracker/components/IncidentTrackerConfiguration/components/IncidentTable.js","views/IncidentTracker/components/IncidentTrackerConfiguration/components/IncidentStatusTable.js","views/IncidentTracker/components/IncidentTrackerConfiguration/components/IncidentPriorityTable.js","views/IncidentTracker/components/IncidentTrackerConfiguration/components/IncidentGenericTypeTable.js","views/IncidentTracker/components/IncidentTrackerConfiguration/components/IncidentTypeTable.js","views/IncidentTracker/components/IncidentTrackerConfiguration/components/IncidentDetailedTypeTable.js","views/IncidentTracker/components/IncidentTrackerConfiguration/components/IncidentTechnologyTable.js","views/IncidentTracker/components/IncidentTrackerConfiguration/components/IncidentLayersTable.js","views/IncidentTracker/components/IncidentTrackerConfiguration/components/IncidentConfigurationDialog.js","views/IncidentTracker/components/IncidentTrackerConfiguration/components/IncidentConfigurationStatusForm.js","views/IncidentTracker/components/IncidentTrackerConfiguration/components/IncidentConfigurationPriorityForm.js","views/IncidentTracker/components/IncidentTrackerConfiguration/components/IncidentConfigurationGenericTypeForm.js","views/IncidentTracker/components/IncidentTrackerConfiguration/components/IncidentConfigurationDetailedTypeForm.js","views/IncidentTracker/components/IncidentTrackerConfiguration/components/IncidentConfigurationTechnologyForm.js","views/IncidentTracker/components/IncidentTrackerConfiguration/components/IncidentConfigurationTypeForm.js","views/IncidentTracker/components/IncidentTrackerConfiguration/components/IncidentConfigurationLayerForm.js","views/IncidentTracker/components/IncidentTrackerConfiguration/IncidentTrackerConfiguration.js","views/SiteTracker/components/SiteTracker/SiteTracker.js","views/SiteTracker/requests/SiteTrackerRequests.js","views/RANDumpExport/components/components/RANDumpExportForm.js","views/RANDumpExport/components/RANDumpExport.js","views/RanRETAudit/components/CPMDump/CPMDumpExportForm.js","views/RanRETAudit/requests/CPMDumpExportRequests.js","views/RanRETAudit/components/CPMDumpExport.js","views/RanRETAudit/components/GEOInputFile/GEOInputFileUpload.js","views/RanRETAudit/components/GEOInputFile.js","views/SiteAssessment7Days/components/components/SiteAssessment7DaysForm.js","views/SiteAssessment7Days/components/SiteAssessment7Days.js","views/TopOffenders/components/components/TopOffendersForm.js","views/TopOffenders/components/TopOffendersExport.js","views/TopOffendersCities/components/components/TopOffendersCitiesForm.js","views/TopOffendersCities/components/TopOffendersCitiesExport.js","views/RanReportRF/components/components/RanReportRFForm.js","views/RanReportRF/components/components/RanReportRFClusterForm.js","views/RanReportRF/components/RanReportRF.js","views/TopOffendersWorstSites/components/components/WorstSitesForm.js","views/TopOffendersWorstSites/components/components/WorstSitesCitiesForm.js","views/TopOffendersWorstSites/components/components/WorstSitesRegionForm.js","views/TopOffendersWorstSites/components/WorstSitesExport.js","views/CapacityPRBBlackList/components/components/CapacityPRBBlackListForm.js","views/CapacityPRBBlackList/components/CapacityPRBBlackListExport.js","views/TopOffendersWorstSites/components/WorstSitesCitiesExport.js","views/TopOffendersWorstSites/components/WorstSitesRegionExport.js","views/Scripts/components/BwUpdate/components/BwUpdateForm.js","views/Scripts/components/BwUpdate/BwUpdate.js","views/TopOffendersGenericReports/components/components/TopOffendersAggSiteForm.js","views/TopOffendersGenericReports/components/components/TopOffendersAggSubRegionForm.js","views/TopOffendersGenericReports/components/components/TopOffendersAggRegionForm.js","views/TopOffendersGenericReports/components/components/TopOffendersAggCityForm.js","views/TopOffendersGenericReports/components/TopOffendersAggSiteReport.js","views/Acceptance/components/components/ReportRFCountersForm.js","views/Acceptance/components/ReportRFCounters.js","views/TopOffendersGenericReports/components/TopOffendersAggSubRegionReport.js","views/TopOffendersGenericReports/components/TopOffendersAggRegionReport.js","views/TopOffendersGenericReports/components/TopOffendersAggCityReport.js","views/RFOPTTracker/components/components/IncidentTrackerDatatable.js","views/RFOPTTracker/components/components/IncidentTrackerDialog/components/components/IncidentTrackerComments.js","views/RFOPTTracker/components/components/IncidentTrackerDialog/components/IncidentTrackerDialogForm.js","views/RFOPTTracker/components/components/IncidentTrackerDialog/IncidentTrackerDialog.js","views/RFOPTTracker/components/components/IncidentTrackerDialog/IncidentTrackerDeleteDialog.js","views/RFOPTTracker/components/components/IncidentTrackerDialog/components/components/IncidentTrackerAddFileDialog.js","views/RFOPTTracker/components/components/IncidentTrackerDialog/components/components/IncidentTrackerDeleteFileDialog.js","views/RFOPTTracker/components/components/IncidentTrackerDialog/components/components/IncidentTrackerOptionsForm.js","views/RFOPTTracker/components/components/IncidentTrackerDialog/IncidentTrackerOptionsDialog.js","views/RFOPTTracker/components/IncidentTracker.js","views/Acceptance/components/ReportSunset.js","views/FocusOccasion/components/FocusOccasionCard.js","views/FocusOccasion/components/FocusOccasionUpload.js","views/AcceptanceManagement/components/components/ManagementForm.js","views/AcceptanceManagement/components/AcceptanceManagement.js","views/IncidentCellList/components/IncidentCellList/IncidentCellListUpload.js","views/IncidentCellList/components/IncidentCellList.js","routes.js","components/Notifier/Notifier.js","mixins/chartjs.js","mixins/moment.js","mixins/validate.js","utils/mock.js","mock/accountMock.js","mock/calendarMock.js","mock/chatMock.js","mock/customerMock.js","mock/mailMock.js","mock/projectMock.js","mock/socialFeedMock.js","mock/userMock.js","mock/invoiceMock.js","mock/kanbanMock.js","mock/taskMock.js","mock/orderMock.js","mock/dashboardMock.js","App.js","store/configureStore.js","serviceWorker.js","index.js","components/DataTable/DataTable.js","configuration/configuration.js","components/SelectField/SelectField.js","utils/AxiosRequest.js","components/AuthGuard/AuthGuard.js","utils/bytesToSize.js","components/Label/Label.js","components/TableauDashboard/TableauDashboard.js","components/DatePicker/DatePicker.js","components/Checkbox/Checkbox.js","utils/useRouter.js","utils/axios.js","actions/sessionActions.js","utils/gradients.js","actions/notifierActions.js"],"names":["useStyles","makeStyles","theme","root","content","display","alignItems","paper","flexGrow","padding","spacing","input","width","divider","height","fileInput","AddPost","props","className","rest","classes","fileInputRef","useRef","useState","value","setValue","session","useSelector","state","handleAttach","current","click","Card","clsx","CardContent","Paper","elevation","Input","disableUnderline","onChange","event","target","placeholder","user","first_name","Tooltip","title","IconButton","color","length","size","Divider","edge","onClick","ref","type","borderRadius","shape","default","backgroundColor","palette","primary","main","contrastText","success","colors","green","white","info","lightBlue","warning","orange","error","message","icon","fontSize","marginRight","action","marginLeft","paddingLeft","icons","Alert","forwardRef","variant","onClose","open","setOpen","Collapse","in","component","Typography","displayName","defaultProps","trimCode","codeLines","split","trim","shift","pop","indexOfFirstChar","search","output","forEach","line","index","substr","CodeBlock","async","source","language","Component","useEffect","Prism","maxWidth","position","bottom","right","margin","outline","zIndex","media","textAlign","actions","justifyContent","CookiesNotification","Cookies","get","Link","link","href","underline","Button","agreeButton","set","BootstrapDialog","AxiosRequest","method","url","config","API_URL","styled","Dialog","CustomizedDialogs","useDispatch","React","handleClose","DialogTitle","sx","m","p","id","top","grey","DialogContent","dividers","gutterBottom","DialogActions","autoFocus","dropZone","border","flexWrap","opacity","cursor","dragActive","image","marginTop","list","maxHeight","FilesDropzone","multiple","acceptedTypes","upload","maxSize","files","setFiles","handleDrop","useCallback","acceptedFiles","f","concat","useDropzone","accept","onDrop","getRootProps","getInputProps","isDragActive","alt","src","options","suppressScrollX","List","map","file","i","ListItem","ListItemIcon","ListItemText","name","primaryTypographyProps","secondary","bytesToSize","uuid","GenericMoreButton","moreRef","openMenu","setOpenMenu","Menu","anchorEl","anchorOrigin","vertical","horizontal","menu","transformOrigin","MenuItem","memo","process","REACT_APP_GA_MEASUREMENT_ID","typography","h1","marginBottom","h2","h3","h4","h5","h6","subtitle1","textDecoration","Markdown","highlightAll","CustomRouterLink","style","item","paddingTop","paddingBottom","itemLeaf","button","blueGrey","textTransform","letterSpacing","buttonLeaf","fontWeight","fontWeightRegular","fontWeightMedium","expandIcon","label","active","NavigationListItem","depth","children","Icon","openProp","Label","disableGutters","o","activeClassName","exact","window","to","NavigationList","pages","reduce","items","page","router","userRole","userProjects","roles","includes","projects","_","intersection","matchPath","location","pathname","path","push","Boolean","reduceChildRoutes","Navigation","useRouter","listItem","background","avatarBlue","backgroundImage","gradients","blue","avatarGreen","avatarOrange","avatarRed","red","arrowForwardIcon","NotificationList","notifications","dispatch","avatars","Avatar","disablePadding","notification","readed","NotificationMarkAsRead","ListItemAvatar","addedDate","backgroundPositionX","backgroundPositionY","backgroundRepeat","backgroundSize","EmptyList","NotificationsPopover","Popover","CardHeader","overflowY","CardActions","RouterLink","GA_MEASUREMENT_ID","Page","gtag","page_path","page_name","Helmet","listStyle","userSelect","activeLink","break","breakLink","disabled","next","nextLink","pageLink","text","previous","previousLink","Paginate","pageCount","pageRangeDisplayed","onPageChange","activeLinkClassName","breakClassName","breakLabel","breakLinkClassName","containerClassName","disabledClassName","marginPagesDisplayed","nextClassName","nextLabel","nextLinkClassName","pageClassName","pageLinkClassName","previousClassName","previousLabel","previousLinkClassName","subContainerClassName","bubble","header","time","CommentBubble","comment","author","avatar","moment","created_at","fromNow","CommentForm","likeButton","likedButton","shareButton","shareIcon","Reactions","post","liked","setLiked","likes","setLikes","l","subheader","accessTimeIcon","mediaArea","backgroundPosition","PostCard","disableTypography","CardActionArea","CardMedia","reactions","comments","product","overflow","transition","transitions","create","easing","sharp","duration","leavingScreen","transform","left","lineHeight","recommended","contact","startButton","PricingModal","align","subtitle","Grid","container","md","xs","description","tags","learnMoreButton","details","ProjectCard","project","getInitials","updated_at","colo","tag","price","starIcon","starFilledIcon","amber","starBorderIcon","ReviewStars","starCount","starNodes","key","starNode","useStyles1","inner","useStyles2","minWidth","activeButton","alpha","BLOCK_TYPES","blockType","tooltip","FormatQuoteIcon","FormatListBulletedIcon","FormatListNumberedIcon","CodeIcon","FormatAlignLeftIcon","FormatAlignCenterIcon","FormatAlignRightIcon","FormatAlignJustifyIcon","INLINE_STYLES","inlineStyle","FormatBoldIcon","FormatItalicIcon","FormatUnderlined","ButtonBase","BlockTypeButtons","editorState","onToggle","selection","getSelection","getCurrentContent","getBlockForKey","getStartKey","getType","blockData","getData","preventDefault","handleClick","InlineStyleButtons","currentStyle","getCurrentInlineStyle","has","EditorToolbar","newBlockRenderMap","Map","unstyled","element","paragraph","blockRenderMap","DefaultDraftBlockRenderMap","merge","editorContainer","minHeight","body2","body1","fontFamily","textAlignLeft","textAlignCenter","textAlignRight","textAlignJustify","RichEditor","editorRef","EditorState","createEmpty","setEditorState","handleEditorChange","es","newContentState","Modifier","setBlockData","newEditorState","RichUtils","toggleBlockType","toggleInlineStyle","focus","blockStyleFn","contentBlock","string","charAt","toUpperCase","slice","handleKeyCommand","command","newState","keyBindingFn","keyCode","getDefaultKeyBinding","onTab","spellCheck","ScrollReset","scrollTo","flexDirection","drawer","buttonIcon","contentSection","contentSectionHeader","contentSectionContent","formGroup","fieldGroup","field","addButton","minAmount","maxAmount","radioGroup","Filter","onFilter","initialValues","paymentStatus","amount","projectStatus","customerName","customerType","customerEmail","customerPhone","customerAge","expandProject","setExpandProject","expandCustomer","setExpandCustomer","values","setValues","handleFieldChange","Drawer","anchor","onSubmit","ep","TextField","fullWidth","select","SelectProps","native","option","newValues","addIcon","Chip","deleteIcon","onDelete","filter","t","handleTagDelete","Slider","max","min","valueLabelDisplay","RadioGroup","FormControlLabel","control","Radio","ec","ToggleButtonGroup","exclusive","ToggleButton","searchIcon","searchInput","searchButton","Search","onSearch","flexBasis","filterButton","filterIcon","SearchBar","openFilter","setOpenFilter","more","StackAvatars","limit","avatarNodes","flexShrink","small","medium","large","StatusBullet","rootClassName","TableEditBar","selected","onMarkPaid","onMarkUnpaid","PaperProps","Hidden","mdDown","backdrop","Loading","isLoading","Backdrop","CircularProgress","Header","module","view","withStyles","iconButton","selectedDate","handleDateChange","useSate","date","selectedStateDate","setSelectedDate","square","CalendarPicker","flex","FilePicker","inputFile","InputBase","inputProps","orientation","PowerBIDashboard","reportId","accessToken","embedConfig","embedUrl","tokenType","models","TokenType","Aad","settings","panes","filters","expanded","visible","BackgroundType","Default","cssClassName","getEmbeddedComponent","embeddedReport","report","FiltersDrawer","filterDisabled","onClear","replace","v","join","black","dark","light","A400","subtitle2","caption","overline","styleOverrides","deletable","colorPrimary","MuiButton","contained","boxShadow","MuiCardActions","MuiCardContent","MuiCardHeader","MuiChip","MuiIconButton","MuiInputBase","MuiLinearProgress","MuiListItemIcon","MuiOutlinedInput","notchedOutline","borderColor","MuiPaper","elevation1","MuiTableHead","MuiTableCell","borderBottom","MuiTableRow","MuiToggleButton","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","MuiTypography","createTheme","components","overrides","token","localStorage","getItem","TOKEN_KEY","initialState","loggedIn","loadingCount","downloads","downloadskey","decoded","jwt","currentDate","Date","getTime","exp","sessionReducer","actionTypes","role","defaultState","GetUsersRequest","params","GetRolesRequest","GetOperatorProjectsRequest","operatorIds","GetUserRequest","userId","ResendConfirmationEmailRequest","DeactivateUserRequest","DeleteUserRequest","GET_USERS","GET_USERS_STATS","TOGGLE_ADD_EDIT_USER_DIALOG","TOGGLE_DELETE_USER_DIALOG","GET_ROLES","GET_OPERATORS","GET_OPERATOR_PROJECTS","SET_FORM_STATE","GET_USER","GetUsers","a","then","response","data","users","catch","enqueueSnackbar","GetUsersStats","usersStats","ToggleAddEditUserDialog","openAddEditUserDialog","openAddEditUserDialogId","onToggleAddEditUserDialog","ToggleDeleteUserDialog","openDeleteUserDialog","openDeleteUserDialogId","onToggleDeleteUserDialog","SetFormState","formState","onSetFormState","operators","operatorProjects","isValid","touched","errors","usersReducer","GetOperatorRequest","operatorId","UpdateImageRequest","operator","DeleteProjectRequest","projectId","UpdateOperatorRequest","TOGGLE_ADD_OPERATOR_DIALOG","NAVIGATE_DETAILS","GET_OPERATOR","TOGGLE_ADD_PROJECT_DIALOG","GetOperators","ToggleAddOperatorDialog","openAddEditOperatorDialog","openAddOperatorDialog","NavigateDetails","detailsOperatorId","onNavigateDetails","GetOperator","UpdateImage","ToggleAddProjectDialog","openAddEditProjectDialog","openAddProjectDialog","operatorsReducer","GetOperatorsRequest","UpdateSettingsRequest","ChangePasswordRequest","DashboardInspectRequest","dashboardId","DASHBOARD_INSPECT","dashboard","reportsReducer","GenerateTemplateRequest","fileLocation","template","GenerateCellInfoRequest","GET_TEMPLATES","ProcessFile","DownloadFile","ProcessFileCellInfo","techAdd","cellInfo","templates","techAddReducer","GenerateReportRequest","siteList","username","GET_SITES","SET_SELECTED_SITES","GET_TRACKER_LAST_UPDATE","GetSites","sites","SetSelectedSites","selectedSites","GetTrackerLastUpdate","lastUpdate","GetTicketsRequest","close","activeStage","GetTicketRequest","ticketId","GetTeamsByTypeRequest","typeId","GetTypesRequest","activityId","GetActivitiesRequest","AddTicketRequest","ticket","AddCommentRequest","AddAttachedFileRequest","fileName","DeleteTicketRequest","DeleteAttachFileRequest","ticketFileId","GetStagesRequest","currentStageId","EditTicketRequest","TOGGLE_ADD_TICKET_DIALOG","TOGGLE_FILTERS","GET_TICKET","GET_TICKETS","GET_TEAMS_BY_TYPE","GET_ACTIVITIES","GET_TYPES","GET_STAGES","ToggleAddTicketDialog","openAddTicketDialog","onToggleAddTicketDialog","ToggleFilters","openFilters","onToggleFilters","GetTicket","GetTickets","tickets","GetTeamsByType","teams","GetTypes","types","GetActivities","activities","AddTicket","stages","subject","teamId","stageId","targetExecutionDate","history","attachedFiles","parseInt","ConfigurationNokiaExportRequest","ConfigurationHuaweiExportRequest","GET_DUMPS_UPDATE","ProcessNokiaFile","ProcessHuaweiFile","dumps","nokia","inputType","huawei","configurationReducer","dumpsUpdate","GenerateCellInfo","UploadFile","cellInfoReducer","GenerateHuaweiRemoteAnalysisRequest","ProcessFileHuaweiRemoteAnalysis","huaweiRemoteAnalysis","huaweiRemoteAnalysisReducer","siteId","reportType","reportVendor","activationDate","reportPPMranReducer","GenerateScfRequest","sowType","sowTechs","sowRmod","sran","sa","GET_SOW_TYPE","GET_SOW_TECHS","GET_SOW_RMOD","ProcessFileScf","scfReducer","Report2CAExportRequest","report2CAReducer","ReportAvailabitilyExportRequest","reportAvailabilityReducer","ReportSmallCellsImpactRequest","ReportSmallCellsImpactReducer","ReportNRExportRequest","reportNRReducer","ReportNR7AssessmentExportRequest","reportNR7AssessmentReducer","RETsExportRequest","RETEntireNetworkspExportRequest","LastDumpsUpdate","RETEnablingChecksReducer","RETFilesUploadRequest","filePath","userName","RET_ENABLING_CHECKS","UploadRETFiles","remove","RETFilesUploadReducer","GetAllDropdownsRequest","incidentId","GetProjectsDropdownRequest","GetSowDropdownRequest","GetLayersDropdownRequest","techs","GetTypeDropdownRequest","genericType","GetDetailedTypeDropdownRequest","GetIncidentBaseRequest","sow","CreateIncidentRequest","incidentForm","EditIncidentRequest","GetIncidentRequest","GetIncidentCommentsRequest","GetIncidentFilesRequest","GET_INCIDENT_TABLE","TOGGLE_INCIDENT_TRACKER_DIALOG","SET_CURRENT_QUEUE_DROPDOWN","GET_DROPDOWNS","GET_ALL_DROPDOWNS","GET_PROJECTS_DROPDOWN","GET_SOW_DROPDOWN","GET_LAYERS_DROPDOWN","GET_INCIDENT","GET_TYPE_DROPDOWN","GET_DETAILED_TYPE_DROPDOWN","GET_INCIDENT_COMMENTS","GET_INCIDENT_FILES","SET_FILES","SET_IMAGE","GetIncidentTable","incidentTable","ToggleIncidentTrackerDialog","incidentSubmitter","onToggleIncidentTrackerDialog","SetFiles","onSetFiles","SetImage","onSetImage","SetCurrentQueueDropdown","currentQueueDropdown","onSetCurrentQueueDropdown","GetProjectsDropdown","projectsDropdown","GetTypeDropdown","typeDropdown","onGetIncident","incident","CreateIncident","EditIncident","incidentTrackerDialogVisibility","selectedIncidentId","selectedIncidentSubmitter","dropdowns","sowDropdown","layersDropdown","detailedTypeDropdown","incidentComments","incidentFiles","submit","incidentTrackerReducer","allDropdowns","layers","detailedType","DeleteIncidentConfigurationRequest","configurationName","AddIncidentConfigurationRequest","UpdateIncidentConfigurationRequest","IsSafeToDeleteConfigurationRequest","GET_INCIDENT_CONFIGURATIONS","TOGGLE_INC_CONFIG_DIALOG","SELECT_INC_CONFIGURATION","GetIncidentConfigurations","incidentConfigurations","SelectIncidentConfiguration","selectedConfiguration","onSelectIncidentConfiguration","ToggleIncConfigDialog","mode","onToggleIncConfigDialog","category","incConfigDialogVisibility","incConfigDialogMode","incidentTrackerConfigurationReducer","siteTrackerReducer","CPM_ENABLING_CHECKS","CPMFilesUploadReducer","RANDumpExportRequest","reportDumpExportReducer","reportCPMDumpExportReducer","GEOInputUploadRequest","GEOInputExportRequest","GEOInputExport","GEOFilesUploadReducer","SiteAssessment7DaysRequest","SiteAssessmentReducer","TopOffendersPerformanceRequest","PerformanceReducer","TopOffendersCitiesPerformanceRequest","PerformanceCitiesReducer","RanReportRFRequest","RanReportRFClusterDailyRequest","RanReportRFClusterHourlyRequest","SET_FORM_STATE_CLUSTER","SetFormStateCluster","formStateCluster","onSetFormStateCluster","aggregation","ranReportRFReducer","TopOffendersWorstSitesRequest","WorstSitesReducer","TopOffendersWorstSitesRegionRequest","WorstSitesRegionReducer","CapacityPRBBlackListRequest","CapacityPRBBlackListReducers","TopOffendersWorstSitesCitiesRequest","WorstSitesCitiesReducer","GenerateBwUpdateRequest","ProcessFileBwUpdate","bwUpdate","bwUpdateReducer","TopOffendersAggSiteReportRequest","TopOffendersAggSiteReducer","TopOffendersAggSubRegionReportRequest","TopOffendersAggSubRegionReducer","TopOffendersAggRegionReportRequest","TopOffendersAggRegionReducer","TopOffendersAggCityReportRequest","TopOffendersAggCityReducer","GetIncidentsRequest","GetIncidentDetailsRequest","tableId","EditIncidentDetailsRequest","incidentTrackerDto","DeleteIncidentRequest","ExportIncidentsRequest","GetAutocompleteFieldsRequest","AddAttachmentRequest","tempFilePath","RemoveAttachmentRequest","GetCommentsRequest","trackerCommentDto","AddDropdownFieldRequest","relations","RemoveDropdownFieldRequest","RESET_FIELDS","GET_INCIDENT_TRACKER_TRACKER","GET_INCIDENT_TRACKER_TRACKER_DETAILS","GET_INCIDENT_TRACKER_TRACKER_DROPDOWNS","TOGGLE_DELETE_INCIDENT_TRACKER_DIALOG","GET_INCIDENT_TRACKER_AUTOCOMPLETE","TOGGLE_ATTACH_FILE_INCIDENT_TRACKER_DIALOG","TOGGLE_REMOVE_FILE_INCIDENT_TRACKER_DIALOG","TOGGLE_OPTIONS_INCIDENT_TRACKER_DIALOG","TOGGLE_OPTIONS_INCIDENT_TRACKER_FORM","GET_COMMENTS","ADD_DROPDOWN_FIELD","onAddDropdownField","newDropdownField","ResetFields","GetIncidents","incidents","GetIncidentDetails","incidentDetails","GetIncidentDropdowns","ToggleDeleteIncidentTrackerDialog","onToggleDeleteIncidentTrackerDialog","AddAttachment","ToggleAttachFileIncidentTrackerDialog","onToggleAttachFileIncidentTrackerDialog","ToggleRemoveFileIncidentTrackerDialog","onToggleRemoveFileIncidentTrackerDialog","ToggleOptionsIncidentTrackerDialog","onToggleOptionsIncidentTrackerDialog","ToggleOptionsIncidentTrackerForm","dropdownLabel","dropdownName","dropdownValue","dropdownId","onToggleOptionsIncidentTrackerForm","GetComments","IncidentTrackerDialogVisibility","deleteIncidentTrackerDialogVisibility","attachFileIncidentTrackerDialogVisibility","removeFileIncidentTrackerDialogVisibility","optionsIncidentTrackerDialogVisibility","optionsIncidentTrackerFormVisibility","undefined","autocompleteFields","inputFilePath","closedDate","ticketClosedFlag","disableModalSaveButton","incidentTrackerDemoReducer","drives","dates","ReportRFCountersRequest","reportRFCountersReducer","ReportSunsetExportRequest","reportSunsetReducer","FocusOccasionUploadRequest","DownloadTemplateRequest","UploadFocusOccasionFiles","FocusOccasionUploadReducer","GetTeamAssignRequest","GetTeamAssignDetailsRequest","SaveTeamAssignRequest","allocationUpdate","ResetTeamAssignRequest","SET_FORM_STATE_ERICSSON","SET_FORM_STATE_NOKIA","SET_FORM_STATE_VALUES","SetFormStateEricsson","formStateEricsson","onSetFormStateEricsson","SetFormStateNokia","formStateNokia","onSetFormStateNokia","GetTeamAssign","teamAssingValues","SET_DETAILS","GetTeamAssignDetails","teamDetails","managementReducer","IncidentCellListUploadRequest","IncidentCellListExportRequest","IncidentCellListExport","IncidentCellListReducer","rootReducer","combineReducers","notifierReducer","ENQUEUE_SNACKBAR","CLOSE_SNACKBAR","dismissAll","dismissed","REMOVE_SNACKBAR","settingsReducer","dashboardInspectReducer","ticketsReducer","RANDumpExportReducer","CPMUploadReducer","CPMDumpExportReducer","TopOffendersReducers","TopOffendersCitiesReducers","TopOffendersWorstSitesReducers","TopOffendersWorstSitesCitiesReducers","Topbar","AppBar","Toolbar","breakpoints","up","Auth","route","fallback","LinearProgress","renderRoutes","routes","Error","startSignalRConnection","connection","origin","start","err","NotificationHub","NotificationRecieved","Math","random","DownloadUpdate","urlRoot","connectionHub","HubConnectionBuilder","withUrl","build","on","onclose","setTimeout","stop","HomeIcon","AssignmentIcon","ManageSearchIcon","ShowChartIcon","DescriptionIcon","SettingsInputComponentIcon","AutoGraphIcon","DataThresholdingIcon","AssessmentOutlinedIcon","SsidChartIcon","PublicIcon","SignalCellularAltIcon","ConstructionIcon","AppRegistrationIcon","ContentPasteSearchIcon","DashboardIcon","CalendarMonthIcon","SupervisorAccountIcon","DesktopMacIcon","SettingsIcon","QueryStatsIcon","profile","navigation","NavBar","openMobile","onMobileClose","management","navigationConfig","find","hangfire","hangfireindex","findIndex","splice","managementIndex","navbarContent","firstname","lastname","lgUp","lgDown","searchPopper","appBar","searchPopperContent","trialButton","trialIcon","notificationsButton","notificationsBadge","logoutButton","logoutIcon","TopBar","onOpenNavBarMobile","notificationsRef","pricingModalOpen","setPricingModalOpen","openNotifications","setOpenNotifications","shallowEqual","Badge","badgeContent","badge","listItemText","lastActivity","whiteSpace","fab","topBar","navBar","Dashboard","openNavBarMobile","setOpenNavBarMobile","Chart","dataProp","useTheme","datasets","borderWidth","hoverBorderColor","labels","responsive","maintainAspectRatio","animation","cutoutPercentage","legend","layout","tooltips","enabled","intersect","caretSize","yPadding","xPadding","titleFontColor","bodyFontColor","footerFontColor","callbacks","tooltipItem","chartContainer","chart","statsContainer","statsItem","borderRight","EarningsSegmentation","earnings","setEarnings","mounted","axios","earning","thisYear","lastYear","cornerRadius","scales","xAxes","barThickness","maxBarThickness","barPercentage","categoryPercentage","gridLines","drawBorder","ticks","fontColor","yAxes","borderDash","borderDashOffset","zeroLineBorderDash","zeroLineBorderDashOffset","zeroLineColor","beginAtZero","maxTicksLimit","callback","yLabel","FinancialStats","calendarTodayIcon","subtract","startDate","setStartDate","endDate","setEndDate","selectEdge","setSelectEdge","calendarDate","setCalendarDate","handleCalendarOpen","lg","ButtonGroup","format","DatePicker","maxDate","onAccept","isAfter","isBefore","circle1","stroke","fill","strokeWidth","circle2","strokeDasharray","viewBox","d","subscriptions","conversion","conversionStats","MostProfitableProducts","products","setProducts","Table","TableBody","TableRow","hover","TableCell","currency","progress","down","valueContainer","Overview","sm","fontWeightBold","TopReferrals","referrals","setReferrals","referral","initials","CustomerActivity","customers","setCustomers","customer","progressContainer","labelColors","complete","pending","rejected","LatestOrders","orders","setOrders","suppressScrollY","TableHead","sortDirection","enterDelay","TableSortLabel","direction","order","totalCell","status","DashboardAnalytics","xl","startDateButton","endDateButton","LatestProjects","setProjects","NewProjects","RoiPerCustomer","critical","indicator","borderStyle","viewButton","TaskItem","task","deadline","now","deadlineMoment","diff","noWrap","members","TeamTasks","tasks","setTasks","TodaysMoney","SystemHealth","stacked","indigo","itemDivider","borderBottomColor","RealTime","setData","setInterval","newData","ceil","floor","subheaderTypographyProps","titleTypographyProps","views","canvas","gradient","getContext","createLinearGradient","addColorStop","pointBorderColor","pointBorderWidth","pointRadius","pointBackgroundColor","buttons","PerformanceOverTime","thisWeek","thisMonth","DashboardDefault","summaryButton","barChartIcon","titleWrapper","Statistics","statistics","setStatistics","payout","visitors","watching","Notifications","invite","ListItemSecondaryAction","arrowIcon","Projects","getLabel","todo","done","isSame","Todos","todos","setTodos","checked","handleChange","Home","containsString","some","toLowerCase","DialogContentText","statsInner","FAQ","faq","secondaryTypographyProps","mediaContainer","stats","enqueueSnackbarAction","closeSnackbarAction","closeSnackbar","PluginsSupport","SourceFiles","UserFlows","Presentation","nameCell","primaryButton","errorButton","UsersDataTable","_resendConfirmationEmail","ResendConfirmationEmail","_deactivateUser","DeactivateUser","_renderActions","tableMeta","rowData","DataTable","columns","viewColumns","filterType","customBodyRender","sortBy","val","sort","empty","updateValue","rowsPerPage","tableBodyMaxHeight","tableBodyCellMaxWidth","selectableRows","expandableRows","closeButton","MuiDialogContent","ModalDialog","cancelLabel","confirmLabel","hasConfirm","onConfirmClicked","isDisabled","modal","autoScrollBodyContent","dialogProps","disableEscapeKeyDown","schema","presence","allowEmpty","email","roleId","fields","submitButton","AddEditUserForm","isEdit","setFormState","hasOperatorIdsChanged","usePrevious","validate","hasError","helperText","SelectField","hintText","menuItems","isMultiSelect","projectIds","AddEditUserDialog","alignContent","applyButton","onApply","userData","CreateUser","DeleteUserDialog","Users","_addUser","online","client","registered","results","detailsButton","deleteButton","OperatorCard","deleteOperator","navigateDetails","gridList","AddOperatorForm","AddOperatorDialog","Operators","_addOperator","OperatorsList","saveButton","Details","UpdateOperator","textAlgin","removeButton","Picture","updateOperator","reader","FileReader","addEventListener","result","readAsDataURL","deliverables","ActionsButton","ProjectsDataTable","_deleteProject","DeleteProject","AddProjectForm","AddProjectDialog","projectList","tabs","alert","OperatorDetails","tab","setTab","Tabs","scrollButtons","Tab","userList","GeneralForm","getUserInfo","General","oldpassword","newpassword","confirmnewpassword","equality","Security","overview","productImage","notice","Settings","OptionsButton","exportPdf","fullScreen","DashboardInspect","match","handle","useFullScreenHandle","_getDashboard","_fullScreen","enter","ShowExportPDFDialog","TableauDashboard","serverId","ProcessFilesRequest","generate","SiteString","Uploads","Upload","reportTypes","SiteList","_checkWarning","site","scheduleStatus","isUndefined","commissioningDate","scheduleDate","_dateChange","newSite","findWhere","newSiteList","_checkboxChange","_getDefaultReportType","siteName","actionStatus","bis","_handleChange","onCheck","disableDDay","GenerateReport","syncTracker","Sync","card","DownloadListItem","finished","running","subPath","filename","toString","group","DownloadList","todayItems","yesterdayItems","olderItems","FetchDownloads","sitelist","Reports","filterOptions","createFilterOptions","Autocomplete","disableCloseOnSelect","getOptionLabel","renderInput","renderTags","getTagProps","renderOption","Checkbox","checkedIcon","selectedFile","selectedTemplates","TechAddForm","groupBy","u","cellInfoInput","CellInfoForm","TechAdd","TicketsDataTable","_delete","DeleteTicket","isEqual","DateTimePicker","minutesStep","onOpen","e","inputFormat","ampm","inputVariant","_useHasChanged","_usePrevious","hasActivityChanged","hasTypeChanged","newTouched","each","keys","fullMessages","_hasError","multiline","rows","AddTicketDialog","newTicket","AddTicketForm","Filters","Tickets","_addTicket","_handleFilterOpen","_getData","Comments","commentValue","setCommentValue","creationTimestamp","AddComment","DetailsForm","hasStageChanged","History","selectedIndex","setSelectedIndex","selectedRow","_onSelectRow","timestamp","alignSelf","stage","FilesDataTable","DeleteFile","wordBreak","fileId","attachedBy","pagination","Files","defaultAttachFolder","TicketDetails","_back","goBack","rets","checkboxList","within","ips","hwSw","ConfigurationNokiaForm","setExpanded","validators","attributes","allSites","Accordion","AccordionSummary","AccordionDetails","ConfigurationHuaweiForm","DumpsDataTable","Configuration","CellInfo","huaweiRemoteAnalysisInput","HuaweiRemoteAnalysisForm","HuaweiRemoteAnalysis","GetServiceIpAssignmentRequest","cellList","AddCellRequest","cellId","region","vendor","popover","pointerEvents","ServiceIpAssignment","setCells","setCellId","setRegion","setVendor","GetServiceIpAssignment","AddCell","GetTacticalAssignmentRequest","hubList","GetStrategicAssignmentRequest","TransportIpAssignment","tacticalHubs","setTacticalHubs","strategicHubs","setStrategicHubs","RemoveEBandIpsRequest","GetRemoveEBandIps","RemoveEBandIps","RunRemoveEBandIps","GetIpInefficientUseRequest","ReportAvailabilityForm","macroCells","smallCells","pre","ReportSmallCellsImpactForm","_handleDateChange","sitePPM","reportTypePPM","startDatePPM","reportVendorPPM","ReportPPMForm","_handleChangePPM","_handleDateChangePPM","SmallCells","scfInput","selectedSowType","selectedSowTechs","ScfForm","_handleCheckboxChange","groupNames","doesNotIncludePlus","x","isNotEmpty","groupName","Number","b","doesNotIncludeRadioNR700","doesNotIncludeRadioL800","doesNotIncludeRadioNR1800","doesNotIncludeRadioNR2100L2100","doesNotIncludeRadioNR2600","selectedSowRmod","GenerateScf","fileInfo","fileformat","Scf","setAnchorEl","_handlePopoverClose","onMouseOver","currentTarget","onMouseLeave","disableRestoreFocus","row","scope","Downloads","reportDate","Report2CAForm","ReportNRForm","Sites","Start_Period","End_Period","ReportNR7AssessmentForm","tech","ReportSunsetForm","Report2CA","ReportNR","ReportNR7Assessment","RETFilesHistoryDataTable","RETEnablingChecks","MediaCard","RETFilesUpload","RunFileUpload","IncidentCommentsTable","TableContainer","IncidentFilesTable","getFileIcon","getFileNameWithExtension","parts","fileRender","extension","document","createElement","textContent","body","appendChild","img","openFileInNewTab","FileDropAndPrintZone","firstDivRef","secondDivRef","setImage","fileList","setFileList","useMemo","firstDivHeight","clientHeight","printImg","setPrintImg","onPaste","clipboardData","originalEvent","blob","indexOf","getAsFile","onload","eventer","hidden","priority","technologies","currentQueue","needsRevisit","handoverBlocking","accordion","noBorder","IncidentTrackerDialogForm","submitter","submitterName","yesNoDropdown","_handleAccordionChange","panel","isExpanded","GetIncident","GetAllDropdowns","GetIncidentComments","GetIncidentFiles","setCurrentQueueDropdown","partner","defaultValue","InputLabelProps","shrink","InputProps","startAdornment","InputAdornment","incidentNumber","taskNumber","observations","Stack","siteTrackerPRef","bo","IncidentTrackerDialog","uploadFiles","UploadMultipleFiles","UploadFilesAndCreateIncident","UploadFilesAndEditIncident","editingUser","infoButton","IncidentTrackerTable","_onEditIncidentClick","customFilterListOptions","render","IncidentTracker","reason","IncidentTable","identifier","customColumns","onDeleteClick","onEditClick","print","download","IncidentStatusTable","_incConfigDialogOpen","IncidentPriorityTable","IncidentGenericTypeTable","IncidentTypeTable","IncidentDetailedTypeTable","IncidentTechnologyTable","technology","IncidentLayersTable","layer","IncidentConfigurationDialog","AddIncidentConfiguration","isSafe","IncidentConfigurationStatusForm","defaultConfig","setStatus","updateFormState","IncidentConfigurationPriorityForm","setPriority","IncidentConfigurationGenericTypeForm","setGenericType","IncidentConfigurationDetailedTypeForm","genericTypes","NaN","selectedGenericType","setSelectedGenericType","selectedType","setSelectedType","setDetailedType","isNaN","genericTypeId","genericTypeName","genType","_getGenericTypeId","typeName","_getTypeId","dependencyId","IncidentConfigurationTechnologyForm","setTechnology","IncidentConfigurationTypeForm","setType","formControlStyle","IncidentConfigurationLayerForm","technologyName","_getTechnologyId","selectedTechnology","setSelectedTechnology","setLayer","configs","level","IncidentTrackerConfiguration","selectedConfigCategory","setSelectedConfigCategory","selectedConfigCategoryLabel","setSelectedConfigCategoryLabel","_handleSelectedConfigChange","conf","ListItemButton","pl","configuration","categoryLabel","pr","AddCircleOutlineRounded","priorities","detailedTypes","SiteTracker","reportTech","RANDumpExportForm","DumpExport","CPMDumpExportForm","Values","UserId","GEOInput","response2","GEOInputUpload","GEOFiles","bands","periodDays","SiteAssessment7DaysForm","SiteAssessmentExport","subRegion","SubRegions","TopOffendersForm","cities","TopOffendersCitiesForm","RanReportRFForm","maximum","numericality","greaterThanOrEqualTo","lessThanOrEqualTo","RanReportRFClusterForm","setFormStateCluster","RanReportRFClusterHourly","ReportRFExport","handlePopoverOpen","handlePopoverClose","TopOffendersWorstForm","topSites","city","TopOffendersWorstCitiesForm","regions","TopOffendersWorstRegionForm","WorstSitesExport","WorstSitesForm","days","Occorrencyvalue","CapacityPRBBlackListForm","CapacityPRBBlackListExport","WorstSitesCitiesExport","WorstSitesRegionExport","bwUpdateInput","BwUpdateForm","BwUpdate","Site","StartDate","EndDate","TopOffendersAggSiteForm","TopOffendersAggSubRegionForm","TopOffendersAggRegionForm","TopOffendersAggCityForm","TopOffendersAggSite","ReportRFCountersForm","ReportRFCounters","TopOffendersAggSubRegion","TopOffendersAggRegion","TopOffendersAggCity","IncidentTrackerDatatable","IncidentTrackerComments","persist","levelOne","levelTwo","levelThree","solutionType","reportDateYear","reportDateWeek","_handleChangeLevels","levelsTwo","levelsRelation","levelOneId","levelTwoId","levelTwoName","levelsThree","levelThreeId","levelThreeName","incNumber","creationDate","cfnOwner","incidentDuration","selectedDates","selectedFailures","object","IncidentTrackerDeleteDialog","DeleteIncident","IncidentTrackerAddFileDialog","UploadAttachment","hasAttachment","IncidentTrackerDeleteFileDialog","RemoveAttachment","IncidentTrackerOptionsForm","dropdownValueAdded","setdropdownValueAdded","_handleClose","Box","noValidate","autoComplete","AddDropdownField","RemoveDropdownField","IncidentTrackerOptionsDialog","_handleChangeDropDown","_addField","_deleteField","_onCreateSiteIncidentClick","_onExportIncidentsClick","ExportIncidents","_handleSpeedDialClick","SpeedDial","ariaLabel","SpeedDialIcon","SpeedDialAction","tooltipTitle","ReportSunset","FocusOccasionFilesUpload","save","reset","monday","pattern","tuesday","wednesday","thursday","friday","disableThisDay","day","userAllowed","currentDay","AcceptanceManagementForm","setFormStateNokia","setFormStateEricsson","_hasErrorNokia","_hasErrorEricsson","errorsNokia","errorsEricsson","_handleChangeNokia","_handleChangeEricsson","year","week","totalOfEngineers","statusText","ResetAllocation","Ericsson","Nokia","_formStateEricsson","_formStateNokia","weekDays","checkValues","dia","ericssonDayValue","nokiaDayValue","newTotal","parseFloat","allocationPerDayIsValid","SaveAllocation","errorMessage","AcceptanceManagement","ManagementForm","IncidentCellList","IncidentCellListUpload","AuthGuard","DashboardLayout","IncidentTrackerDemo","PerformanceMonitoring","TopOffendersWorstSites","PerformanceMonitoringCities","CapacityPRBBlackList","TopOffendersWorstSitesCities","TopOffendersWorstSitesRegion","RANDumpExport","FocusOccasionEventsUpload","CPMDumpExport","IpAudits","AuthLayout","lazy","ErrorLayout","DashboardAnalyticsView","DashboardDefaultView","OverviewView","PresentationView","displayed","Notifier","store","useSnackbar","myKey","onExited","removeSnackbar","helpers","extend","elements","Rectangle","prototype","draw","signX","signY","borderSkipped","radius","ctx","this","_chart","vm","_view","base","y","barSize","abs","halfStroke","borderLeft","borderTop","beginPath","fillStyle","strokeStyle","lineWidth","corners","startCorner","cornerAt","corner","moveTo","nextCornerId","xTl","xTr","yTl","yTr","xBl","xBr","yBl","yBr","lineTo","quadraticCurveTo","updateLocale","relativeTime","future","past","s","ss","mm","h","hh","dd","M","MM","yy","regex","RegExp","test","instance","AxiosMockAdapter","delayResponse","mock","onGet","reply","canHire","country","firstName","isPublic","lastName","phone","timezone","add","subscription","proposalsLeft","templatesLeft","invitesLeft","adsLeft","hasAnalytics","hasEmailAlerts","draft","events","desc","end","allDay","conversations","otherUser","messages","sender","authUser","contentType","unread","groups","connections","spent","rating","summary","zipCode","address1","address2","iban","autoCC","verified","invoices","vat","balance","emails","paymentMethod","logs","IP","seen","favorited","receiver","start_date","end_date","bio","brief","mimeType","subject_type","action_type","action_desc","subscribers","cover","common_connections","posts","reviews","reviewer","pricePerHour","hours","common","invoice","due_date","issue_date","company","nzbn","address","subtotal","taxes","total","lists","payment","promoCode","cuantity","billing","cyan","createBrowserHistory","basename","preloadedState","middlewares","thunkMiddleware","middlewareEnhancer","composeWithDevTools","applyMiddleware","enhancers","composedEnhancers","compose","createStore","configureStore","interceptor","App","StyledEngineProvider","injectFirst","ThemeProvider","maxSnack","autoHideDuration","LocalizationProvider","dateAdapter","DateAdapter","hostname","ReactDOM","getElementById","navigator","serviceWorker","ready","registration","unregister","showDownload","showPrint","outerTheme","actionColumnWidth","adaptV4Theme","MUIDataTable","MUIDataTableHead","MUIDataTableHeadCell","MUIDataTableHeadRow","MUIDataTableBody","MUIDataTableBodyRow","MUIDataTablePagination","MUIDataTableViewCol","MUIDataTableSearch","MUIDataTableToolbar","MUIDataTableFilter","MUIDataTableFilterList","getMuiTheme","rowsPerPageOptions","onRowSelectionChange","currentRowsSelected","allRowsSelected","rowsSelected","onRowSelection","dt","chips","chip","customRenderValue","setLabelWidth","InputLabelRef","offsetWidth","htmlFor","renderValue","interceptors","request","use","headers","Authorization","hasLoading","SetLoading","Promise","reject","statusCode","RedirectToError","errorObject","isString","propTypes","PropTypes","node","array","isRequired","bytes","decimals","k","dm","sizes","log","pow","toFixed","rounded","finalStyle","viz","showExportPDFDialog","dispose","containerDiv","hideToolbar","onFirstVizSizeKnown","innerHeight","setAttribute","tableau","Viz","_initViz","emptyLabel","MaterialCheckbox","labelPlacement","labelStyle","muiName","useContext","__RouterContext","SESSION_LOGIN","SESSION_LOGOUT","SET_NOTIFICATIONS","USER_INFO","SET_LOADING","REDIRECT_TO_ERROR","SET_DOWNLOADS","onLogin","onRedirectToError","login","password","setItem","logout","removeItem","recover","CompleteRegistration","rpassword","ResetPassword","FetchNotifications","formData","FormData","append","ShowFile","decodeURIComponent","newBlob","Blob","msSaveOrOpenBlob","URL","createObjectURL","removeChild","revokeObjectURL","responseType","buildGradient"],"mappings":"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","file":"static/js/main.a9cc9aad.chunk.js","sourcesContent":["import React, { useState, useRef } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tCardContent,\r\n\tDivider,\r\n\tIconButton,\r\n\tInput,\r\n\tPaper,\r\n\tTooltip,\r\n} from '@mui/material';\r\nimport SendIcon from '@mui/icons-material/Send';\r\nimport AddPhotoIcon from '@mui/icons-material/AddPhotoAlternate';\r\nimport AttachFileIcon from '@mui/icons-material/AttachFile';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tpaper: {\r\n\t\tflexGrow: 1,\r\n\t\tpadding: theme.spacing(0.5, 2),\r\n\t},\r\n\tinput: {\r\n\t\twidth: '100%',\r\n\t},\r\n\tdivider: {\r\n\t\twidth: 1,\r\n\t\theight: 24,\r\n\t},\r\n\tfileInput: {\r\n\t\tdisplay: 'none',\r\n\t},\r\n}));\r\n\r\nconst AddPost = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst fileInputRef = useRef(null);\r\n\tconst [value, setValue] = useState('');\r\n\tconst session = useSelector((state) => state.session);\r\n\r\n\tconst handleChange = (event) => {\r\n\t\tsetValue(event.target.value);\r\n\t};\r\n\r\n\tconst handleAttach = () => {\r\n\t\tfileInputRef.current.click();\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t 0 ? 'primary' : 'default'} size=\"large\">\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nAddPost.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default AddPost;\r\n","import React, { forwardRef, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Paper, IconButton, Typography, Collapse, colors } from '@mui/material';\r\nimport CheckCircleIcon from '@mui/icons-material/CheckCircleOutlined';\r\nimport CloseIcon from '@mui/icons-material/CloseOutlined';\r\nimport ErrorIcon from '@mui/icons-material/ErrorOutlined';\r\nimport InfoIcon from '@mui/icons-material/InfoOutlined';\r\nimport WarningIcon from '@mui/icons-material/WarningOutlined';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tpadding: '6px 16px',\r\n\t\tborderRadius: theme.shape.borderRadius,\r\n\t},\r\n\tdefault: {\r\n\t\tbackgroundColor: theme.palette.primary.main,\r\n\t\tcolor: theme.palette.primary.contrastText,\r\n\t},\r\n\tsuccess: {\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\tcolor: theme.palette.white,\r\n\t},\r\n\tinfo: {\r\n\t\tbackgroundColor: colors.lightBlue[600],\r\n\t\tcolor: theme.palette.white,\r\n\t},\r\n\twarning: {\r\n\t\tbackgroundColor: colors.orange[900],\r\n\t\tcolor: theme.palette.white,\r\n\t},\r\n\terror: {\r\n\t\tbackgroundColor: theme.palette.error.main,\r\n\t\tcolor: theme.palette.error.contrastText,\r\n\t},\r\n\tmessage: {\r\n\t\tflexGrow: 1,\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tpadding: '8px 0',\r\n\t},\r\n\ticon: {\r\n\t\tfontSize: 20,\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\taction: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tmarginLeft: 'auto',\r\n\t\tpaddingLeft: 16,\r\n\t\tmarginRight: -8,\r\n\t},\r\n}));\r\n\r\nconst icons = {\r\n\tdefault: ,\r\n\tsuccess: ,\r\n\tinfo: ,\r\n\twarning: ,\r\n\terror: ,\r\n};\r\n\r\nconst Alert = forwardRef((props, ref) => {\r\n\tconst { className, icon, variant, message, onClose, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst [open, setOpen] = useState(true);\r\n\r\n\tconst _onClose = () => {\r\n\t\tsetOpen(false);\r\n\t\tonClose(false);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{icon || icons[variant]}\r\n\t\t\t\t
{message}
\r\n\t\t\t\t{onClose && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n});\r\n\r\nAlert.displayName = 'Alert';\r\n\r\nAlert.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\ticon: PropTypes.node,\r\n\tmessage: PropTypes.string.isRequired,\r\n\tonClose: PropTypes.func,\r\n\tvariant: PropTypes.oneOf([\r\n\t\t'default',\r\n\t\t'info',\r\n\t\t'success',\r\n\t\t'warning',\r\n\t\t'error',\r\n\t]),\r\n};\r\n\r\nAlert.defaultProps = {\r\n\tvariant: 'default',\r\n};\r\n\r\nexport default Alert;\r\n","import React, { useEffect, useRef } from 'react';\r\nimport * as Prism from 'prismjs';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport makeStyles from '@mui/styles/makeStyles';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n\troot: {},\r\n}));\r\n\r\nconst trimCode = (input) => {\r\n\tconst codeLines = input.split('\\n');\r\n\r\n\tif (!codeLines[0].trim()) {\r\n\t\tcodeLines.shift();\r\n\t}\r\n\r\n\tif (!codeLines[codeLines.length - 1].trim()) {\r\n\t\tcodeLines.pop();\r\n\t}\r\n\r\n\tconst indexOfFirstChar = codeLines[0].search(/\\S|$/);\r\n\r\n\tlet output = '';\r\n\r\n\tcodeLines.forEach((line, index) => {\r\n\t\toutput += line.substr(indexOfFirstChar, line.length);\r\n\r\n\t\tif (index !== codeLines.length - 1) {\r\n\t\t\toutput = `${output}\\n`;\r\n\t\t}\r\n\t});\r\n\r\n\treturn output;\r\n};\r\n\r\nconst CodeBlock = (props) => {\r\n\tconst {\r\n\t\tasync,\r\n\t\tsource,\r\n\t\tlanguage,\r\n\t\tclassName,\r\n\t\tcomponent: Component,\r\n\t\t...rest\r\n\t} = props;\r\n\r\n\tconst ref = useRef(null);\r\n\tconst classes = useStyles();\r\n\r\n\tuseEffect(() => {\r\n\t\tconst highlight = () => {\r\n\t\t\tPrism.highlightElement(ref.current, async);\r\n\t\t};\r\n\r\n\t\thighlight();\r\n\t});\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t{trimCode(source)}\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nCodeBlock.propTypes = {\r\n\tasync: PropTypes.bool,\r\n\tclassName: PropTypes.string,\r\n\tcomponent: PropTypes.node,\r\n\tlanguage: PropTypes.string.isRequired,\r\n\tsource: PropTypes.string.isRequired,\r\n};\r\n\r\nCodeBlock.defaultProps = {\r\n\tcomponent: 'code',\r\n};\r\n\r\nexport default CodeBlock;\r\n","import React, { useState, useEffect } from 'react';\r\nimport Cookies from 'js-cookie';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Paper, Typography, Link, Button } from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmaxWidth: 420,\r\n\t\tposition: 'fixed',\r\n\t\tbottom: 0,\r\n\t\tright: 0,\r\n\t\tmargin: theme.spacing(3),\r\n\t\toutline: 'none',\r\n\t\tzIndex: 2000,\r\n\t},\r\n\tmedia: {\r\n\t\tpadding: theme.spacing(1, 2),\r\n\t\theight: 180,\r\n\t\ttextAlign: 'center',\r\n\t\t'& > img': {\r\n\t\t\theight: '100%',\r\n\t\t\twidth: 'auto',\r\n\t\t},\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: theme.spacing(1, 2),\r\n\t},\r\n\tactions: {\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'flex-end',\r\n\t\tpadding: theme.spacing(1, 2, 2, 1),\r\n\t},\r\n}));\r\n\r\nconst CookiesNotification = () => {\r\n\tconst classes = useStyles();\r\n\r\n\tconst [open, setOpen] = useState(false);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst consent = Cookies.get('consent');\r\n\r\n\t\tif (!consent) {\r\n\t\t\tsetOpen(true);\r\n\t\t}\r\n\t}, []);\r\n\r\n\tconst handleClose = () => {\r\n\t\tCookies.set('consent', 'true');\r\n\t\tsetOpen(false);\r\n\t};\r\n\r\n\tif (!open) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{/*
\r\n\t\t\t\t\"Cookies\"\r\n\t\t\t
*/}\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tWe use Cookies to ensure that we give you the best\r\n\t\t\t\t\texperience on our website. Read our\r\n\t\t\t\t\t{' '}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tPrivacy Policy\r\n\t\t\t\t\t\r\n\t\t\t\t\t.\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tI Agree\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default CookiesNotification;\r\n","/* eslint-disable react/jsx-indent */\r\n/* eslint-disable brace-style */\r\n/* eslint-disable keyword-spacing */\r\n/* eslint-disable no-trailing-spaces */\r\nimport React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Button from '@mui/material/Button';\r\nimport { styled } from '@mui/material/styles';\r\nimport Dialog from '@mui/material/Dialog';\r\nimport DialogTitle from '@mui/material/DialogTitle';\r\nimport DialogContent from '@mui/material/DialogContent';\r\nimport DialogActions from '@mui/material/DialogActions';\r\nimport IconButton from '@mui/material/IconButton';\r\nimport CloseIcon from '@mui/icons-material/Close';\r\nimport Typography from '@mui/material/Typography';\r\nimport { GetCustomizedDialogs } from '../../actions/CustomizeDialogsActions';\r\n\r\nconst BootstrapDialog = styled(Dialog)(({ theme }) => ({\r\n\t'& .MuiDialogContent-root': {\r\n\t\tpadding: theme.spacing(2),\r\n\t},\r\n\t'& .MuiDialogActions-root': {\r\n\t\tpadding: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nexport default function CustomizedDialogs() {\r\n\tconst dispatch = useDispatch();\r\n\tconst [open, setOpen] = React.useState(false);\r\n\r\n\tconst handleClickOpen = () => {\r\n\t\t// const list = dispatch(GetCustomizedDialogs());\r\n\t\tconst z = 2;\r\n\t\tconst y = 3;\r\n\r\n\t\tif (z > y) {\r\n\t\t\tsetOpen(true);\r\n\t\t}\r\n\t\telse{\r\n\t\t\tsetOpen(false);\r\n\t\t}\t\t\r\n\t};\r\n\tfunction handleClose() {\r\n\t\tsetOpen(false);\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\thandleClickOpen();\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tInformation\r\n\t\t\t\t\r\n\t\t\t\t theme.palette.grey[500],\r\n\t\t\t\t\t}}\r\n\t\t\t\t>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tCras mattis consectetur purus sit amet fermentum. Cras justo odio,\r\n\t\t\t\t\t\tdapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac\r\n\t\t\t\t\t\tconsectetur ac, vestibulum at eros.\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tPraesent commodo cursus magna, vel scelerisque nisl consectetur et.\r\n\t\t\t\t\t\tVivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tAenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus\r\n\t\t\t\t\t\tmagna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec\r\n\t\t\t\t\t\tullamcorper nulla non metus auctor fringilla.\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GetCustomizedDialogsRequests = AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}CustomizedDialogs/GetCustomizedDialogs`,\r\n});\r\n","import React, { Fragment, useState, useCallback } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport uuid from 'uuid/v1';\r\nimport { useDropzone } from 'react-dropzone';\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tIconButton,\r\n\tLink,\r\n\tList,\r\n\tListItem,\r\n\tListItemIcon,\r\n\tListItemText,\r\n\tTypography,\r\n\tTooltip,\r\n\tcolors,\r\n} from '@mui/material';\r\nimport FileCopyIcon from '@mui/icons-material/FileCopy';\r\nimport MoreIcon from '@mui/icons-material/MoreVert';\r\n\r\nimport bytesToSize from 'utils/bytesToSize';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tdropZone: {\r\n\t\tborder: `1px dashed ${theme.palette.divider}`,\r\n\t\tpadding: theme.spacing(6),\r\n\t\toutline: 'none',\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'center',\r\n\t\tflexWrap: 'wrap',\r\n\t\talignItems: 'center',\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.grey[50],\r\n\t\t\topacity: 0.5,\r\n\t\t\tcursor: 'pointer',\r\n\t\t},\r\n\t},\r\n\tdragActive: {\r\n\t\tbackgroundColor: colors.grey[50],\r\n\t\topacity: 0.5,\r\n\t},\r\n\timage: {\r\n\t\twidth: 130,\r\n\t},\r\n\tinfo: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\tlist: {\r\n\t\tmaxHeight: 320,\r\n\t},\r\n\tactions: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'flex-end',\r\n\t\t'& > * + *': {\r\n\t\t\tmarginLeft: theme.spacing(2),\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst FilesDropzone = (props) => {\r\n\tconst { multiple, acceptedTypes, upload, maxSize, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst [files, setFiles] = useState([]);\r\n\r\n\tconst handleDrop = useCallback((acceptedFiles) => {\r\n\t\tif (multiple) {\r\n\t\t\tsetFiles((f) => [...f].concat(acceptedFiles));\r\n\t\t} else {\r\n\t\t\tsetFiles([...acceptedFiles]);\r\n\t\t}\r\n\t}, []);\r\n\r\n\tconst handleRemoveAll = () => {\r\n\t\tsetFiles([]);\r\n\t};\r\n\r\n\tconst { getRootProps, getInputProps, isDragActive } = useDropzone({\r\n\t\tmultiple,\r\n\t\taccept: acceptedTypes,\r\n\t\tmaxSize,\r\n\t\tonDrop: handleDrop,\r\n\t});\r\n\r\n\tconst _upload = () => {\r\n\t\tif (upload) {\r\n\t\t\tupload(files);\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tSelect files\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tDrop files here or click\r\n\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\tbrowse\r\n\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\tthorough your\r\n\t\t\t\t\t\tmachine\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t{files.length > 0 && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{files.map((file, i) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{/* \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tUpload\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nFilesDropzone.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tmultiple: PropTypes.bool,\r\n\tacceptedTypes: PropTypes.string,\r\n\tmaxSize: PropTypes.number,\r\n\tupload: PropTypes.func\r\n};\r\n\r\nexport default FilesDropzone;\r\n","import React, { Fragment, useRef, useState, memo } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tListItemIcon,\r\n\tListItemText,\r\n\tTooltip,\r\n\tIconButton,\r\n\tMenu,\r\n\tMenuItem,\r\n} from '@mui/material';\r\nimport MoreIcon from '@mui/icons-material/MoreVert';\r\nimport GetAppIcon from '@mui/icons-material/GetApp';\r\nimport FileCopyIcon from '@mui/icons-material/FileCopy';\r\nimport PrintIcon from '@mui/icons-material/Print';\r\nimport PictureAsPdfIcon from '@mui/icons-material/PictureAsPdf';\r\nimport AchiveIcon from '@mui/icons-material/ArchiveOutlined';\r\n\r\nconst useStyles = makeStyles(() => ({}));\r\n\r\nconst GenericMoreButton = (props) => {\r\n\tconst classes = useStyles();\r\n\tconst moreRef = useRef(null);\r\n\tconst [openMenu, setOpenMenu] = useState(false);\r\n\r\n\tconst handleMenuOpen = () => {\r\n\t\tsetOpenMenu(true);\r\n\t};\r\n\r\n\tconst handleMenuClose = () => {\r\n\t\tsetOpenMenu(false);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nGenericMoreButton.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default memo(GenericMoreButton);\r\n","/* eslint-disable react/no-danger */\r\nimport React from 'react';\r\nimport { Helmet } from 'react-helmet';\r\n\r\n// eslint-disable-next-line no-undef\r\nconst GA_MEASUREMENT_ID = process.env.REACT_APP_GA_MEASUREMENT_ID;\r\n\r\nconst GoogleAnalytics = () => (\r\n\t\r\n\t\t\r\n\t\t\r\n\t\r\n);\r\n\r\nexport default GoogleAnalytics;\r\n","import React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport Prism from 'prismjs';\r\nimport ReactMarkdown from 'react-markdown/with-html';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { colors } from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\t'& h1': {\r\n\t\t\t...theme.typography.h1,\r\n\t\t\tmarginBottom: theme.spacing(1),\r\n\t\t},\r\n\t\t'& h2': {\r\n\t\t\t...theme.typography.h2,\r\n\t\t\tmarginBottom: theme.spacing(1),\r\n\t\t},\r\n\t\t'& h3': {\r\n\t\t\t...theme.typography.h3,\r\n\t\t\tmarginBottom: theme.spacing(1),\r\n\t\t},\r\n\t\t'& h4': {\r\n\t\t\t...theme.typography.h4,\r\n\t\t\tmarginBottom: theme.spacing(1),\r\n\t\t},\r\n\t\t'& h5': {\r\n\t\t\t...theme.typography.h5,\r\n\t\t\tmarginBottom: theme.spacing(1),\r\n\t\t},\r\n\t\t'& h6': {\r\n\t\t\t...theme.typography.h6,\r\n\t\t\tmarginBottom: theme.spacing(1),\r\n\t\t},\r\n\t\t'& p': {\r\n\t\t\t...theme.typography.subtitle1,\r\n\t\t\tmarginBottom: theme.spacing(2),\r\n\t\t},\r\n\t\t'& ul': {\r\n\t\t\tmarginLeft: theme.spacing(3),\r\n\t\t\tmarginBottom: theme.spacing(2),\r\n\t\t},\r\n\t\t'& ol': {\r\n\t\t\tmarginLeft: theme.spacing(3),\r\n\t\t\tmarginBottom: theme.spacing(2),\r\n\t\t},\r\n\t\t'& li': {\r\n\t\t\t...theme.typography.subtitle1,\r\n\t\t\tmarginBottom: theme.spacing(1),\r\n\t\t},\r\n\t\t'& hr': {\r\n\t\t\tmarginTop: theme.spacing(3),\r\n\t\t\tmarginBottom: theme.spacing(3),\r\n\t\t\tbackgroundColor: colors.grey[300],\r\n\t\t\tborder: 0,\r\n\t\t\theight: 1,\r\n\t\t},\r\n\t\t'& a': {\r\n\t\t\tcolor: theme.palette.link,\r\n\t\t\t'&:hover': {\r\n\t\t\t\ttextDecoration: 'underline',\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Markdown = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tuseEffect(() => {\r\n\t\tPrism.highlightAll();\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nMarkdown.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default Markdown;\r\n","/* eslint-disable react/display-name */\r\nimport React, { useState, forwardRef } from 'react';\r\nimport { NavLink as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { ListItem, Button, Collapse, colors } from '@mui/material';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\nimport ExpandLessIcon from '@mui/icons-material/ExpandLess';\r\n\r\nconst CustomRouterLink = forwardRef((props, ref) => (\r\n\t
\r\n\t\t\r\n\t
\r\n));\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\titem: {\r\n\t\tdisplay: 'block',\r\n\t\tpaddingTop: 0,\r\n\t\tpaddingBottom: 0,\r\n\t},\r\n\titemLeaf: {\r\n\t\tdisplay: 'flex',\r\n\t\tpaddingTop: 0,\r\n\t\tpaddingBottom: 0,\r\n\t},\r\n\tbutton: {\r\n\t\tcolor: colors.blueGrey[800],\r\n\t\tpadding: '10px 8px',\r\n\t\tjustifyContent: 'flex-start',\r\n\t\ttextTransform: 'none',\r\n\t\tletterSpacing: 0,\r\n\t\twidth: '100%',\r\n\t},\r\n\tbuttonLeaf: {\r\n\t\tcolor: colors.blueGrey[800],\r\n\t\tpadding: '10px 8px',\r\n\t\tjustifyContent: 'flex-start',\r\n\t\ttextTransform: 'none',\r\n\t\tletterSpacing: 0,\r\n\t\twidth: '100%',\r\n\t\tfontWeight: theme.typography.fontWeightRegular,\r\n\t\t'&.depth-0': {\r\n\t\t\tfontWeight: theme.typography.fontWeightMedium,\r\n\t\t},\r\n\t},\r\n\ticon: {\r\n\t\tcolor: theme.palette.icon,\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\texpandIcon: {\r\n\t\tmarginLeft: 'auto',\r\n\t\theight: 16,\r\n\t\twidth: 16,\r\n\t},\r\n\tlabel: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tmarginLeft: 'auto',\r\n\t},\r\n\tactive: {\r\n\t\tcolor: theme.palette.primary.main,\r\n\t\tfontWeight: theme.typography.fontWeightMedium,\r\n\t\t'& $icon': {\r\n\t\t\tcolor: theme.palette.primary.main,\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst NavigationListItem = (props) => {\r\n\tconst {\r\n\t\ttitle,\r\n\t\thref,\r\n\t\tdepth,\r\n\t\tchildren,\r\n\t\ticon: Icon,\r\n\t\tclassName,\r\n\t\topen: openProp,\r\n\t\tlabel: Label,\r\n\t\ttarget,\r\n\t\t...rest\r\n\t} = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [open, setOpen] = useState(openProp);\r\n\r\n\tconst handleToggle = () => {\r\n\t\tsetOpen((o) => !o);\r\n\t};\r\n\r\n\tlet paddingLeft = 8;\r\n\r\n\tif (depth > 0) {\r\n\t\tpaddingLeft = 32 + 8 * depth;\r\n\t}\r\n\r\n\tconst style = {\r\n\t\tpaddingLeft,\r\n\t};\r\n\r\n\tif (children) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{Icon && }\r\n\t\t\t\t\t{title}\r\n\t\t\t\t\t{open ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t{children}\r\n\t\t\t\r\n\t\t);\r\n\t} if (target) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t window.open(href, target)}\r\n\t\t\t\t>\r\n\t\t\t\t\t{Icon && }\r\n\t\t\t\t\t{title}\r\n\t\t\t\t\t{Label && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{Icon && }\r\n\t\t\t\t{title}\r\n\t\t\t\t{Label && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nNavigationListItem.propTypes = {\r\n\tchildren: PropTypes.node,\r\n\tclassName: PropTypes.string,\r\n\tdepth: PropTypes.number,\r\n\thref: PropTypes.string,\r\n\ticon: PropTypes.any,\r\n\tlabel: PropTypes.any,\r\n\topen: PropTypes.bool,\r\n\ttitle: PropTypes.string.isRequired,\r\n\ttarget: PropTypes.any\r\n};\r\n\r\nNavigationListItem.defaultProps = {\r\n\tdepth: 0,\r\n\topen: false,\r\n};\r\n\r\nexport default NavigationListItem;\r\n","/* eslint-disable react/no-multi-comp */\r\nimport React from 'react';\r\nimport { matchPath } from 'react-router-dom';\r\nimport _ from 'underscore';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { List, Typography } from '@mui/material';\r\n\r\nimport useRouter from 'utils/useRouter';\r\nimport { NavigationListItem } from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmarginBottom: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst reduceChildRoutes = (props) => {\r\n\tconst { router, items, page, depth, userRole, userProjects } = props;\r\n\tif ((!page.roles || page.roles.includes(userRole)) && (!page.projects || _.intersection(page.projects, userProjects).length !== 0)) {\r\n\t\tif (page.children) {\r\n\t\t\tconst open = matchPath(router.location.pathname, {\r\n\t\t\t\tpath: page.href,\r\n\t\t\t\texact: false,\r\n\t\t\t});\r\n\r\n\t\t\titems.push(\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\titems.push(\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\treturn items;\r\n};\r\n\r\nconst NavigationList = (props) => {\r\n\tconst { pages, ...rest } = props;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{pages.reduce(\r\n\t\t\t\t(items, page) => reduceChildRoutes({ items, page, ...rest }),\r\n\t\t\t\t[]\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nNavigationList.propTypes = {\r\n\tdepth: PropTypes.number,\r\n\tpages: PropTypes.array,\r\n};\r\n\r\nconst Navigation = (props) => {\r\n\tconst { title, pages, className, component: Component, userRole, userProjects, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst router = useRouter();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{title && {title}}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nNavigation.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tcomponent: PropTypes.any,\r\n\tpages: PropTypes.array.isRequired,\r\n\ttitle: PropTypes.string,\r\n\tuserRole: PropTypes.string,\r\n\tuserProjects: PropTypes.string\r\n};\r\n\r\nNavigation.defaultProps = {\r\n\tcomponent: 'nav',\r\n};\r\n\r\nexport default Navigation;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tAvatar,\r\n\tList,\r\n\tListItem,\r\n\tListItemAvatar,\r\n\tListItemText,\r\n} from '@mui/material';\r\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward';\r\nimport AnnouncementIcon from '@mui/icons-material/Announcement';\r\nimport WarningIcon from '@mui/icons-material/Warning';\r\nimport ErrorIcon from '@mui/icons-material/Error';\r\nimport CheckIcon from '@mui/icons-material/CheckCircle';\r\n\r\nimport gradients from '../../../../utils/gradients';\r\n\r\nimport { NotificationMarkAsRead } from '../../../../actions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tlistItem: {\r\n\t\tcursor: 'pointer',\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: theme.palette.background.default,\r\n\t\t},\r\n\t},\r\n\tavatarBlue: {\r\n\t\tbackgroundImage: gradients.blue,\r\n\t},\r\n\tavatarGreen: {\r\n\t\tbackgroundImage: gradients.green,\r\n\t},\r\n\tavatarOrange: {\r\n\t\tbackgroundImage: gradients.orange,\r\n\t},\r\n\tavatarRed: {\r\n\t\tbackgroundImage: gradients.red,\r\n\t},\r\n\tarrowForwardIcon: {\r\n\t\tcolor: theme.palette.icon,\r\n\t},\r\n}));\r\n\r\nconst NotificationList = (props) => {\r\n\tconst { notifications, className, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst classes = useStyles();\r\n\r\n\tconst avatars = {\r\n\t\tinfo: (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t),\r\n\t\twarning: (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t),\r\n\t\tsuccess: (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t),\r\n\t\terror: (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t),\r\n\t};\r\n\r\n\tconst handleNotificationClick = (id) => {\r\n\t\tdispatch(NotificationMarkAsRead(id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{notifications.map((notification, i) => (\r\n\t\t\t\t (!notification.readed ? handleNotificationClick(notification.id) : {})}\r\n\t\t\t\t>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{avatars[notification.icon]}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n};\r\n\r\nNotificationList.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tnotifications: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default NotificationList;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography } from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\ttextAlign: 'center',\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\timage: {\r\n\t\theight: 240,\r\n\t\tbackgroundImage: 'url(\"/images/undraw_empty_xct9.svg\")',\r\n\t\tbackgroundPositionX: 'right',\r\n\t\tbackgroundPositionY: 'center',\r\n\t\tbackgroundRepeat: 'no-repeat',\r\n\t\tbackgroundSize: 'cover',\r\n\t},\r\n}));\r\n\r\nconst EmptyList = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\tThere's nothing here...\r\n\t\t
\r\n\t);\r\n};\r\n\r\nEmptyList.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default EmptyList;\r\n","import React from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tPopover,\r\n\tCardHeader,\r\n\tCardActions,\r\n\tDivider,\r\n\tButton,\r\n\tcolors,\r\n} from '@mui/material';\r\n\r\nimport { NotificationList, EmptyList } from './components';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n\troot: {\r\n\t\twidth: 350,\r\n\t\tmaxWidth: '100%',\r\n\t},\r\n\tactions: {\r\n\t\tbackgroundColor: colors.grey[50],\r\n\t\tjustifyContent: 'center',\r\n\t},\r\n}));\r\n\r\nconst NotificationsPopover = (props) => {\r\n\tconst { notifications, anchorEl, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{notifications.length > 0 ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n\r\nNotificationsPopover.propTypes = {\r\n\tanchorEl: PropTypes.any,\r\n\tclassName: PropTypes.string,\r\n\tnotifications: PropTypes.array.isRequired,\r\n\tonClose: PropTypes.func.isRequired,\r\n\topen: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default NotificationsPopover;\r\n","/* eslint-disable no-undef */\r\nimport React, { useEffect } from 'react';\r\nimport { Helmet } from 'react-helmet';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport useRouter from 'utils/useRouter';\r\n\r\nconst { NODE_ENV } = process.env;\r\nconst GA_MEASUREMENT_ID = process.env.REACT_APP_GA_MEASUREMENT_ID;\r\n\r\nconst Page = (props) => {\r\n\tconst { title, children, ...rest } = props;\r\n\r\n\tconst router = useRouter();\r\n\r\n\tuseEffect(() => {\r\n\t\tif (NODE_ENV !== 'production') {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (window.gtag) {\r\n\t\t\twindow.gtag('config', GA_MEASUREMENT_ID, {\r\n\t\t\t\tpage_path: router.location.pathname,\r\n\t\t\t\tpage_name: title,\r\n\t\t\t});\r\n\t\t}\r\n\t}, [title, router]);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t{title}\r\n\t\t\t\r\n\t\t\t{children}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nPage.propTypes = {\r\n\tchildren: PropTypes.node,\r\n\ttitle: PropTypes.string,\r\n};\r\n\r\nexport default Page;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { colors } from '@mui/material';\r\nimport ReactPaginate from 'react-paginate';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\t...theme.typography.button,\r\n\t\tlistStyle: 'none',\r\n\t\tuserSelect: 'none',\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tactive: {},\r\n\tactiveLink: {},\r\n\tbreak: {},\r\n\tbreakLink: {},\r\n\tdisabled: {},\r\n\tnext: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n\tnextLink: {\r\n\t\tpadding: '6px 16px',\r\n\t\toutline: 'none',\r\n\t\tcursor: 'pointer',\r\n\t\tborderRadius: 4,\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.blueGrey[50],\r\n\t\t},\r\n\t},\r\n\tpage: {},\r\n\tpageLink: {\r\n\t\tcolor: theme.palette.text.secondary,\r\n\t\tpadding: theme.spacing(1),\r\n\t\toutline: 'none',\r\n\t\tcursor: 'pointer',\r\n\t\twidth: 40,\r\n\t\theight: 40,\r\n\t\tborderRadius: '50%',\r\n\t\tdisplay: 'block',\r\n\t\ttextAlign: 'center',\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.blueGrey[50],\r\n\t\t\tcolor: theme.palette.text.primary,\r\n\t\t},\r\n\t\t'&$activeLink': {\r\n\t\t\tbackgroundColor: colors.blueGrey[50],\r\n\t\t\tcolor: theme.palette.text.primary,\r\n\t\t},\r\n\t},\r\n\tprevious: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tpreviousLink: {\r\n\t\tpadding: '6px 16px',\r\n\t\toutline: 'none',\r\n\t\tcursor: 'pointer',\r\n\t\tborderRadius: 4,\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.blueGrey[50],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Paginate = (props) => {\r\n\tconst {\r\n\t\tpageCount,\r\n\t\tpageRangeDisplayed,\r\n\t\tonPageChange,\r\n\t\tclassName,\r\n\t\t...rest\r\n\t} = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t);\r\n};\r\n\r\nPaginate.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tonPageChange: PropTypes.func.isRequired,\r\n\tpageCount: PropTypes.number.isRequired,\r\n\tpageRangeDisplayed: PropTypes.number.isRequired,\r\n};\r\n\r\nPaginate.defaultProps = {\r\n\t// eslint-disable-next-line react/default-props-match-prop-types\r\n\tonPageChange: () => {},\r\n\t// eslint-disable-next-line react/default-props-match-prop-types\r\n\tpageRangeDisplayed: 5,\r\n};\r\n\r\nexport default Paginate;\r\n","import React from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Avatar, Link, Typography } from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: 'flex',\r\n\t\tmarginBottom: theme.spacing(2),\r\n\t},\r\n\tbubble: {\r\n\t\tflexGrow: 1,\r\n\t\tpadding: theme.spacing(1),\r\n\t\tmarginLeft: theme.spacing(2),\r\n\t\tborderRadius: theme.shape.borderRadius,\r\n\t\tbackgroundColor: theme.palette.background.default,\r\n\t},\r\n\theader: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\ttime: {\r\n\t\tmarginLeft: 'auto',\r\n\t},\r\n\tmessage: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst CommentBubble = (props) => {\r\n\tconst { comment, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{comment.author.name}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{moment(comment.created_at).fromNow()}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{comment.message}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nCommentBubble.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tcomment: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default CommentBubble;\r\n","import React, { useRef, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tAvatar,\r\n\tDivider,\r\n\tIconButton,\r\n\tInput,\r\n\tPaper,\r\n\tTooltip,\r\n} from '@mui/material';\r\nimport SendIcon from '@mui/icons-material/Send';\r\nimport AddPhotoIcon from '@mui/icons-material/AddPhotoAlternate';\r\nimport AttachFileIcon from '@mui/icons-material/AttachFile';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tpaper: {\r\n\t\tflexGrow: 1,\r\n\t\tmarginLeft: theme.spacing(2),\r\n\t\tpadding: theme.spacing(0.5, 2),\r\n\t},\r\n\tinput: {\r\n\t\twidth: '100%',\r\n\t},\r\n\tdivider: {\r\n\t\twidth: 1,\r\n\t\theight: 24,\r\n\t},\r\n\tfileInput: {\r\n\t\tdisplay: 'none',\r\n\t},\r\n}));\r\n\r\nconst CommentForm = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst fileInputRef = useRef(null);\r\n\r\n\tconst [value, setValue] = useState('');\r\n\r\n\tconst sender = {\r\n\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t};\r\n\r\n\tconst handleChange = (event) => {\r\n\t\tsetValue(event.target.value);\r\n\t};\r\n\r\n\tconst handleAttach = () => {\r\n\t\tfileInputRef.current.click();\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t{' '}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t 0 ? 'primary' : 'default'} size=\"large\">\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nCommentForm.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default CommentForm;\r\n","import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tTypography,\r\n\tButton,\r\n\tIconButton,\r\n\tTooltip,\r\n\tcolors,\r\n} from '@mui/material';\r\nimport FavoriteIcon from '@mui/icons-material/Favorite';\r\nimport FavoriteBorderIcon from '@mui/icons-material/FavoriteBorder';\r\nimport ShareIcon from '@mui/icons-material/Share';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tlikeButton: {},\r\n\tlikedButton: {\r\n\t\tcolor: colors.red[600],\r\n\t},\r\n\tshareButton: {\r\n\t\tmarginLeft: 'auto',\r\n\t},\r\n\tshareIcon: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst Reactions = (props) => {\r\n\tconst { post, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst [liked, setLiked] = useState(post.liked);\r\n\tconst [likes, setLikes] = useState(post.likes);\r\n\r\n\tconst handleLike = () => {\r\n\t\tsetLiked(true);\r\n\t\tsetLikes((l) => l + 1);\r\n\t};\r\n\r\n\tconst handleUnlike = () => {\r\n\t\tsetLiked(false);\r\n\t\tsetLikes((l) => l - 1);\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{liked ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t{likes}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\tShare\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nReactions.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tpost: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default Reactions;\r\n","import React from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tCardActionArea,\r\n\tCardMedia,\r\n\tAvatar,\r\n\tLink,\r\n\tTypography,\r\n\tDivider,\r\n} from '@mui/material';\r\nimport AccessTimeIcon from '@mui/icons-material/AccessTime';\r\n\r\nimport { Reactions, CommentBubble, CommentForm } from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tsubheader: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\taccessTimeIcon: {\r\n\t\tcolor: theme.palette.text.secondary,\r\n\t\tfontSize: '14px',\r\n\t\theight: 14,\r\n\t\twidth: 14,\r\n\t\tmarginRight: 6,\r\n\t},\r\n\tcontent: {\r\n\t\tpaddingTop: 0,\r\n\t},\r\n\tmessage: {\r\n\t\tmarginBottom: theme.spacing(2),\r\n\t},\r\n\tmediaArea: {\r\n\t\tmarginBottom: theme.spacing(2),\r\n\t},\r\n\tmedia: {\r\n\t\theight: 400,\r\n\t\tbackgroundPosition: 'initial',\r\n\t},\r\n\tdivider: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\tmarginBottom: theme.spacing(2),\r\n\t},\r\n}));\r\n\r\nconst PostCard = (props) => {\r\n\tconst { post, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\tdisableTypography\r\n\t\t\t\tsubheader={(\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{moment(post.created_at).fromNow()}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t\ttitle={(\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{post.author.name}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{post.message}\r\n\t\t\t\t\r\n\t\t\t\t{post.media && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{post.comments && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{post.comments.map((comment) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nPostCard.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tpost: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default PostCard;\r\n","import React from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tDialog,\r\n\tDivider,\r\n\tGrid,\r\n\tLink,\r\n\tPaper,\r\n\tTypography,\r\n\tcolors,\r\n} from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\twidth: 960,\r\n\t},\r\n\theader: {\r\n\t\tmaxWidth: 600,\r\n\t\tmargin: '0 auto',\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(5),\r\n\t\tpadding: theme.spacing(2),\r\n\t\tmaxWidth: 720,\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\tproduct: {\r\n\t\toverflow: 'unset',\r\n\t\tposition: 'relative',\r\n\t\tpadding: theme.spacing(5, 3),\r\n\t\tcursor: 'pointer',\r\n\t\ttransition: theme.transitions.create('transform', {\r\n\t\t\teasing: theme.transitions.easing.sharp,\r\n\t\t\tduration: theme.transitions.duration.leavingScreen,\r\n\t\t}),\r\n\t\t'&:hover': {\r\n\t\t\ttransform: 'scale(1.1)',\r\n\t\t},\r\n\t},\r\n\timage: {\r\n\t\tborderRadius: theme.shape.borderRadius,\r\n\t\tposition: 'absolute',\r\n\t\ttop: -24,\r\n\t\tleft: theme.spacing(3),\r\n\t\theight: 48,\r\n\t\twidth: 48,\r\n\t\tfontSize: 24,\r\n\t},\r\n\tdivider: {\r\n\t\tmargin: theme.spacing(2, 0),\r\n\t},\r\n\toptions: {\r\n\t\tlineHeight: '26px',\r\n\t},\r\n\trecommended: {\r\n\t\tbackgroundColor: theme.palette.primary.main,\r\n\t\t'& *': {\r\n\t\t\tcolor: `${theme.palette.white} !important`,\r\n\t\t},\r\n\t},\r\n\tcontact: {\r\n\t\tmargin: theme.spacing(3, 0),\r\n\t},\r\n\tactions: {\r\n\t\tbackgroundColor: colors.grey[100],\r\n\t\tpadding: theme.spacing(2),\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'center',\r\n\t},\r\n\tstartButton: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst PricingModal = (props) => {\r\n\tconst { open, onClose, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tStart with Freelancer today. Boost up your services!\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tWelcome to the first platform created for freelancers\r\n\t\t\t\t\t\tand agencies for showcasing and finding the best clients\r\n\t\t\t\t\t\tin the market. 30% of our income goes into Whale Charity\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tFreelancer\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t$5\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t/month\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tMax 1 user\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t20\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\tproposals/month\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t10\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\ttemplates\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tAnalytics\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\tdashboard\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tEmail\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\talerts\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tAgency\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t$29\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t/month\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tMax 3 user\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t20\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\tproposals/month\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t10\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\ttemplates\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tAnalytics\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\tdashboard\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tEmail\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\talerts\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tEnterprise\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t$259\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t/month\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tUnlimited\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tAll from above\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tUnlimited\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\t24/7 support\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tPersonalised\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\tPage\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tAdvertise\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\tyour profile\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tHave a larger team?\r\n\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tContact us\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\tfor information about more enterprise options.\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tStart with freelancer\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nPricingModal.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tonClose: PropTypes.func,\r\n\topen: PropTypes.bool,\r\n};\r\n\r\nexport default PricingModal;\r\n","import React, { useState } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tAvatar,\r\n\tButton,\r\n\tCard,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tDivider,\r\n\tGrid,\r\n\tIconButton,\r\n\tLink,\r\n\tTooltip,\r\n\tTypography,\r\n\tcolors,\r\n} from '@mui/material';\r\nimport ShareIcon from '@mui/icons-material/Share';\r\nimport FavoriteIcon from '@mui/icons-material/Favorite';\r\nimport FavoriteBorderIcon from '@mui/icons-material/FavoriteBorder';\r\n\r\nimport getInitials from 'utils/getInitials';\r\nimport { Label } from '..';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\theader: {\r\n\t\tpaddingBottom: 0,\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t\t'&:last-child': {\r\n\t\t\tpaddingBottom: 0,\r\n\t\t},\r\n\t},\r\n\tdescription: {\r\n\t\tpadding: theme.spacing(2, 3, 1, 3),\r\n\t},\r\n\ttags: {\r\n\t\tpadding: theme.spacing(0, 3, 1, 3),\r\n\t\t'& > * + *': {\r\n\t\t\tmarginLeft: theme.spacing(1),\r\n\t\t},\r\n\t},\r\n\tlearnMoreButton: {\r\n\t\tmarginLeft: theme.spacing(2),\r\n\t},\r\n\tlikedButton: {\r\n\t\tcolor: colors.red[600],\r\n\t},\r\n\tshareButton: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n\tdetails: {\r\n\t\tpadding: theme.spacing(1, 3),\r\n\t},\r\n}));\r\n\r\nconst ProjectCard = (props) => {\r\n\tconst { project, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst [liked, setLiked] = useState(project.liked);\r\n\r\n\tconst handleLike = () => {\r\n\t\tsetLiked(true);\r\n\t};\r\n\r\n\tconst handleUnlike = () => {\r\n\t\tsetLiked(false);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\t\t{getInitials(project.author.name)}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\tclassName={classes.header}\r\n\t\t\t\tdisableTypography\r\n\t\t\t\tsubheader={(\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tby\r\n\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{project.author.name}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t| Updated:\r\n\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t{moment(project.updated_at).fromNow()}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\ttitle={(\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{project.title}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tWe're looking for experienced Developers and Product\r\n\t\t\t\t\t\tDesigners to come aboard and help us build succesful\r\n\t\t\t\t\t\tbusinesses through softare.\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{project.tags.map((tag) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t$\r\n\t\t\t\t\t\t\t\t{project.price}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tPer Project\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{project.location}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tLocation\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{project.type}\r\n\t\t\t\t\t\t\tType\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{liked ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tLearn more\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nProjectCard.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tproject: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default ProjectCard;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport uuid from 'uuid/v1';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { colors } from '@mui/material';\r\nimport StarIcon from '@mui/icons-material/Star';\r\nimport StarBorderIcon from '@mui/icons-material/StarBorder';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: 'inline-flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tstarIcon: {\r\n\t\tfontSize: 18,\r\n\t\theight: 18,\r\n\t\twidth: 18,\r\n\t},\r\n\tstarFilledIcon: {\r\n\t\tcolor: colors.amber[400],\r\n\t},\r\n\tstarBorderIcon: {\r\n\t\tcolor: theme.palette.icon,\r\n\t},\r\n}));\r\n\r\nconst ReviewStars = (props) => {\r\n\tconst { value, starCount, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst starNodes = [];\r\n\r\n\tfor (let i = 1; i <= starCount; i++) {\r\n\t\tconst key = uuid();\r\n\r\n\t\tconst starNode = i <= value ? (\r\n\t\t\t\r\n\t\t) : (\r\n\t\t\t\r\n\t\t);\r\n\r\n\t\tstarNodes.push(starNode);\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{starNodes}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nReviewStars.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tstarCount: PropTypes.number,\r\n\tvalue: PropTypes.number,\r\n};\r\n\r\nReviewStars.defaultProps = {\r\n\tvalue: 0,\r\n\tstarCount: 5,\r\n};\r\n\r\nexport default ReviewStars;\r\n","/* eslint-disable react/no-multi-comp */\r\nimport React, { Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Tooltip, Button } from '@mui/material';\r\nimport { alpha } from '@mui/material/styles';\r\nimport CodeIcon from '@mui/icons-material/Code';\r\nimport FormatListBulletedIcon from '@mui/icons-material/FormatListBulleted';\r\nimport FormatListNumberedIcon from '@mui/icons-material/FormatListNumbered';\r\nimport FormatItalicIcon from '@mui/icons-material/FormatItalic';\r\nimport FormatBoldIcon from '@mui/icons-material/FormatBold';\r\nimport FormatUnderlined from '@mui/icons-material/FormatUnderlined';\r\nimport FormatQuoteIcon from '@mui/icons-material/FormatQuote';\r\nimport FormatAlignLeftIcon from '@mui/icons-material/FormatAlignLeft';\r\nimport FormatAlignCenterIcon from '@mui/icons-material/FormatAlignCenter';\r\nimport FormatAlignRightIcon from '@mui/icons-material/FormatAlignRight';\r\nimport FormatAlignJustifyIcon from '@mui/icons-material/FormatAlignJustify';\r\n\r\nconst useStyles1 = makeStyles((theme) => ({\r\n\troot: {},\r\n\tinner: {\r\n\t\tpadding: theme.spacing(1),\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n}));\r\n\r\nconst useStyles2 = makeStyles((theme) => ({\r\n\tbutton: {\r\n\t\tpadding: 0,\r\n\t\twidth: 32,\r\n\t\theight: 32,\r\n\t\tminWidth: 32,\r\n\t\tcolor: theme.palette.icon,\r\n\t\t'& + &': {\r\n\t\t\tmarginLeft: theme.spacing(1),\r\n\t\t},\r\n\t},\r\n\tactiveButton: {\r\n\t\tbackgroundColor: alpha(theme.palette.primary.main, 0.1),\r\n\t\tcolor: theme.palette.primary.main,\r\n\t},\r\n}));\r\n\r\nconst BLOCK_TYPES = [\r\n\t{\r\n\t\tblockType: 'header-one',\r\n\t\ttooltip: 'Heading 1',\r\n\t\ttext: 'H1',\r\n\t},\r\n\t{\r\n\t\tblockType: 'header-two',\r\n\t\ttooltip: 'Heading 2',\r\n\t\ttext: 'H2',\r\n\t},\r\n\t{\r\n\t\tblockType: 'header-three',\r\n\t\ttooltip: 'Heading 3',\r\n\t\ttext: 'H3',\r\n\t},\r\n\t{\r\n\t\tblockType: 'header-four',\r\n\t\ttooltip: 'Heading 4',\r\n\t\ttext: 'H4',\r\n\t},\r\n\t{\r\n\t\tblockType: 'header-five',\r\n\t\ttooltip: 'Heading 5',\r\n\t\ttext: 'H5',\r\n\t},\r\n\t{\r\n\t\tblockType: 'header-six',\r\n\t\ttooltip: 'Heading 6',\r\n\t\ttext: 'H6',\r\n\t},\r\n\t{\r\n\t\tblockType: 'blockquote',\r\n\t\ttooltip: 'Blockquote',\r\n\t\ticon: FormatQuoteIcon,\r\n\t},\r\n\t{\r\n\t\tblockType: 'unordered-list-item',\r\n\t\ttooltip: 'Unordered list',\r\n\t\ticon: FormatListBulletedIcon,\r\n\t},\r\n\t{\r\n\t\tblockType: 'ordered-list-item',\r\n\t\ttooltip: 'Ordered list',\r\n\t\ticon: FormatListNumberedIcon,\r\n\t},\r\n\t{\r\n\t\tblockType: 'code-block',\r\n\t\ttooltip: 'Code Block',\r\n\t\ticon: CodeIcon,\r\n\t},\r\n\t{\r\n\t\tblockType: 'left',\r\n\t\ttooltip: 'Align left',\r\n\t\ticon: FormatAlignLeftIcon,\r\n\t},\r\n\t{\r\n\t\tblockType: 'center',\r\n\t\ttooltip: 'Align center',\r\n\t\ticon: FormatAlignCenterIcon,\r\n\t},\r\n\t{\r\n\t\tblockType: 'right',\r\n\t\ttooltip: 'Align right',\r\n\t\ticon: FormatAlignRightIcon,\r\n\t},\r\n\t{\r\n\t\tblockType: 'justify',\r\n\t\ttooltip: 'Justify',\r\n\t\ticon: FormatAlignJustifyIcon,\r\n\t},\r\n];\r\n\r\nconst INLINE_STYLES = [\r\n\t{\r\n\t\tinlineStyle: 'BOLD',\r\n\t\ttooltip: 'Bold',\r\n\t\ticon: FormatBoldIcon,\r\n\t},\r\n\t{\r\n\t\tinlineStyle: 'ITALIC',\r\n\t\ttooltip: 'Italic',\r\n\t\ticon: FormatItalicIcon,\r\n\t},\r\n\t{\r\n\t\tinlineStyle: 'UNDERLINE',\r\n\t\ttooltip: 'Underline',\r\n\t\ticon: FormatUnderlined,\r\n\t},\r\n\t{\r\n\t\tinlineStyle: 'CODE',\r\n\t\ttooltip: 'Monospace',\r\n\t\ticon: CodeIcon,\r\n\t},\r\n];\r\n\r\nconst ButtonBase = (props) => {\r\n\tconst { active, tooltip, children, ...rest } = props;\r\n\r\n\tconst classes = useStyles2();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{children}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nButtonBase.propTypes = {\r\n\tactive: PropTypes.bool,\r\n\tchildren: PropTypes.node,\r\n\tonClick: PropTypes.func,\r\n\ttooltip: PropTypes.string,\r\n};\r\n\r\nconst BlockTypeButtons = (props) => {\r\n\tconst { editorState, onToggle } = props;\r\n\r\n\tconst handleClick = (event, blockType) => {\r\n\t\tevent.preventDefault();\r\n\r\n\t\tonToggle('blockType', blockType);\r\n\t};\r\n\r\n\tconst selection = editorState.getSelection();\r\n\tconst blockType = editorState\r\n\t\t.getCurrentContent()\r\n\t\t.getBlockForKey(selection.getStartKey())\r\n\t\t.getType();\r\n\tconst blockData = editorState\r\n\t\t.getCurrentContent()\r\n\t\t.getBlockForKey(selection.getStartKey())\r\n\t\t.getData();\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{BLOCK_TYPES.map((button) => {\r\n\t\t\t\tlet active = false;\r\n\r\n\t\t\t\tif (\r\n\t\t\t\t\t['left', 'center', 'right', 'justify'].includes(\r\n\t\t\t\t\t\tbutton.blockType\r\n\t\t\t\t\t)\r\n\t\t\t\t) {\r\n\t\t\t\t\tactive = blockData.get('text-align') === button.blockType;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tactive = button.blockType === blockType;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn (\r\n\t\t\t\t\t handleClick(event, button.blockType)}\r\n\t\t\t\t\t\ttooltip={button.tooltip}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{button.icon ? : button.text}\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\t})}\r\n\t\t\r\n\t);\r\n};\r\n\r\nBlockTypeButtons.propTypes = {\r\n\teditorState: PropTypes.any.isRequired,\r\n\tonToggle: PropTypes.func,\r\n};\r\n\r\nconst InlineStyleButtons = (props) => {\r\n\tconst { editorState, onToggle } = props;\r\n\r\n\tconst handleClick = (event, inlineStyle) => {\r\n\t\tevent.preventDefault();\r\n\t\tonToggle('inlineStyle', inlineStyle);\r\n\t};\r\n\r\n\tconst currentStyle = editorState.getCurrentInlineStyle();\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{INLINE_STYLES.map((button) => (\r\n\t\t\t\t handleClick(event, button.inlineStyle)}\r\n\t\t\t\t\ttooltip={button.tooltip}\r\n\t\t\t\t>\r\n\t\t\t\t\t{button.icon ? : button.text}\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t\r\n\t);\r\n};\r\n\r\nInlineStyleButtons.propTypes = {\r\n\teditorState: PropTypes.any.isRequired,\r\n\tonToggle: PropTypes.func,\r\n};\r\n\r\nconst EditorToolbar = (props) => {\r\n\tconst { editorState, onToggle, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles1();\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nEditorToolbar.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\teditorState: PropTypes.any.isRequired,\r\n\tonToggle: PropTypes.func,\r\n};\r\n\r\nexport default EditorToolbar;\r\n","import { Map } from 'immutable';\r\nimport { EditorState, DefaultDraftBlockRenderMap, Modifier } from 'draft-js';\r\n\r\nexport function setBlockData(editorState, data) {\r\n\tconst newContentState = Modifier.setBlockData(\r\n\t\teditorState.getCurrentContent(),\r\n\t\teditorState.getSelection(),\r\n\t\tdata\r\n\t);\r\n\r\n\treturn EditorState.push(editorState, newContentState, 'change-block-data');\r\n}\r\n\r\nconst newBlockRenderMap = Map({\r\n\tunstyled: {\r\n\t\telement: 'p',\r\n\t},\r\n\tparagraph: {\r\n\t\telement: 'p',\r\n\t},\r\n});\r\n\r\n// TODO:\r\n// 1. DraftJS uses 'div' tags inside every block.\r\n// When we use 'p' tag for paragraphs, we get a warning because \"div\" tag cannot be inside a \"p\" tag.\r\n\r\nexport const blockRenderMap = DefaultDraftBlockRenderMap.merge(\r\n\tnewBlockRenderMap\r\n);\r\n","/* eslint-disable jsx-a11y/no-static-element-interactions */\r\nimport React, { useState, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport {\r\n\tEditor,\r\n\tEditorState,\r\n\tRichUtils,\r\n\tModifier,\r\n\tgetDefaultKeyBinding,\r\n} from 'draft-js';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Paper, Divider } from '@mui/material';\r\n\r\nimport { EditorToolbar } from './components';\r\nimport { blockRenderMap } from './utils';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\teditorContainer: {\r\n\t\tpadding: theme.spacing(2),\r\n\t\tminHeight: 400,\r\n\t\t'& .public-DraftEditorPlaceholder-root': {\r\n\t\t\t...theme.typography.body2,\r\n\t\t},\r\n\t\t'& .public-DraftEditorPlaceholder-hasFocus': {\r\n\t\t\tdisplay: 'none',\r\n\t\t},\r\n\t\t'& .public-DraftEditor-content': {\r\n\t\t\t'& p': {\r\n\t\t\t\t...theme.typography.body1,\r\n\t\t\t},\r\n\t\t\t'& h1': {\r\n\t\t\t\t...theme.typography.h1,\r\n\t\t\t},\r\n\t\t\t'& h2': {\r\n\t\t\t\t...theme.typography.h2,\r\n\t\t\t},\r\n\t\t\t'& h3': {\r\n\t\t\t\t...theme.typography.h3,\r\n\t\t\t},\r\n\t\t\t'& h4': {\r\n\t\t\t\t...theme.typography.h4,\r\n\t\t\t},\r\n\t\t\t'& h5': {\r\n\t\t\t\t...theme.typography.h5,\r\n\t\t\t},\r\n\t\t\t'& h6': {\r\n\t\t\t\t...theme.typography.h6,\r\n\t\t\t},\r\n\t\t\t'& blockquote': {\r\n\t\t\t\t...theme.typography.subtitle1,\r\n\t\t\t},\r\n\t\t\t'& ul': {\r\n\t\t\t\t...theme.typography.body1,\r\n\t\t\t\tmarginLeft: theme.spacing(4),\r\n\t\t\t},\r\n\t\t\t'& ol': {\r\n\t\t\t\t...theme.typography.body1,\r\n\t\t\t\tmarginLeft: theme.spacing(4),\r\n\t\t\t},\r\n\t\t\t'& pre': {\r\n\t\t\t\tbackgroundColor: 'rgba(0, 0, 0, 0.05)',\r\n\t\t\t\tfontFamily: '\"Inconsolata\", \"Menlo\", \"Consolas\", monospace',\r\n\t\t\t\tfontSize: 16,\r\n\t\t\t\tpadding: 2,\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n\ttextAlignLeft: {\r\n\t\ttextAlign: 'left',\r\n\t},\r\n\ttextAlignCenter: {\r\n\t\ttextAlign: 'center',\r\n\t},\r\n\ttextAlignRight: {\r\n\t\ttextAlign: 'right',\r\n\t},\r\n\ttextAlignJustify: {\r\n\t\ttextAlign: 'justify',\r\n\t},\r\n}));\r\n\r\nconst capitalize = (string) => string.charAt(0).toUpperCase() + string.slice(1);\r\n\r\nconst RichEditor = (props) => {\r\n\tconst { placeholder, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst editorRef = useRef(null);\r\n\r\n\tconst [editorState, setEditorState] = useState(EditorState.createEmpty());\r\n\r\n\tconst handleContainerClick = () => {\r\n\t\teditorRef.current.focus();\r\n\t};\r\n\r\n\tconst handleToolbarToggle = (type, value) => {\r\n\t\tif (type === 'blockType') {\r\n\t\t\tif (['left', 'center', 'right', 'justify'].includes(value)) {\r\n\t\t\t\tconst newContentState = Modifier.setBlockData(\r\n\t\t\t\t\teditorState.getCurrentContent(),\r\n\t\t\t\t\teditorState.getSelection(),\r\n\t\t\t\t\t{ 'text-align': value }\r\n\t\t\t\t);\r\n\r\n\t\t\t\tconst newEditorState = EditorState.push(\r\n\t\t\t\t\teditorState,\r\n\t\t\t\t\tnewContentState,\r\n\t\t\t\t\t'change-block-data'\r\n\t\t\t\t);\r\n\r\n\t\t\t\tsetEditorState(newEditorState);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tsetEditorState(RichUtils.toggleBlockType(editorState, value));\r\n\t\t} else {\r\n\t\t\tsetEditorState(RichUtils.toggleInlineStyle(editorState, value));\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleEditorChange = (es) => {\r\n\t\tsetEditorState(es);\r\n\t};\r\n\r\n\tconst handleKeyCommand = (command, es) => {\r\n\t\tconst newState = RichUtils.handleKeyCommand(es, command);\r\n\r\n\t\tif (newState) {\r\n\t\t\thandleEditorChange(newState);\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t};\r\n\r\n\tconst mapKeyToEditorCommand = (event) => {\r\n\t\tif (event.keyCode === 9) {\r\n\t\t\tconst newEditorState = RichUtils.onTab(event, editorState, 4);\r\n\r\n\t\t\tif (newEditorState !== editorState) {\r\n\t\t\t\thandleEditorChange(newEditorState);\r\n\t\t\t}\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// eslint-disable-next-line consistent-return\r\n\t\treturn getDefaultKeyBinding(event);\r\n\t};\r\n\r\n\tfunction blockStyleFn(contentBlock) {\r\n\t\tconst textAlign = contentBlock.getData().get('text-align');\r\n\r\n\t\tif (textAlign) {\r\n\t\t\t// eslint-disable-next-line no-shadow\r\n\t\t\tconst className = `textAlign${capitalize(textAlign)}`;\r\n\r\n\t\t\treturn classes[className];\r\n\t\t}\r\n\r\n\t\treturn '';\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n\r\nRichEditor.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tplaceholder: PropTypes.string\r\n};\r\n\r\nexport default RichEditor;\r\n","import { useEffect } from 'react';\r\n\r\nimport useRouter from 'utils/useRouter';\r\n\r\nconst ScrollReset = () => {\r\n\tconst router = useRouter();\r\n\r\n\tuseEffect(() => {\r\n\t\twindow.scrollTo(0, 0);\r\n\t}, [router.location.pathname]);\r\n\r\n\treturn null;\r\n};\r\n\r\nexport default ScrollReset;\r\n","/* eslint-disable jsx-a11y/control-has-associated-label */\r\n/* eslint-disable jsx-a11y/no-static-element-interactions */\r\nimport React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tChip,\r\n\tCollapse,\r\n\tDivider,\r\n\tDrawer,\r\n\tFormControlLabel,\r\n\tRadio,\r\n\tRadioGroup,\r\n\tSlider,\r\n\tTextField,\r\n\tTypography,\r\n\tToggleButton, ToggleButtonGroup } from '@mui/material';\r\n\r\nimport ExpandLessIcon from '@mui/icons-material/ExpandLess';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\nimport CloseIcon from '@mui/icons-material/Close';\r\nimport DeleteIcon from '@mui/icons-material/DeleteOutlined';\r\nimport AddIcon from '@mui/icons-material/Add';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\theight: '100%',\r\n\t\tdisplay: 'flex',\r\n\t\tflexDirection: 'column',\r\n\t},\r\n\tdrawer: {\r\n\t\twidth: 420,\r\n\t\tmaxWidth: '100%',\r\n\t},\r\n\theader: {\r\n\t\tpadding: theme.spacing(2, 1),\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'space-between',\r\n\t},\r\n\tbuttonIcon: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: theme.spacing(0, 3),\r\n\t\tflexGrow: 1,\r\n\t},\r\n\tcontentSection: {\r\n\t\tpadding: theme.spacing(2, 0),\r\n\t},\r\n\tcontentSectionHeader: {\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'space-between',\r\n\t\tcursor: 'pointer',\r\n\t},\r\n\tcontentSectionContent: {},\r\n\tformGroup: {\r\n\t\tpadding: theme.spacing(2, 0),\r\n\t},\r\n\tfieldGroup: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tfield: {\r\n\t\tmarginTop: 0,\r\n\t\tmarginBottom: 0,\r\n\t},\r\n\tflexGrow: {\r\n\t\tflexGrow: 1,\r\n\t},\r\n\taddButton: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n\ttags: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\tminAmount: {\r\n\t\tmarginRight: theme.spacing(3),\r\n\t},\r\n\tmaxAmount: {\r\n\t\tmarginLeft: theme.spacing(3),\r\n\t},\r\n\tradioGroup: {},\r\n\tactions: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\t'& > * + *': {\r\n\t\t\tmarginTop: theme.spacing(2),\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Filter = (props) => {\r\n\tconst { open, onClose, onFilter, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst initialValues = {\r\n\t\tpaymentStatus: '',\r\n\t\ttag: '',\r\n\t\ttags: ['Full-Time'],\r\n\t\tamount: [1, 7],\r\n\t\tprojectStatus: 'ended',\r\n\t\tcustomerName: '',\r\n\t\tcustomerType: 'freelancer',\r\n\t\tcustomerEmail: '',\r\n\t\tcustomerPhone: '',\r\n\t\tcustomerAge: '',\r\n\t};\r\n\r\n\tconst [expandProject, setExpandProject] = useState(true);\r\n\tconst [expandCustomer, setExpandCustomer] = useState(false);\r\n\tconst [values, setValues] = useState({ ...initialValues });\r\n\r\n\tconst handleClear = () => {\r\n\t\tsetValues({ ...initialValues });\r\n\t};\r\n\r\n\tconst handleFieldChange = (event, field, value) => {\r\n\t\tsetValues((items) => ({\r\n\t\t\t...items,\r\n\t\t\t[field]: value,\r\n\t\t}));\r\n\t};\r\n\r\n\tconst handleTagAdd = () => {\r\n\t\tsetValues((items) => {\r\n\t\t\tconst newValues = { ...items };\r\n\r\n\t\t\tif (newValues.tag && !newValues.tags.includes(newValues.tag)) {\r\n\t\t\t\tnewValues.tags = [...newValues.tags];\r\n\t\t\t\tnewValues.tags.push(newValues.tag);\r\n\t\t\t}\r\n\r\n\t\t\tnewValues.tag = '';\r\n\r\n\t\t\treturn newValues;\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleTagDelete = (tag) => {\r\n\t\tsetValues((items) => {\r\n\t\t\tconst newValues = { ...items };\r\n\r\n\t\t\tnewValues.tags = newValues.tags.filter((t) => t !== tag);\r\n\r\n\t\t\treturn newValues;\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleToggleProject = () => {\r\n\t\tsetExpandProject((ep) => !ep);\r\n\t};\r\n\r\n\tconst handleToggleCustomer = () => {\r\n\t\tsetExpandCustomer((ec) => !ec);\r\n\t};\r\n\r\n\tconst handleSubmit = (event) => {\r\n\t\tevent.preventDefault();\r\n\t\t// eslint-disable-next-line no-unused-expressions\r\n\t\tonFilter && onFilter(values);\r\n\t};\r\n\r\n\tconst paymentStatusOptions = [\r\n\t\t'Pending',\r\n\t\t'Canceled',\r\n\t\t'Completed',\r\n\t\t'Rejected',\r\n\t];\r\n\tconst customerAgeOption = ['18 - 30', '30 - 45', '50 - 60', '60+'];\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tProject\r\n\t\t\t\t\t\t\t{expandProject ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t handleFieldChange(\r\n\t\t\t\t\t\t\t\t\t\t\tevent,\r\n\t\t\t\t\t\t\t\t\t\t\t'paymentStatus',\r\n\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\tselect\r\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line react/jsx-sort-props\r\n\t\t\t\t\t\t\t\t\t\tSelectProps={{ native: true }}\r\n\t\t\t\t\t\t\t\t\t\tvalue={values.paymentStatus}\r\n\t\t\t\t\t\t\t\t\t\tvariant=\"outlined\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t handleFieldChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t'tag',\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={values.tag}\r\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"outlined\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tAdd\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{values.tags.map((tag) => (\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tkey={tag}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={tag}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonDelete={() => handleTagDelete(tag)}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tProject amount\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t$\r\n\t\t\t\t\t\t\t\t\t\t\t{values.amount[0]}\r\n\t\t\t\t\t\t\t\t\t\t\tK\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t handleFieldChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t'amount',\r\n\t\t\t\t\t\t\t\t\t\t\t\tvalue\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={values.amount}\r\n\t\t\t\t\t\t\t\t\t\t\tvalueLabelDisplay=\"auto\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t$\r\n\t\t\t\t\t\t\t\t\t\t\t{values.amount[1]}\r\n\t\t\t\t\t\t\t\t\t\t\tK\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tProject status\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t handleFieldChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t'projectStatus',\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={values.projectStatus}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabel=\"Ended\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tvalue=\"ended\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabel=\"On-Going\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tvalue=\"onGoing\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabel=\"In Review\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tvalue=\"inReview\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabel=\"Competed\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tvalue=\"completed\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tCustomer\r\n\t\t\t\t\t\t\t{expandCustomer ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t handleFieldChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t'customerName',\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={values.customerName}\r\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"outlined\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t value\r\n\t\t\t\t\t\t\t\t\t\t\t\t&& handleFieldChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tevent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t'customerType',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={values.customerType}\r\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"outlined\"\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tProject owner\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tFreelancer\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t handleFieldChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t'customerEmail',\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={values.customerEmail}\r\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"outlined\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t handleFieldChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t'customerPhone',\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={values.customerPhone}\r\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"outlined\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t handleFieldChange(\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t'customerAge',\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\tselect\r\n\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line react/jsx-sort-props\r\n\t\t\t\t\t\t\t\t\t\t\tSelectProps={{ native: true }}\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={values.customerAge}\r\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"outlined\"\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tApply filters\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nFilter.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tonClose: PropTypes.func,\r\n\tonFilter: PropTypes.func,\r\n\topen: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default Filter;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Paper, Button, Input } from '@mui/material';\r\nimport SearchIcon from '@mui/icons-material/Search';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tsearch: {\r\n\t\tflexGrow: 1,\r\n\t\theight: 42,\r\n\t\tpadding: theme.spacing(0, 2),\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tsearchIcon: {\r\n\t\tmarginRight: theme.spacing(2),\r\n\t\tcolor: theme.palette.icon,\r\n\t},\r\n\tsearchInput: {\r\n\t\tflexGrow: 1,\r\n\t},\r\n\tsearchButton: {\r\n\t\tmarginLeft: theme.spacing(2),\r\n\t},\r\n}));\r\n\r\nconst Search = (props) => {\r\n\tconst { onSearch, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\tSearch\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nSearch.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tonSearch: PropTypes.func,\r\n};\r\n\r\nexport default Search;\r\n","import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Grid, Button } from '@mui/material';\r\nimport FilterListIcon from '@mui/icons-material/FilterList';\r\n\r\nimport { Search, Filter } from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between',\r\n\t\tflexWrap: 'wrap',\r\n\t},\r\n\tsearch: {\r\n\t\tflexGrow: 1,\r\n\t\tmaxWidth: 480,\r\n\t\tflexBasis: 480,\r\n\t},\r\n\tfilterButton: {\r\n\t\tmarginLeft: 'auto',\r\n\t},\r\n\tfilterIcon: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst SearchBar = (props) => {\r\n\tconst { onFilter, onSearch, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst [openFilter, setOpenFilter] = useState(false);\r\n\r\n\tconst handleFilterOpen = () => {\r\n\t\tsetOpenFilter(true);\r\n\t};\r\n\r\n\tconst handleFilterClose = () => {\r\n\t\tsetOpenFilter(false);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{' '}\r\n\t\t\t\t\tShow\r\n\t\t\t\t\tfilters\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nSearchBar.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tonFilter: PropTypes.func,\r\n\tonSearch: PropTypes.func,\r\n};\r\n\r\nexport default SearchBar;\r\n","import React, { memo } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport uuid from 'uuid/v1';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Tooltip, Avatar } from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: 'flex',\r\n\t\tpaddingLeft: 20,\r\n\t},\r\n\tavatar: {\r\n\t\tborder: `3px solid ${theme.palette.white}`,\r\n\t\tmarginLeft: -20,\r\n\t\t'&:hover': {\r\n\t\t\tzIndex: 2,\r\n\t\t},\r\n\t},\r\n\tmore: {\r\n\t\tbackgroundColor: theme.palette.error.main,\r\n\t\tcolor: theme.palette.error.contrastText,\r\n\t\tfontSize: 14,\r\n\t\tfontWeight: theme.typography.fontWeightMedium,\r\n\t},\r\n}));\r\n\r\nconst StackAvatars = (props) => {\r\n\tconst { avatars, limit, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst avatarNodes = avatars.slice(0, limit).map((item) => (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t));\r\n\r\n\tif (avatars.length > limit) {\r\n\t\tavatarNodes.push(\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t+\r\n\t\t\t\t\t{avatars.length - limit}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{avatarNodes}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nStackAvatars.propTypes = {\r\n\tavatars: PropTypes.array.isRequired,\r\n\tclassName: PropTypes.string,\r\n\tlimit: PropTypes.number.isRequired,\r\n};\r\n\r\nStackAvatars.defaultProps = {\r\n\t// eslint-disable-next-line react/default-props-match-prop-types\r\n\tlimit: 3,\r\n};\r\n\r\nexport default memo(StackAvatars);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { colors } from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: 'inline-block',\r\n\t\tborderRadius: '50%',\r\n\t\tflexGrow: 0,\r\n\t\tflexShrink: 0,\r\n\t},\r\n\tsmall: {\r\n\t\theight: theme.spacing(1),\r\n\t\twidth: theme.spacing(1),\r\n\t},\r\n\tmedium: {\r\n\t\theight: theme.spacing(2),\r\n\t\twidth: theme.spacing(2),\r\n\t},\r\n\tlarge: {\r\n\t\theight: theme.spacing(3),\r\n\t\twidth: theme.spacing(3),\r\n\t},\r\n\tdefault: {\r\n\t\tbackgroundColor: colors.grey[50],\r\n\t},\r\n\tprimary: {\r\n\t\tbackgroundColor: theme.palette.primary.main,\r\n\t},\r\n\tinfo: {\r\n\t\tbackgroundColor: colors.lightBlue[600],\r\n\t},\r\n\twarning: {\r\n\t\tbackgroundColor: colors.orange[900],\r\n\t},\r\n\terror: {\r\n\t\tbackgroundColor: theme.palette.error.main,\r\n\t},\r\n\tsuccess: {\r\n\t\tbackgroundColor: colors.green[600],\r\n\t},\r\n}));\r\n\r\nconst StatusBullet = (props) => {\r\n\tconst { className, size, color, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst rootClassName = clsx(\r\n\t\t{\r\n\t\t\t[classes.root]: true,\r\n\t\t\t[classes[size]]: size,\r\n\t\t\t[classes[color]]: color,\r\n\t\t},\r\n\t\tclassName\r\n\t);\r\n\r\n\treturn (\r\n\t\t\r\n\t);\r\n};\r\n\r\nStatusBullet.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tcolor: PropTypes.oneOf([\r\n\t\t'default',\r\n\t\t'primary',\r\n\t\t'info',\r\n\t\t'success',\r\n\t\t'warning',\r\n\t\t'error',\r\n\t]),\r\n\tsize: PropTypes.oneOf(['small', 'medium', 'large']),\r\n};\r\n\r\nStatusBullet.defaultProps = {\r\n\tsize: 'medium',\r\n\tcolor: 'default',\r\n};\r\n\r\nexport default StatusBullet;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Drawer, Grid, Typography, Button, Hidden } from '@mui/material';\r\nimport CheckIcon from '@mui/icons-material/Check';\r\nimport CloseIcon from '@mui/icons-material/Close';\r\nimport DeleteIcon from '@mui/icons-material/DeleteOutline';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(2),\r\n\t},\r\n\tactions: {\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'center',\r\n\t\tflexWrap: 'wrap',\r\n\t\t'& > * + *': {\r\n\t\t\tmarginLeft: theme.spacing(2),\r\n\t\t},\r\n\t},\r\n\tbuttonIcon: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst TableEditBar = (props) => {\r\n\tconst {\r\n\t\tselected,\r\n\t\tclassName,\r\n\t\tonMarkPaid,\r\n\t\tonMarkUnpaid,\r\n\t\tonDelete,\r\n\t\t...rest\r\n\t} = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst open = selected.length > 0;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{selected.length}\r\n\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\tselected\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n\r\nTableEditBar.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tonDelete: PropTypes.func,\r\n\tonMarkPaid: PropTypes.func,\r\n\tonMarkUnpaid: PropTypes.func,\r\n\tselected: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default TableEditBar;\r\n","import React, { useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { Backdrop, CircularProgress } from '@mui/material';\r\nimport makeStyles from '@mui/styles/makeStyles';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\tbackdrop: {\r\n\t\tzIndex: theme.zIndex.drawer + 999999,\r\n\t\tcolor: '#fff',\r\n\t},\r\n}));\r\n\r\nconst Loading = () => {\r\n\tconst classes = useStyles();\r\n\tconst isLoading = useSelector(state => state.session.isLoading);\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Loading;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Grid, Typography } from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n}));\r\n\r\nconst Header = (props) => {\r\n\tconst { module, view, actions, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{module}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{view}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{actions\r\n\t\t\t\t\t&& (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{actions}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nHeader.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tmodule: PropTypes.string,\r\n\tview: PropTypes.string,\r\n\tactions: PropTypes.object\r\n};\r\n\r\nHeader.defaultProps = {};\r\n\r\nexport default Header;\r\n","import React, { useSate } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Paper } from '@mui/material';\r\nimport withStyles from '@mui/styles/withStyles';\r\nimport CalendarPicker from '@mui/lab/CalendarPicker';\r\n\r\nconst styles = theme => ({\r\n\ticonButton: {\r\n\t\tbackgroundColor: '#465A65'\r\n\t}\r\n});\r\n\r\nconst Calendar = ({\r\n\tselectedDate,\r\n\thandleDateChange,\r\n\tclasses,\r\n\t...rest\r\n}) => {\r\n\tconst [selectedStateDate, setSelectedDate] = useSate({\r\n\t\tdate: selectedDate,\r\n\t\tonChange: handleDateChange\r\n\t});\r\n\r\n\tconst handleChange = date => {\r\n\t\tsetSelectedDate(date);\r\n\t\thandleDateChange(date);\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nCalendar.propTypes = {\r\n\tselectedDate: PropTypes.any.isRequired,\r\n\thandleDateChange: PropTypes.func.isRequired,\r\n\tclasses: PropTypes.object.isRequired\r\n};\r\n\r\nexport default withStyles(styles)(Calendar);\r\n","import React, { useRef, useEffect } from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardContent, CardActions, Grid, Divider, colors, Paper, Tooltip, IconButton, InputBase } from '@mui/material';\r\nimport AttachFileIcon from '@mui/icons-material/AttachFile';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: '2px 4px',\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\twidth: '100%',\r\n\t\theight: '100%',\r\n\t},\r\n\tinput: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t\tflex: 1,\r\n\t},\r\n\ticonButton: {\r\n\t\tpadding: 10,\r\n\t},\r\n\tdivider: {\r\n\t\theight: 28,\r\n\t\tmargin: 4,\r\n\t},\r\n}));\r\n\r\nconst FilePicker = (props) => {\r\n\tconst { value, onChange, accept } = props;\r\n\tconst classes = useStyles();\r\n\tconst inputFile = useRef(null);\r\n\r\n\tconst _selectFile = () => {\r\n\t\tinputFile.current.click();\r\n\t};\r\n\r\n\tconst _onChange = (event) => {\r\n\t\tonChange(event);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t { inputFile.current = ref; }} onChange={_onChange} style={{ display: 'none' }} />\r\n\t\t\r\n\t);\r\n};\r\n\r\nFilePicker.propTypes = {\r\n\tvalue: PropTypes.string,\r\n\tonChange: PropTypes.func.isRequired,\r\n\taccept: PropTypes.string,\r\n};\r\n\r\nexport default FilePicker;\r\n","import React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\n\r\nimport { PowerBIEmbed } from 'powerbi-client-react';\r\nimport { models } from 'powerbi-client';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\theight: '80vh',\r\n\t},\r\n}));\r\n\r\nconst PowerBIDashboard = (props) => {\r\n\tconst { url, reportId, accessToken } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tuseEffect(() => {\r\n\t}, [url]);\r\n\r\n\tif (!url) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t { console.log('Report loaded'); }],\r\n\t\t\t\t\t['rendered', () => { console.log('Report rendered'); }],\r\n\t\t\t\t\t['error', (event) => { console.log(event.detail); }]\r\n\t\t\t\t])\r\n\t\t\t} */\r\n\t\t\tcssClassName={classes.root}\r\n\t\t\tgetEmbeddedComponent={(embeddedReport) => {\r\n\t\t\t\twindow.report = embeddedReport;\r\n\t\t\t}}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nPowerBIDashboard.propTypes = {\r\n\turl: PropTypes.string.isRequired,\r\n\treportId: PropTypes.string.isRequired,\r\n\taccessToken: PropTypes.string.isRequired\r\n};\r\n\r\nexport default PowerBIDashboard;\r\n","import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tChip,\r\n\tCollapse,\r\n\tDivider,\r\n\tDrawer,\r\n\tFormControlLabel,\r\n\tRadio,\r\n\tRadioGroup,\r\n\tSlider,\r\n\tTextField,\r\n\tTypography,\r\n\tToggleButton, ToggleButtonGroup } from '@mui/material';\r\n\r\nimport ExpandLessIcon from '@mui/icons-material/ExpandLess';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\nimport CloseIcon from '@mui/icons-material/Close';\r\nimport DeleteIcon from '@mui/icons-material/DeleteOutlined';\r\nimport AddIcon from '@mui/icons-material/Add';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\theight: '100%',\r\n\t\tdisplay: 'flex',\r\n\t\tflexDirection: 'column',\r\n\t},\r\n\tdrawer: {\r\n\t\twidth: 420,\r\n\t\tmaxWidth: '100%',\r\n\t},\r\n\theader: {\r\n\t\tpadding: theme.spacing(2, 1),\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'space-between',\r\n\t},\r\n\tbuttonIcon: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: theme.spacing(0, 3),\r\n\t\tflexGrow: 1,\r\n\t},\r\n\tcontentSection: {\r\n\t\tpadding: theme.spacing(2, 0),\r\n\t},\r\n\tcontentSectionHeader: {\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'space-between',\r\n\t\tcursor: 'pointer',\r\n\t},\r\n\tcontentSectionContent: {},\r\n\tformGroup: {\r\n\t\tpadding: theme.spacing(2, 0),\r\n\t},\r\n\tfieldGroup: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tfield: {\r\n\t\tmarginTop: 0,\r\n\t\tmarginBottom: 0,\r\n\t},\r\n\tflexGrow: {\r\n\t\tflexGrow: 1,\r\n\t},\r\n\taddButton: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n\ttags: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\tminAmount: {\r\n\t\tmarginRight: theme.spacing(3),\r\n\t},\r\n\tmaxAmount: {\r\n\t\tmarginLeft: theme.spacing(3),\r\n\t},\r\n\tradioGroup: {},\r\n\tactions: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\t'& > * + *': {\r\n\t\t\tmarginTop: theme.spacing(2),\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst FiltersDrawer = (props) => {\r\n\tconst { open, onClose, onFilter, className, children, filterDisabled, onClear, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{children}\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{onClear && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tApply filters\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nFiltersDrawer.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tonClose: PropTypes.func,\r\n\tonFilter: PropTypes.func,\r\n\topen: PropTypes.bool.isRequired,\r\n\tchildren: PropTypes.object,\r\n\tfilterDisabled: PropTypes.bool,\r\n\tonClear: PropTypes.func\r\n};\r\n\r\nexport default FiltersDrawer;\r\n","export default (name = '') => name\r\n\t.replace(/\\s+/, ' ')\r\n\t.split(' ')\r\n\t.slice(0, 2)\r\n\t.map((v) => v && v[0].toUpperCase())\r\n\t.join('');\r\n","import { colors } from '@mui/material';\r\n\r\nconst white = '#FFFFFF';\r\nconst black = '#000000';\r\n\r\nexport default {\r\n\tblack,\r\n\twhite,\r\n\tprimary: {\r\n\t\tcontrastText: white,\r\n\t\tdark: colors.blue[900],\r\n\t\tmain: colors.blue[800],\r\n\t\tlight: colors.blue[100],\r\n\t},\r\n\tsecondary: {\r\n\t\tcontrastText: white,\r\n\t\tdark: colors.blue[900],\r\n\t\tmain: colors.blue.A400,\r\n\t\tlight: colors.blue.A400,\r\n\t},\r\n\terror: {\r\n\t\tcontrastText: white,\r\n\t\tdark: colors.red[900],\r\n\t\tmain: colors.red[600],\r\n\t\tlight: colors.red[400],\r\n\t},\r\n\ttext: {\r\n\t\tprimary: colors.blueGrey[900],\r\n\t\tsecondary: colors.blueGrey[600],\r\n\t\tlink: colors.blue[600],\r\n\t},\r\n\tlink: colors.blue[800],\r\n\ticon: colors.blueGrey[600],\r\n\tbackground: {\r\n\t\tdefault: '#F4F6F8',\r\n\t\tpaper: white,\r\n\t},\r\n\tdivider: colors.grey[200],\r\n};\r\n","import palette from './palette';\r\n\r\nexport default {\r\n\th1: {\r\n\t\tcolor: palette.text.primary,\r\n\t\tfontWeight: 500,\r\n\t\tfontSize: '35px',\r\n\t\tletterSpacing: '-0.24px',\r\n\t\tlineHeight: '40px',\r\n\t},\r\n\th2: {\r\n\t\tcolor: palette.text.primary,\r\n\t\tfontWeight: 500,\r\n\t\tfontSize: '29px',\r\n\t\tletterSpacing: '-0.24px',\r\n\t\tlineHeight: '32px',\r\n\t},\r\n\th3: {\r\n\t\tcolor: palette.text.primary,\r\n\t\tfontWeight: 500,\r\n\t\tfontSize: '24px',\r\n\t\tletterSpacing: '-0.06px',\r\n\t\tlineHeight: '28px',\r\n\t},\r\n\th4: {\r\n\t\tcolor: palette.text.primary,\r\n\t\tfontWeight: 500,\r\n\t\tfontSize: '20px',\r\n\t\tletterSpacing: '-0.06px',\r\n\t\tlineHeight: '24px',\r\n\t},\r\n\th5: {\r\n\t\tcolor: palette.text.primary,\r\n\t\tfontWeight: 500,\r\n\t\tfontSize: '16px',\r\n\t\tletterSpacing: '-0.05px',\r\n\t\tlineHeight: '20px',\r\n\t},\r\n\th6: {\r\n\t\tcolor: palette.text.primary,\r\n\t\tfontWeight: 500,\r\n\t\tfontSize: '14px',\r\n\t\tletterSpacing: '-0.05px',\r\n\t\tlineHeight: '20px',\r\n\t},\r\n\tsubtitle1: {\r\n\t\tcolor: palette.text.primary,\r\n\t\tfontSize: '16px',\r\n\t\tletterSpacing: '-0.05px',\r\n\t\tlineHeight: '25px',\r\n\t},\r\n\tsubtitle2: {\r\n\t\tcolor: palette.text.secondary,\r\n\t\tfontWeight: 400,\r\n\t\tfontSize: '14px',\r\n\t\tletterSpacing: '-0.05px',\r\n\t\tlineHeight: '21px',\r\n\t},\r\n\tbody1: {\r\n\t\tcolor: palette.text.primary,\r\n\t\tfontSize: '14px',\r\n\t\tletterSpacing: '-0.05px',\r\n\t\tlineHeight: '21px',\r\n\t},\r\n\tbody2: {\r\n\t\tcolor: palette.text.secondary,\r\n\t\tfontSize: '12px',\r\n\t\tletterSpacing: '-0.04px',\r\n\t\tlineHeight: '18px',\r\n\t},\r\n\tbutton: {\r\n\t\tcolor: palette.text.primary,\r\n\t\tfontSize: '14px',\r\n\t},\r\n\tcaption: {\r\n\t\tcolor: palette.text.secondary,\r\n\t\tfontSize: '11px',\r\n\t\tletterSpacing: '0.33px',\r\n\t\tlineHeight: '13px',\r\n\t},\r\n\toverline: {\r\n\t\tcolor: palette.text.secondary,\r\n\t\tfontSize: '11px',\r\n\t\tfontWeight: 500,\r\n\t\tletterSpacing: '0.33px',\r\n\t\tlineHeight: '13px',\r\n\t\ttextTransform: 'uppercase',\r\n\t},\r\n};\r\n","import { colors } from '@mui/material';\r\n\r\nexport default {\r\n\tstyleOverrides: {\r\n\t\troot: {\r\n\t\t\tbackgroundColor: colors.blueGrey[50],\r\n\t\t\tcolor: colors.blueGrey[900],\r\n\t\t},\r\n\t\tdeletable: {\r\n\t\t\t'&:focus': {\r\n\t\t\t\tbackgroundColor: colors.blueGrey[100],\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n};\r\n","import palette from '../palette';\r\n\r\nexport default {\r\n\troot: {\r\n\t\tcolor: palette.icon,\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: 'rgba(0, 0, 0, 0.03)',\r\n\t\t},\r\n\t},\r\n};\r\n","import palette from '../palette';\r\n\r\nexport default {\r\n\tstyleOverrides: {\r\n\t\troot: {},\r\n\t\tinput: {\r\n\t\t\t'&::placeholder': {\r\n\t\t\t\topacity: 1,\r\n\t\t\t\tcolor: palette.text.secondary,\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n};\r\n","import { colors } from '@mui/material';\r\n\r\nexport default {\r\n\tstyleOverrides: {\r\n\t\troot: {\r\n\t\t\tborderRadius: 3,\r\n\t\t\toverflow: 'hidden',\r\n\t\t},\r\n\t\tcolorPrimary: {\r\n\t\t\tbackgroundColor: colors.blueGrey[50],\r\n\t\t},\r\n\t},\r\n};\r\n","import palette from '../palette';\r\n\r\nexport default {\r\n\tstyleOverrides: {\r\n\t\troot: {\r\n\t\t\tcolor: palette.icon,\r\n\t\t\tminWidth: 32,\r\n\t\t},\r\n\t},\r\n};\r\n","import { colors } from '@mui/material';\r\n\r\nexport default {\r\n\tstyleOverrides: {\r\n\t\troot: {\r\n\t\t\tbackgroundColor: colors.grey[50],\r\n\t\t},\r\n\t},\r\n};\r\n","import MuiButton from './MuiButton';\r\nimport MuiCardActions from './MuiCardActions';\r\nimport MuiCardContent from './MuiCardContent';\r\nimport MuiCardHeader from './MuiCardHeader';\r\nimport MuiChip from './MuiChip';\r\nimport MuiIconButton from './MuiIconButton';\r\nimport MuiInputBase from './MuiInputBase';\r\nimport MuiLinearProgress from './MuiLinearProgress';\r\nimport MuiListItemIcon from './MuiListItemIcon';\r\nimport MuiOutlinedInput from './MuiOutlinedInput';\r\nimport MuiPaper from './MuiPaper';\r\nimport MuiTableHead from './MuiTableHead';\r\nimport MuiTableCell from './MuiTableCell';\r\nimport MuiTableRow from './MuiTableRow';\r\nimport MuiToggleButton from './MuiToggleButton';\r\nimport MuiTypography from './MuiTypography';\r\n\r\nexport default {\r\n\tMuiButton,\r\n\tMuiCardActions,\r\n\tMuiCardContent,\r\n\tMuiCardHeader,\r\n\tMuiChip,\r\n\tMuiIconButton,\r\n\tMuiInputBase,\r\n\tMuiLinearProgress,\r\n\tMuiListItemIcon,\r\n\tMuiOutlinedInput,\r\n\tMuiPaper,\r\n\tMuiTableHead,\r\n\tMuiTableCell,\r\n\tMuiTableRow,\r\n\tMuiToggleButton,\r\n\tMuiTypography,\r\n};\r\n","export default {\r\n\tcontained: {\r\n\t\tboxShadow:\r\n\t\t\t'0 1px 1px 0 rgba(0,0,0,0.14), 0 2px 1px -1px rgba(0,0,0,0.12), 0 1px 3px 0 rgba(0,0,0,0.20)',\r\n\t\tbackgroundColor: '#FFFFFF',\r\n\t},\r\n};\r\n","export default {\r\n\tstyleOverrides: {\r\n\t\troot: {\r\n\t\t\tpadding: '16px 24px',\r\n\t\t},\r\n\t},\r\n};\r\n","export default {\r\n\tstyleOverrides: {\r\n\t\troot: {\r\n\t\t\tpadding: '24px'\r\n\t\t},\r\n\t},\r\n};\r\n","export default {\r\n\tstyleOverrides: {\r\n\t\troot: {\r\n\t\t\tpadding: '16px 24px',\r\n\t\t},\r\n\t},\r\n};\r\n","export default {\r\n\tstyleOverrides: {\r\n\t\troot: {},\r\n\t\tnotchedOutline: {\r\n\t\t\tborderColor: 'rgba(0,0,0,0.15)',\r\n\t\t},\r\n\t},\r\n};\r\n","export default {\r\n\tstyleOverrides: {\r\n\t\troot: {},\r\n\t\televation1: {\r\n\t\t\tboxShadow:\r\n\t\t\t\t'0 0 0 1px rgba(63,63,68,0.05), 0 1px 3px 0 rgba(63,63,68,0.15)',\r\n\t\t},\r\n\t},\r\n};\r\n","import palette from '../palette';\r\nimport typography from '../typography';\r\n\r\nexport default {\r\n\tstyleOverrides: {\r\n\t\troot: {\r\n\t\t\t...typography.body1,\r\n\t\t\tborderBottom: `1px solid ${palette.divider}`,\r\n\t\t},\r\n\t},\r\n};\r\n","import palette from '../palette';\r\n\r\nexport default {\r\n\tstyleOverrides: {\r\n\t\troot: {\r\n\t\t\t'&$selected': {\r\n\t\t\t\tbackgroundColor: palette.background.default,\r\n\t\t\t},\r\n\t\t\t'&$hover': {\r\n\t\t\t\t'&:hover': {\r\n\t\t\t\t\tbackgroundColor: palette.background.default,\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n};\r\n","import { colors } from '@mui/material';\r\n\r\nimport palette from '../palette';\r\n\r\nexport default {\r\n\tstyleOverrides: {\r\n\t\troot: {\r\n\t\t\tcolor: palette.icon,\r\n\t\t\t'&:hover': {\r\n\t\t\t\tbackgroundColor: colors.grey[100],\r\n\t\t\t},\r\n\t\t\t'&$selected': {\r\n\t\t\t\tbackgroundColor: colors.grey[50],\r\n\t\t\t\tcolor: palette.primary.main,\r\n\t\t\t\t'&:hover': {\r\n\t\t\t\t\tbackgroundColor: colors.grey[100],\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\t'&:first-child': {\r\n\t\t\t\tborderTopLeftRadius: 4,\r\n\t\t\t\tborderBottomLeftRadius: 4,\r\n\t\t\t},\r\n\t\t\t'&:last-child': {\r\n\t\t\t\tborderTopRightRadius: 4,\r\n\t\t\t\tborderBottomRightRadius: 4,\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n};\r\n","export default {\r\n\tstyleOverrides: {\r\n\t\tgutterBottom: {\r\n\t\t\tmarginBottom: '8px',\r\n\t\t},\r\n\t},\r\n};\r\n","import { createTheme } from '@mui/material';\r\n\r\nimport palette from './palette';\r\nimport typography from './typography';\r\nimport overrides from './overrides';\r\n\r\nconst theme = createTheme({\r\n\tpalette,\r\n\ttypography,\r\n\tcomponents: overrides,\r\n});\r\n\r\nexport default theme;\r\n","import jwt from 'jwt-decode';\r\nimport * as actionTypes from 'actions';\r\nimport config from 'configuration/configuration.js';\r\n\r\nconst token = localStorage.getItem(config.TOKEN_KEY);\r\nlet initialState = {\r\n\tloggedIn: false,\r\n\tuser: {\r\n\t},\r\n\tnotifications: [],\r\n\tisLoading: false,\r\n\tloadingCount: 0,\r\n\tdownloads: [],\r\n\tdownloadskey: 'all',\r\n};\r\n\r\nif (token) {\r\n\tconst decoded = jwt(token);\r\n\tconst currentDate = new Date().getTime() / 1000;\r\n\tif (decoded.exp > currentDate) {\r\n\t\tinitialState = { ...initialState, loggedIn: true, user: { ...decoded } };\r\n\t}\r\n}\r\n\r\nconst sessionReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase actionTypes.REDIRECT_TO_ERROR: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tlink: action.link\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase actionTypes.SESSION_LOGIN: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tloggedIn: true\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase actionTypes.USER_INFO: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tuser: { ...state.user, ...action.user }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase actionTypes.SESSION_LOGOUT: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tloggedIn: false,\r\n\t\t\t\t\t\t\tuser: {\r\n\t\t\t\t\t\t\t\trole: 'Client',\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase actionTypes.SET_NOTIFICATIONS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tnotifications: action.notifications || [],\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase actionTypes.SET_DOWNLOADS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tdownloads: action.downloads || [],\r\n\t\t\t\t\t\t\tdownloadskey: action.downloadskey || 'all'\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase actionTypes.SET_LOADING: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\r\n\t\t\t\t\t\t\tloadingCount: action.isLoading ? state.loadingCount++ : state.loadingCount--,\r\n\t\t\t\t\t\t\tisLoading: state.loadingCount > 0,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default sessionReducer;\r\n","import { ENQUEUE_SNACKBAR, CLOSE_SNACKBAR, REMOVE_SNACKBAR } from 'actions';\r\n\r\nconst defaultState = {\r\n\tnotifications: [],\r\n};\r\n\r\nexport default (state = defaultState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase ENQUEUE_SNACKBAR:\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tnotifications: [\r\n\t\t\t\t\t\t\t\t...state.notifications,\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tkey: action.key,\r\n\t\t\t\t\t\t\t\t\t...action.notification,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\tcase CLOSE_SNACKBAR:\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tnotifications: state.notifications.map(notification => (\r\n\t\t\t\t\t\t\t\t(action.dismissAll || notification.key === action.key)\r\n\t\t\t\t\t\t\t\t\t? { ...notification, dismissed: true }\r\n\t\t\t\t\t\t\t\t\t: { ...notification }\r\n\t\t\t\t\t\t\t)),\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\tcase REMOVE_SNACKBAR:\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tnotifications: state.notifications.filter(\r\n\t\t\t\t\t\t\t\tnotification => notification.key !== action.key,\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\treturn state;\r\n\t}\r\n};\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GetUsersRequest = (role) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Users/GetUsers`,\r\n\tparams: { role }\r\n});\r\n\r\nexport const GetUsersStatsRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Users/GetUsersStats`,\r\n\tparams: {}\r\n});\r\n\r\nexport const GetRolesRequest = (role) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Users/GetRoles`,\r\n\tparams: { role }\r\n});\r\n\r\nexport const GetOperatorsRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Users/GetOperators`,\r\n\tparams: {}\r\n});\r\n\r\nexport const GetOperatorProjectsRequest = (operatorIds) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Users/GetOperatorProjects`,\r\n\tparams: { operatorIds }\r\n});\r\n\r\nexport const CreateUserRequest = (user) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Users/CreateUser`,\r\n\tdata: user\r\n});\r\n\r\nexport const EditUserRequest = (user) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Users/EditUser`,\r\n\tdata: user\r\n});\r\n\r\nexport const GetUserRequest = (userId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Users/GetUserById`,\r\n\tparams: { userId }\r\n});\r\n\r\nexport const ResendConfirmationEmailRequest = (userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Users/ResendConfirmationEmail`,\r\n\tparams: { userId }\r\n});\r\n\r\nexport const DeactivateUserRequest = (userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Users/DeactivateUser`,\r\n\tparams: { userId }\r\n});\r\n\r\nexport const DeleteUserRequest = (userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Users/DeleteUser`,\r\n\tparams: { userId }\r\n});\r\n","import { enqueueSnackbar } from 'actions';\r\n\r\nimport {\r\n\tGetUsersRequest,\r\n\tGetUsersStatsRequest,\r\n\tGetRolesRequest,\r\n\tGetOperatorsRequest,\r\n\tGetOperatorProjectsRequest,\r\n\tCreateUserRequest,\r\n\tGetUserRequest,\r\n\tEditUserRequest,\r\n\tResendConfirmationEmailRequest,\r\n\tDeactivateUserRequest,\r\n\tDeleteUserRequest\r\n} from '../requests/UsersRequests.js';\r\n\r\nexport const GET_USERS = 'GET_USERS';\r\nexport const GET_USERS_STATS = 'GET_USERS_STATS';\r\nexport const TOGGLE_ADD_EDIT_USER_DIALOG = 'TOGGLE_ADD_EDIT_USER_DIALOG';\r\nexport const TOGGLE_DELETE_USER_DIALOG = 'TOGGLE_DELETE_USER_DIALOG';\r\nexport const GET_ROLES = 'GET_ROLES';\r\nexport const GET_OPERATORS = 'GET_OPERATORS';\r\nexport const GET_OPERATOR_PROJECTS = 'GET_OPERATOR_PROJECTS';\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\nexport const GET_USER = 'GET_USER';\r\n\r\nconst onGetUsers = (value) => ({\r\n\ttype: GET_USERS,\r\n\tusers: value\r\n});\r\n\r\nconst onGetUsersStats = (value) => ({\r\n\ttype: GET_USERS_STATS,\r\n\tusersStats: value\r\n});\r\n\r\nconst onToggleAddEditUserDialog = (openAddEditUserDialog, openAddEditUserDialogId) => ({\r\n\ttype: TOGGLE_ADD_EDIT_USER_DIALOG,\r\n\topenAddEditUserDialog,\r\n\topenAddEditUserDialogId\r\n});\r\n\r\nconst onToggleDeleteUserDialog = (openDeleteUserDialog, openDeleteUserDialogId) => ({\r\n\ttype: TOGGLE_DELETE_USER_DIALOG,\r\n\topenDeleteUserDialog,\r\n\topenDeleteUserDialogId\r\n});\r\n\r\nconst onGetRoles = (value) => ({\r\n\ttype: GET_ROLES,\r\n\troles: value\r\n});\r\n\r\nconst onGetOperators = (value) => ({\r\n\ttype: GET_OPERATORS,\r\n\toperators: value\r\n});\r\n\r\nconst onGetOperatorProjects = (value) => ({\r\n\ttype: GET_OPERATOR_PROJECTS,\r\n\toperatorProjects: value\r\n});\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nconst onGetUser = (value) => ({\r\n\ttype: GET_USER,\r\n\tuser: value\r\n});\r\n\r\nexport const GetUsers = (role) => async (dispatch) => {\r\n\tawait GetUsersRequest(role).then(response => {\r\n\t\tdispatch(onGetUsers(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetUsersStats = () => async (dispatch) => {\r\n\tawait GetUsersStatsRequest().then(response => {\r\n\t\tdispatch(onGetUsersStats(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const ToggleAddEditUserDialog = (openAddEditUserDialog, openAddEditUserDialogId) => (dispatch) => {\r\n\tdispatch(onToggleAddEditUserDialog(openAddEditUserDialog, openAddEditUserDialogId));\r\n};\r\n\r\nexport const ToggleDeleteUserDialog = (openDeleteUserDialog, openDeleteUserDialogId) => (dispatch) => {\r\n\tdispatch(onToggleDeleteUserDialog(openDeleteUserDialog, openDeleteUserDialogId));\r\n};\r\n\r\nexport const GetRoles = (role) => async (dispatch) => {\r\n\tawait GetRolesRequest(role).then(response => {\r\n\t\tdispatch(onGetRoles(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetOperators = () => async (dispatch) => {\r\n\tawait GetOperatorsRequest().then(response => {\r\n\t\tdispatch(onGetOperators(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetOperatorProjects = (operatorIds) => async (dispatch) => {\r\n\tawait GetOperatorProjectsRequest(operatorIds).then(response => {\r\n\t\tdispatch(onGetOperatorProjects(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const CreateUser = (userData, role) => async (dispatch) => {\r\n\tawait CreateUserRequest(userData).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'New user created!', options: { key: new Date().getTime() + Math.random(), variant: 'success' } }));\r\n\t\tdispatch(GetUsers(role));\r\n\t\tdispatch(GetUsersStats());\r\n\t\tdispatch(ToggleAddEditUserDialog(false));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const EditUser = (userData, role) => async (dispatch) => {\r\n\tawait EditUserRequest(userData).then(response => {\r\n\t\tdispatch(GetUsers(role));\r\n\t\tdispatch(GetUsersStats());\r\n\t\tdispatch(ToggleAddEditUserDialog(false));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetUser = (userId) => async (dispatch) => {\r\n\tawait GetUserRequest(userId).then(response => {\r\n\t\tdispatch(onGetUser(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const ResendConfirmationEmail = (userId) => async (dispatch) => {\r\n\tawait ResendConfirmationEmailRequest(userId).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'Confirmation email sent!', options: { key: new Date().getTime() + Math.random(), variant: 'success' } }));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const DeactivateUser = (userId, role) => async (dispatch) => {\r\n\tawait DeactivateUserRequest(userId).then(response => {\r\n\t\tdispatch(GetUsers(role));\r\n\t\tdispatch(GetUsersStats());\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const DeleteUser = (userId, role) => async (dispatch) => {\r\n\tawait DeleteUserRequest(userId).then(response => {\r\n\t\tdispatch(GetUsers(role));\r\n\t\tdispatch(GetUsersStats());\r\n\t\tdispatch(ToggleDeleteUserDialog(false));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tGET_USERS,\r\n\tGET_USERS_STATS,\r\n\tTOGGLE_ADD_EDIT_USER_DIALOG,\r\n\tTOGGLE_DELETE_USER_DIALOG,\r\n\tGET_ROLES,\r\n\tGET_OPERATORS,\r\n\tGET_OPERATOR_PROJECTS,\r\n\tSET_FORM_STATE,\r\n\tGET_USER\r\n} from '../actions/UsersActions.js';\r\n\r\nconst initialState = {\r\n\tusers: [],\r\n\tusersStats: {},\r\n\topenAddEditUserDialog: false,\r\n\topenAddEditUserDialogId: null,\r\n\topenDeleteUserDialog: false,\r\n\topenDeleteUserDialogId: null,\r\n\troles: [],\r\n\toperators: [],\r\n\toperatorProjects: [],\r\n\tformState: {\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {},\r\n\t}\r\n};\r\n\r\nconst usersReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase GET_USERS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tusers: action.users\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_USERS_STATS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tusersStats: action.usersStats\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase TOGGLE_ADD_EDIT_USER_DIALOG: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\topenAddEditUserDialog: action.openAddEditUserDialog,\r\n\t\t\t\t\t\t\topenAddEditUserDialogId: action.openAddEditUserDialogId,\r\n\t\t\t\t\t\t\tformState: initialState.formState,\r\n\t\t\t\t\t\t\troles: [],\r\n\t\t\t\t\t\t\toperators: [],\r\n\t\t\t\t\t\t\toperatorProjects: [],\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase TOGGLE_DELETE_USER_DIALOG: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\topenDeleteUserDialog: action.openDeleteUserDialog,\r\n\t\t\t\t\t\t\topenDeleteUserDialogId: action.openDeleteUserDialogId\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_ROLES: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\troles: action.roles\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_OPERATORS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\toperators: action.operators\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_OPERATOR_PROJECTS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\toperatorProjects: action.operatorProjects\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: action.formState\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_USER: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: {\r\n\t\t\t\t\t\t\t\t...state.formState,\r\n\t\t\t\t\t\t\t\tvalues: { ...action.user }\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default usersReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GetOperatorsRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Operators/GetOperators`,\r\n\tparams: {}\r\n});\r\n\r\nexport const CreateOperatorRequest = (operator) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Operators/CreateOperator`,\r\n\tdata: operator\r\n});\r\n\r\nexport const DeleteOperatorRequest = (operator) => AxiosRequest({\r\n\tmethod: 'DELETE',\r\n\turl: `${config.API_URL}Operators/DeleteOperator`,\r\n\tdata: operator\r\n});\r\n\r\nexport const GetOperatorRequest = (operatorId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Operators/GetOperator`,\r\n\tparams: { operatorId }\r\n});\r\n\r\nexport const UpdateImageRequest = (operator) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Operators/UpdateImage`,\r\n\tdata: operator\r\n});\r\n\r\nexport const DeleteProjectRequest = (projectId) => AxiosRequest({\r\n\tmethod: 'DELETE',\r\n\turl: `${config.API_URL}Operators/DeleteProject`,\r\n\tparams: { projectId }\r\n});\r\n\r\nexport const CreateProjectRequest = (project) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Operators/CreateProject`,\r\n\tdata: project\r\n});\r\n\r\nexport const UpdateOperatorRequest = (operator) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Operators/UpdateOperator`,\r\n\tdata: operator\r\n});\r\n","import { enqueueSnackbar } from 'actions';\r\n\r\nimport {\r\n\tGetOperatorsRequest,\r\n\tCreateOperatorRequest,\r\n\tDeleteOperatorRequest,\r\n\tGetOperatorRequest,\r\n\tUpdateImageRequest,\r\n\tDeleteProjectRequest,\r\n\tCreateProjectRequest,\r\n\tUpdateOperatorRequest\r\n} from '../requests/OperatorsRequests.js';\r\n\r\nexport const GET_OPERATORS = 'GET_OPERATORS';\r\nexport const TOGGLE_ADD_OPERATOR_DIALOG = 'TOGGLE_ADD_OPERATOR_DIALOG';\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\nexport const NAVIGATE_DETAILS = 'NAVIGATE_DETAILS';\r\nexport const GET_OPERATOR = 'GET_OPERATOR';\r\nexport const TOGGLE_ADD_PROJECT_DIALOG = 'TOGGLE_ADD_PROJECT_DIALOG';\r\n\r\nconst onGetOperators = (value) => ({\r\n\ttype: GET_OPERATORS,\r\n\toperators: value\r\n});\r\n\r\nconst onToggleAddOperatorDialog = (openAddOperatorDialog) => ({\r\n\ttype: TOGGLE_ADD_OPERATOR_DIALOG,\r\n\topenAddOperatorDialog,\r\n});\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nconst onNavigateDetails = (value) => ({\r\n\ttype: NAVIGATE_DETAILS,\r\n\tdetailsOperatorId: value\r\n});\r\n\r\nconst onGetOperator = (value) => ({\r\n\ttype: GET_OPERATOR,\r\n\toperator: value\r\n});\r\n\r\nconst onToggleAddProjectDialog = (openAddProjectDialog) => ({\r\n\ttype: TOGGLE_ADD_PROJECT_DIALOG,\r\n\topenAddProjectDialog,\r\n});\r\n\r\nexport const GetOperators = () => async (dispatch) => {\r\n\tawait GetOperatorsRequest().then(response => {\r\n\t\tdispatch(onGetOperators(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const ToggleAddOperatorDialog = (openAddEditOperatorDialog) => (dispatch) => {\r\n\tdispatch(onToggleAddOperatorDialog(openAddEditOperatorDialog));\r\n};\r\n\r\nexport const CreateOperator = (data) => async (dispatch) => {\r\n\tawait CreateOperatorRequest(data).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'New operator created!', options: { key: new Date().getTime() + Math.random(), variant: 'success' } }));\r\n\t\tdispatch(GetOperators());\r\n\t\tdispatch(ToggleAddOperatorDialog(false));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const DeleteOperator = (data) => async (dispatch) => {\r\n\tawait DeleteOperatorRequest(data).then(response => {\r\n\t\tdispatch(GetOperators());\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const NavigateDetails = (value) => (dispatch) => {\r\n\tdispatch(onNavigateDetails(value));\r\n};\r\n\r\nexport const GetOperator = (operatorId) => async (dispatch) => {\r\n\tawait GetOperatorRequest(operatorId).then(response => {\r\n\t\tdispatch(onGetOperator(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const UpdateImage = (operator) => async (dispatch) => {\r\n\tawait UpdateImageRequest(operator).then(response => {\r\n\t\tdispatch(GetOperator(operator.id));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const DeleteProject = (projectId, operatorId) => async (dispatch) => {\r\n\tawait DeleteProjectRequest(projectId).then(response => {\r\n\t\tdispatch(GetOperator(operatorId));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const ToggleAddProjectDialog = (openAddEditProjectDialog) => (dispatch) => {\r\n\tdispatch(onToggleAddProjectDialog(openAddEditProjectDialog));\r\n};\r\n\r\nexport const CreateProject = (data) => async (dispatch) => {\r\n\tawait CreateProjectRequest(data).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'New project created!', options: { key: new Date().getTime() + Math.random(), variant: 'success' } }));\r\n\t\tdispatch(GetOperator(data.operatorId));\r\n\t\tdispatch(ToggleAddProjectDialog(false));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const UpdateOperator = (operator) => async (dispatch) => {\r\n\tawait UpdateOperatorRequest(operator).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'Operator updated!', options: { key: new Date().getTime() + Math.random(), variant: 'success' } }));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tTOGGLE_ADD_OPERATOR_DIALOG,\r\n\tGET_OPERATORS,\r\n\tSET_FORM_STATE,\r\n\tNAVIGATE_DETAILS,\r\n\tGET_OPERATOR,\r\n\tTOGGLE_ADD_PROJECT_DIALOG\r\n} from '../actions/OperatorsActions.js';\r\n\r\nconst initialState = {\r\n\toperators: [],\r\n\topenAddOperatorDialog: false,\r\n\tdetailsOperatorId: null,\r\n\toperator: {},\r\n\tformState: {\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {},\r\n\t},\r\n\topenAddProjectDialog: false,\r\n};\r\n\r\nconst operatorsReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase GET_OPERATORS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\toperators: action.operators\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase TOGGLE_ADD_OPERATOR_DIALOG: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\topenAddOperatorDialog: action.openAddOperatorDialog,\r\n\t\t\t\t\t\t\tformState: initialState.formState\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: action.formState\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase NAVIGATE_DETAILS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tdetailsOperatorId: action.detailsOperatorId\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_OPERATOR: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\toperator: action.operator,\r\n\t\t\t\t\t\t\tformState: {\r\n\t\t\t\t\t\t\t\t...state.formState,\r\n\t\t\t\t\t\t\t\tvalues: { ...action.operator }\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase TOGGLE_ADD_PROJECT_DIALOG: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\topenAddProjectDialog: action.openAddProjectDialog,\r\n\t\t\t\t\t\t\tformState: initialState.formState\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default operatorsReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GetOperatorsRequest = (userId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Account/GetUserOperators`,\r\n\tparams: { userId }\r\n});\r\n\r\nexport const UpdateSettingsRequest = (data) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Account/UpdateSettings`,\r\n\tdata\r\n});\r\n\r\nexport const ChangePasswordRequest = (data) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Account/ChangePassword`,\r\n\tdata\r\n});\r\n","import { enqueueSnackbar, getUserInfo } from 'actions';\r\nimport config from 'configuration/configuration.js';\r\n\r\nimport {\r\n\tGetOperatorsRequest,\r\n\tUpdateSettingsRequest,\r\n\tChangePasswordRequest\r\n} from '../requests/SettingsRequests.js';\r\n\r\nexport const GET_OPERATORS = 'GET_OPERATORS';\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onGetOperators = (value) => ({\r\n\ttype: GET_OPERATORS,\r\n\toperators: value\r\n});\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const GetOperators = (userId) => async (dispatch) => {\r\n\tawait GetOperatorsRequest(userId).then(response => {\r\n\t\tdispatch(onGetOperators(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const UpdateSettings = (data) => async (dispatch) => {\r\n\tawait UpdateSettingsRequest(data).then(response => {\r\n\t\tdispatch(getUserInfo(localStorage.getItem(config.TOKEN_KEY)));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const ChangePassword = (data) => async (dispatch) => {\r\n\tawait ChangePasswordRequest(data).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'Password changed!', options: { key: new Date().getTime() + Math.random(), variant: 'success' } }));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tGET_OPERATORS,\r\n\tSET_FORM_STATE\r\n} from '../actions/SettingsActions.js';\r\n\r\nconst initialState = {\r\n\toperators: [],\r\n\tformState: {\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {},\r\n\t}\r\n};\r\n\r\nconst usersReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase GET_OPERATORS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\toperators: action.operators\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: action.formState\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default usersReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const DashboardInspectRequest = (dashboardId, userId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Dashboard/Inspect`,\r\n\tparams: { dashboardId, userId }\r\n});\r\n","import { enqueueSnackbar } from 'actions';\r\n\r\nimport {\r\n\tDashboardInspectRequest,\r\n} from '../requests/DashboardInspectRequests.js';\r\n\r\nexport const DASHBOARD_INSPECT = 'DASHBOARD_INSPECT';\r\n\r\nconst onDashboardInspect = (value) => ({\r\n\ttype: DASHBOARD_INSPECT,\r\n\tdashboard: value\r\n});\r\n\r\nexport const DashboardInspect = (dashboardId, userId) => async dispatch => {\r\n\tawait DashboardInspectRequest(dashboardId, userId).then(response => {\r\n\t\tdispatch(onDashboardInspect(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tDASHBOARD_INSPECT\r\n} from '../actions/DashboardInspectActions.js';\r\n\r\nconst initialState = {\r\n\tdashboard: {\r\n\t}\r\n};\r\n\r\nconst reportsReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase DASHBOARD_INSPECT: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tdashboard: action.dashboard\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default reportsReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GenerateTemplateRequest = (fileLocation, userId, template) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Scripts/GenerateTemplate`,\r\n\tparams: { fileLocation, userId, template }\r\n});\r\n\r\nexport const GetTemplatesRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Scripts/GetTemplates`,\r\n\tparams: { }\r\n});\r\n\r\nexport const GenerateCellInfoRequest = (fileLocation, userId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Scripts/GenerateCellInfo`,\r\n\tparams: { fileLocation, userId }\r\n});\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport {\r\n\tGenerateTemplateRequest,\r\n\tGetTemplatesRequest,\r\n\tGenerateCellInfoRequest\r\n} from '../requests/TechAddRequests.js';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\nexport const GET_TEMPLATES = 'GET_TEMPLATES';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nconst onGetTemplates = (value) => ({\r\n\ttype: GET_TEMPLATES,\r\n\ttemplates: value\r\n});\r\n\r\nexport const ProcessFile = (fileLocation, userId, template) => async (dispatch) => {\r\n\tawait GenerateTemplateRequest(fileLocation, userId, template).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GenerateTemplate = (file, userId, template) => async (dispatch) => {\r\n\tawait UploadFile(file).then(response => {\r\n\t\tdispatch(ProcessFile(response.data, userId, template));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const GetTemplates = () => async (dispatch) => {\r\n\tawait GetTemplatesRequest().then(response => {\r\n\t\tdispatch(onGetTemplates(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const ProcessFileCellInfo = (fileLocation, userId) => async (dispatch) => {\r\n\tawait GenerateCellInfoRequest(fileLocation, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GenerateCellInfo = (file, userId) => async (dispatch) => {\r\n\tawait UploadFile(file).then(response => {\r\n\t\tdispatch(ProcessFileCellInfo(response.data, userId));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE,\r\n\tGET_TEMPLATES,\r\n} from '../actions/TechAddActions.js';\r\n\r\nconst initialState = {\r\n\toperators: [],\r\n\topenAddOperatorDialog: false,\r\n\tdetailsOperatorId: null,\r\n\toperator: {},\r\n\tformState: {\r\n\t\ttechAdd: {\r\n\t\t\tisValid: false,\r\n\t\t\tvalues: {},\r\n\t\t\ttouched: {},\r\n\t\t\terrors: {},\r\n\t\t},\r\n\t\tcellInfo: {\r\n\t\t\tisValid: false,\r\n\t\t\tvalues: {},\r\n\t\t\ttouched: {},\r\n\t\t\terrors: {},\r\n\t\t}\r\n\t},\r\n\topenAddProjectDialog: false,\r\n\ttemplates: [],\r\n};\r\n\r\nconst techAddReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_TEMPLATES: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\ttemplates: action.templates\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default techAddReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GetSitesRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}ReportKpis/GetSites`,\r\n\tparams: {}\r\n});\r\n\r\nexport const GenerateReportRequest = (siteList, username, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}ReportKpis/GenerateReport`,\r\n\tdata: { siteList, username, userId }\r\n});\r\n\r\nexport const SyncTrackerRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}TrackerUpdate/UpdateTrackers`,\r\n\tparams: {}\r\n});\r\n\r\nexport const GetTrackerLastUpdateRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}ReportKpis/GetTrackerLastUpdate`,\r\n\tparams: {}\r\n});\r\n","import { enqueueSnackbar, DownloadFile } from 'actions';\r\n\r\nimport {\r\n\tGetSitesRequest,\r\n\tGenerateReportRequest,\r\n\tSyncTrackerRequest,\r\n\tGetTrackerLastUpdateRequest\r\n} from '../requests/ReportsRequests';\r\n\r\nexport const GET_SITES = 'GET_SITES';\r\nexport const SET_SELECTED_SITES = 'SET_SELECTED_SITES';\r\nexport const GET_TRACKER_LAST_UPDATE = 'GET_TRACKER_LAST_UPDATE';\r\n\r\nconst onGetSites = (value) => ({\r\n\ttype: GET_SITES,\r\n\tsites: value\r\n});\r\n\r\nconst onSetSelectedSites = (value) => ({\r\n\ttype: SET_SELECTED_SITES,\r\n\tselectedSites: value\r\n});\r\n\r\nconst onGetTrackerLastUpdate = (value) => ({\r\n\ttype: GET_TRACKER_LAST_UPDATE,\r\n\tlastUpdate: value\r\n});\r\n\r\nexport const GetSites = () => async (dispatch) => {\r\n\tawait GetSitesRequest().then(response => {\r\n\t\tdispatch(onGetSites(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GenerateReport = (siteList, username, userId) => async (dispatch) => {\r\n\tawait GenerateReportRequest(siteList, username, userId).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'Your request is being processed. Your file will be available on Downloads soon.', options: { variant: 'info' } }));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const SetSelectedSites = (selectedSites) => (dispatch) => {\r\n\tdispatch(onSetSelectedSites(selectedSites));\r\n};\r\n\r\nexport const GetTrackerLastUpdate = () => async (dispatch) => {\r\n\tawait GetTrackerLastUpdateRequest().then(response => {\r\n\t\tdispatch(onGetTrackerLastUpdate(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const SyncTracker = () => async (dispatch) => {\r\n\tawait SyncTrackerRequest().then(response => {\r\n\t\tdispatch(GetSites());\r\n\t\tdispatch(GetTrackerLastUpdate());\r\n\t\tdispatch(enqueueSnackbar({ message: 'Tracker synchronized successfully!', options: { variant: 'success' } }));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tGET_SITES,\r\n\tSET_SELECTED_SITES,\r\n\tGET_TRACKER_LAST_UPDATE\r\n} from '../actions/ReportsActions';\r\n\r\nconst initialState = {\r\n\toperators: [],\r\n\topenAddOperatorDialog: false,\r\n\tdetailsOperatorId: null,\r\n\toperator: {},\r\n\tformState: {\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {},\r\n\t},\r\n\topenAddProjectDialog: false,\r\n\tsites: [],\r\n\tselectedSites: [],\r\n\tlastUpdate: null\r\n};\r\n\r\nconst reportsReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase GET_SITES: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tsites: action.sites\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase SET_SELECTED_SITES: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tselectedSites: action.selectedSites\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_TRACKER_LAST_UPDATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tlastUpdate: action.lastUpdate\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default reportsReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GetTicketsRequest = (close, activeStage) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Tickets/GetTickets`,\r\n\tparams: { close, activeStage }\r\n});\r\n\r\nexport const GetTicketRequest = (ticketId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Tickets/GetTicket`,\r\n\tparams: { ticketId }\r\n});\r\n\r\nexport const GetTeamsByTypeRequest = (typeId, active) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Tickets/GetTeamsByType`,\r\n\tparams: { typeId, active }\r\n});\r\n\r\nexport const GetTypesRequest = (activityId, active) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Tickets/GetTypes`,\r\n\tparams: { activityId, active }\r\n});\r\n\r\nexport const GetActivitiesRequest = (active) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Tickets/GetActivities`,\r\n\tparams: { active }\r\n});\r\n\r\nexport const AddTicketRequest = (ticket) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Tickets/AddTicket`,\r\n\tdata: ticket\r\n});\r\n\r\nexport const AddCommentRequest = (ticketId, userId, comment) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Tickets/AddComment`,\r\n\tdata: { ticketId, userId, comment }\r\n});\r\n\r\nexport const AddAttachedFileRequest = (ticketId, fileName, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Tickets/AddAttachFile`,\r\n\tdata: { ticketId, fileName, userId }\r\n});\r\n\r\nexport const DeleteTicketRequest = (ticketId) => AxiosRequest({\r\n\tmethod: 'DELETE',\r\n\turl: `${config.API_URL}Tickets/DeleteTicket`,\r\n\tparams: { ticketId }\r\n});\r\n\r\nexport const DeleteAttachFileRequest = (ticketFileId, userId) => AxiosRequest({\r\n\tmethod: 'DELETE',\r\n\turl: `${config.API_URL}Tickets/DeleteAttachFile`,\r\n\tparams: { ticketFileId, userId }\r\n});\r\n\r\nexport const GetStagesRequest = (currentStageId, active) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Tickets/GetNextStages`,\r\n\tparams: { currentStageId, active }\r\n});\r\n\r\nexport const EditTicketRequest = (ticket) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}Tickets/EditTicket`,\r\n\tdata: ticket\r\n});\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport {\r\n\tGetTicketsRequest,\r\n\tGetActivitiesRequest,\r\n\tGetTeamsByTypeRequest,\r\n\tGetTypesRequest,\r\n\tAddTicketRequest,\r\n\tGetTicketRequest,\r\n\tAddCommentRequest,\r\n\tAddAttachedFileRequest,\r\n\tDeleteTicketRequest,\r\n\tDeleteAttachFileRequest,\r\n\tGetStagesRequest,\r\n\tEditTicketRequest\r\n} from '../requests/TicketsRequets.js';\r\n\r\nexport const TOGGLE_ADD_TICKET_DIALOG = 'TOGGLE_ADD_TICKET_DIALOG';\r\nexport const TOGGLE_FILTERS = 'TOGGLE_FILTERS';\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\nexport const GET_TICKET = 'GET_TICKET';\r\nexport const GET_TICKETS = 'GET_TICKETS';\r\nexport const GET_TEAMS_BY_TYPE = 'GET_TEAMS_BY_TYPE';\r\nexport const GET_ACTIVITIES = 'GET_ACTIVITIES';\r\nexport const GET_TYPES = 'GET_TYPES';\r\nexport const GET_STAGES = 'GET_STAGES';\r\n\r\nconst onToggleAddTicketDialog = (openAddTicketDialog) => ({\r\n\ttype: TOGGLE_ADD_TICKET_DIALOG,\r\n\topenAddTicketDialog,\r\n});\r\n\r\nconst onToggleFilters = (openFilters) => ({\r\n\ttype: TOGGLE_FILTERS,\r\n\topenFilters,\r\n});\r\n\r\nconst onSetFormState = (formState) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState\r\n});\r\n\r\nconst onGetTicket = (ticket) => ({\r\n\ttype: GET_TICKET,\r\n\tticket\r\n});\r\n\r\nconst onGetTickets = (tickets) => ({\r\n\ttype: GET_TICKETS,\r\n\ttickets\r\n});\r\n\r\nconst onGetTeamsByType = (teams) => ({\r\n\ttype: GET_TEAMS_BY_TYPE,\r\n\tteams\r\n});\r\n\r\nconst onGetActivities = (activities) => ({\r\n\ttype: GET_ACTIVITIES,\r\n\tactivities\r\n});\r\n\r\nconst onGetTypes = (types) => ({\r\n\ttype: GET_TYPES,\r\n\ttypes\r\n});\r\n\r\nconst onGetStages = (stages) => ({\r\n\ttype: GET_STAGES,\r\n\tstages\r\n});\r\n\r\nexport const ToggleAddTicketDialog = (openAddTicketDialog) => (dispatch) => {\r\n\tdispatch(onToggleAddTicketDialog(openAddTicketDialog));\r\n};\r\n\r\nexport const ToggleFilters = (openFilters) => (dispatch) => {\r\n\tdispatch(onToggleFilters(openFilters));\r\n};\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const GetTicket = (ticketId) => async (dispatch) => {\r\n\tawait GetTicketRequest(ticketId).then(response => {\r\n\t\tdispatch(onGetTicket(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetTickets = (close, activeStage) => async (dispatch) => {\r\n\tawait GetTicketsRequest(close, activeStage).then(response => {\r\n\t\tdispatch(onGetTickets(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetTeamsByType = (typeId, active) => async (dispatch) => {\r\n\tawait GetTeamsByTypeRequest(typeId, active).then(response => {\r\n\t\tdispatch(onGetTeamsByType(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetTypes = (activityId, active) => async (dispatch) => {\r\n\tawait GetTypesRequest(activityId, active).then(response => {\r\n\t\tdispatch(onGetTypes(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetActivities = (active) => async (dispatch) => {\r\n\tawait GetActivitiesRequest(active).then(response => {\r\n\t\tdispatch(onGetActivities(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const AddTicket = (ticket) => async (dispatch) => {\r\n\tawait AddTicketRequest(ticket).then(response => {\r\n\t\tdispatch(GetTickets(0, 1));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const AddAttachedFile = (ticketId, fileName, userId) => async (dispatch) => {\r\n\tawait AddAttachedFileRequest(ticketId, fileName, userId).then(response => {\r\n\t\tdispatch(GetTicket(ticketId));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const AddComment = (ticketId, userId, comment) => async (dispatch) => {\r\n\tawait AddCommentRequest(ticketId, userId, comment).then(response => {\r\n\t\tdispatch(GetTicket(ticketId));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const DeleteTicket = (ticketId) => async (dispatch) => {\r\n\tawait DeleteTicketRequest(ticketId).then(response => {\r\n\t\tdispatch(GetTickets(0, 1));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const DeleteAttachFile = (ticketId, ticketFileId, userId) => async (dispatch) => {\r\n\tawait DeleteAttachFileRequest(ticketFileId, userId).then(response => {\r\n\t\tdispatch(GetTicket(ticketId));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetStages = (currentStageId, active) => async (dispatch) => {\r\n\tawait GetStagesRequest(currentStageId, active).then(response => {\r\n\t\tdispatch(onGetStages(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const EditTicket = (ticket) => async (dispatch) => {\r\n\tawait EditTicketRequest(ticket).then(response => {\r\n\t\tdispatch(GetTicket(ticket.id));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE,\r\n\tTOGGLE_ADD_TICKET_DIALOG,\r\n\tGET_TICKET,\r\n\tTOGGLE_FILTERS,\r\n\tGET_TICKETS,\r\n\tGET_TEAMS_BY_TYPE,\r\n\tGET_ACTIVITIES,\r\n\tGET_TYPES,\r\n\tGET_STAGES\r\n} from '../actions/TicketsActions.js';\r\n\r\nconst initialState = {\r\n\ttickets: [],\r\n\tformState: {\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {},\r\n\t},\r\n\topenAddTicketDialog: false,\r\n\tteams: [],\r\n\ttypes: [],\r\n\tactivities: [],\r\n\tstages: [],\r\n\tticket: {\r\n\t\tdetails: {\r\n\t\t\tsubject: '',\r\n\t\t\tteamId: 0,\r\n\t\t\ttypeId: 0,\r\n\t\t\tstageId: 0,\r\n\t\t\ttargetExecutionDate: ''\r\n\t\t},\r\n\t\thistory: [],\r\n\t\tfiles: []\r\n\t},\r\n\topenFilters: false,\r\n};\r\n\r\nconst techAddReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: action.formState\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase TOGGLE_ADD_TICKET_DIALOG: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\topenAddTicketDialog: action.openAddTicketDialog,\r\n\t\t\t\t\t\t\tformState: initialState.formState,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase TOGGLE_FILTERS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\topenFilters: action.openFilters,\r\n\t\t\t\t\t\t\tformState: initialState.formState,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_TICKET: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: {\r\n\t\t\t\t\t\t\t\t...state.formState,\r\n\t\t\t\t\t\t\t\tvalues: { ...action.ticket }\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tticket: {\r\n\t\t\t\t\t\t\t\tdetails: { ...action.ticket },\r\n\t\t\t\t\t\t\t\tcomments: action.ticket.comments,\r\n\t\t\t\t\t\t\t\tfiles: action.ticket.attachedFiles,\r\n\t\t\t\t\t\t\t\thistory: action.ticket.history\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_TICKETS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\ttickets: action.tickets\r\n\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_TEAMS_BY_TYPE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tteams: action.teams,\r\n\t\t\t\t\t\t\tformState: {\r\n\t\t\t\t\t\t\t\t...state.formState,\r\n\t\t\t\t\t\t\t\tvalues: { ...state.formState.values, teamId: parseInt(action.teams[0].value, 10) }\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_ACTIVITIES: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tactivities: action.activities\r\n\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_TYPES: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\ttypes: action.types,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_STAGES: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tstages: action.stages,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default techAddReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const ConfigurationNokiaExportRequest = (values) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}CM/ConfigurationNokiaExport`,\r\n\tdata: values\r\n});\r\n\r\nexport const ConfigurationHuaweiExportRequest = (values) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}CM/ConfigurationHuaweiExport`,\r\n\tdata: values\r\n});\r\n\r\nexport const GetLastDumpsUpdateRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}CM/GetLastDumpsUpdate`,\r\n});\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport {\r\n\tConfigurationNokiaExportRequest,\r\n\tConfigurationHuaweiExportRequest,\r\n\tGetLastDumpsUpdateRequest\r\n} from '../requests/ConfigurationRequests';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\nexport const GET_DUMPS_UPDATE = 'GET_DUMPS_UPDATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nconst onLastDumpsUpdate = (dumpsUpdate) => ({\r\n\ttype: GET_DUMPS_UPDATE,\r\n\tdumpsUpdate\r\n});\r\n\r\nexport const LastDumpsUpdate = () => async (dispatch) => {\r\n\tawait GetLastDumpsUpdateRequest().then(response => {\r\n\t\tdispatch(onLastDumpsUpdate(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const ProcessNokiaFile = (values) => async (dispatch) => {\r\n\tawait ConfigurationNokiaExportRequest(values).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const ProcessHuaweiFile = (values) => async (dispatch) => {\r\n\tawait ConfigurationHuaweiExportRequest(values).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const ConfigurationNokiaExport = (values) => async (dispatch) => {\r\n\tif (values.inputType === 'file' && !values.allSites) {\r\n\t\tawait UploadFile(values.sites).then(response => {\r\n\t\t\tconst newValues = { ...values, sites: response.data };\r\n\t\t\tdispatch(ProcessNokiaFile(newValues));\r\n\t\t}).catch((error) => {\r\n\t\t\tif (error) {\r\n\t\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t\t}\r\n\t\t});\r\n\t} else {\r\n\t\tawait ConfigurationNokiaExportRequest(values).then(response => {\r\n\t\t\tdispatch(DownloadFile(response.data));\r\n\t\t}).catch((error) => {\r\n\t\t\tif (error) {\r\n\t\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n};\r\n\r\nexport const ConfigurationHuaweiExport = (values) => async (dispatch) => {\r\n\tif (values.inputType === 'file') {\r\n\t\tawait UploadFile(values.sites).then(response => {\r\n\t\t\tconst newValues = { ...values, sites: response.data };\r\n\t\t\tdispatch(ProcessHuaweiFile(newValues));\r\n\t\t}).catch((error) => {\r\n\t\t\tif (error) {\r\n\t\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t\t}\r\n\t\t});\r\n\t} else {\r\n\t\tawait ConfigurationHuaweiExportRequest(values).then(response => {\r\n\t\t\tdispatch(DownloadFile(response.data));\r\n\t\t}).catch((error) => {\r\n\t\t\tif (error) {\r\n\t\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n};\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n","import {\r\n\tSET_FORM_STATE,\r\n\tGET_DUMPS_UPDATE\r\n} from '../actions/ConfigurationActions.js';\r\n\r\nconst initialState = {\r\n\tdumps: [],\r\n\tformState: { nokia: {\r\n\t\tisValid: false,\r\n\t\tvalues: {\r\n\t\t\tinputType: 'file'\r\n\t\t},\r\n\t\ttouched: { },\r\n\t\terrors: { }\r\n\t},\r\n\thuawei: {\r\n\t\tisValid: false,\r\n\t\tvalues: {\r\n\t\t\tinputType: 'file'\r\n\t\t},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n\t},\r\n};\r\n\r\nconst configurationReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_DUMPS_UPDATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tdumps: action.dumpsUpdate\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default configurationReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GenerateCellInfoRequest = (inputType, type, sites) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}CM/GenerateCellInfo`,\r\n\tparams: { inputType, type, sites }\r\n});\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport {\r\n\tGenerateCellInfoRequest\r\n} from '../requests/CellInfoRequests.js';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\nexport const GET_TEMPLATES = 'GET_TEMPLATES';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const ProcessFile = (inputType, type, sites) => async (dispatch) => {\r\n\tawait GenerateCellInfoRequest(inputType, type, sites).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const GenerateCellInfo = (inputType, type, sites) => async (dispatch) => {\r\n\tif (inputType === 'file') {\r\n\t\tawait UploadFile(sites).then(response => {\r\n\t\t\tdispatch(ProcessFile(inputType, type, response.data));\r\n\t\t}).catch((error) => {\r\n\t\t\tif (error) {\r\n\t\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t\t}\r\n\t\t});\r\n\t} else {\r\n\t\tawait GenerateCellInfoRequest(inputType, type, sites).then(response => {\r\n\t\t\tdispatch(DownloadFile(response.data));\r\n\t\t}).catch((error) => {\r\n\t\t\tif (error) {\r\n\t\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n};\r\n","import {\r\n\tSET_FORM_STATE\r\n} from '../actions/CellInfoActions.js';\r\n\r\nconst initialState = {\r\n\tformState: {\r\n\t\ttechAdd: {\r\n\t\t\tisValid: false,\r\n\t\t\tvalues: {\r\n\t\t\t\tinputType: 'file'\r\n\t\t\t},\r\n\t\t\ttouched: {},\r\n\t\t\terrors: {},\r\n\t\t},\r\n\t\tcellInfo: {\r\n\t\t\tisValid: false,\r\n\t\t\tvalues: {\r\n\t\t\t\tinputType: 'file'\r\n\t\t\t},\r\n\t\t\ttouched: {},\r\n\t\t\terrors: {},\r\n\t\t}\r\n\t},\r\n\topenAddProjectDialog: false,\r\n\ttemplates: []\r\n};\r\n\r\nconst cellInfoReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default cellInfoReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GenerateHuaweiRemoteAnalysisRequest = (fileLocation, userId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}CM/GenerateHuaweiRemoteAnalysis`,\r\n\tparams: { fileLocation, userId }\r\n});\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport {\r\n\tGenerateHuaweiRemoteAnalysisRequest\r\n} from '../requests/HuaweiRemoteAnalysisRequests.js';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const ProcessFileHuaweiRemoteAnalysis = (fileLocation, userId) => async (dispatch) => {\r\n\tawait GenerateHuaweiRemoteAnalysisRequest(fileLocation, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GenerateHuaweiRemoteAnalysis = (file, userId) => async (dispatch) => {\r\n\tawait UploadFile(file).then(response => {\r\n\t\tdispatch(ProcessFileHuaweiRemoteAnalysis(response.data, userId));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE,\r\n} from '../actions/HuaweiRemoteAnalysisActions.js';\r\n\r\nconst initialState = {\r\n\tformState: {\r\n\t\thuaweiRemoteAnalysis: {\r\n\t\t\tisValid: false,\r\n\t\t\tvalues: {},\r\n\t\t\ttouched: {},\r\n\t\t\terrors: {},\r\n\t\t}\r\n\t},\r\n};\r\n\r\nconst huaweiRemoteAnalysisReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default huaweiRemoteAnalysisReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GenerateReportRequest = (siteId, reportType, reportVendor, activationDate, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/GenerateReport`,\r\n\tdata: { siteId, reportType, reportVendor, activationDate, userId }\r\n});\r\n","import { enqueueSnackbar, DownloadFile } from 'actions';\r\n\r\nimport {\r\n\tGenerateReportRequest\r\n} from '../requests/ReportPPMRequests';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const GenerateReport = (siteId, reportType, activationDate, userId) => async (dispatch) => {\r\n\tawait GenerateReportRequest(siteId, reportType, activationDate, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE\r\n} from '../actions/ReportPPMActions';\r\n\r\nconst initialState = {\r\n\tformState:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n};\r\n\r\nconst reportPPMranReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default reportPPMranReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GenerateScfRequest = (fileLocation, sowType, sowTechs, sowRmod, sran, sa) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Scripts/GenerateScf`,\r\n\tparams: { fileLocation, sowType, sowTechs, sowRmod, sran, sa }\r\n});\r\n\r\nexport const GetSowListRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Scripts/GetSowList`\r\n});\r\n\r\nexport const GetSowTypeRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Scripts/GetSowType`\r\n});\r\n\r\nexport const GetSowTechsRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Scripts/GetSowTechs`\r\n});\r\n\r\nexport const GetSowRmodRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Scripts/GetSowRmod`\r\n});\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport {\r\n\tGenerateScfRequest,\r\n\tGetSowListRequest,\r\n\tGetSowTypeRequest,\r\n\tGetSowTechsRequest,\r\n\tGetSowRmodRequest,\r\n} from '../requests/ScfRequests.js';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\nexport const GET_SOW_LIST = 'GET_SOW_LIST';\r\nexport const GET_SOW_TYPE = 'GET_SOW_TYPE';\r\nexport const GET_SOW_TECHS = 'GET_SOW_TECHS';\r\nexport const GET_SOW_RMOD = 'GET_SOW_RMOD';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nconst onGetSowList = (value) => ({\r\n\ttype: GET_SOW_LIST,\r\n\tsowList: value\r\n});\r\n\r\nconst onGetSowType = (value) => ({\r\n\ttype: GET_SOW_TYPE,\r\n\tsowType: value\r\n});\r\n\r\nconst onGetSowTechs = (value) => ({\r\n\ttype: GET_SOW_TECHS,\r\n\tsowTechs: value\r\n});\r\n\r\nconst onGetSowRmod = (value) => ({\r\n\ttype: GET_SOW_RMOD,\r\n\tsowRmod: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const ProcessFileScf = (fileLocation, sowType, sowTechs, sowRmod, sran, sa) => async (dispatch) => {\r\n\tawait GenerateScfRequest(fileLocation, sowType, sowTechs, sowRmod, sran, sa).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GenerateScf = (file, sowType, sowTechs, sowRmod, sran, sa) => async (dispatch) => {\r\n\tawait UploadFile(file).then(response => {\r\n\t\tdispatch(ProcessFileScf(response.data, sowType, sowTechs, sowRmod, sran, sa));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetSowList = () => async (dispatch) => {\r\n\tawait GetSowListRequest().then(response => {\r\n\t\tdispatch(onGetSowList(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetSowType = () => async (dispatch) => {\r\n\tawait GetSowTypeRequest().then(response => {\r\n\t\tdispatch(onGetSowType(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetSowTechs = () => async (dispatch) => {\r\n\tawait GetSowTechsRequest().then(response => {\r\n\t\tdispatch(onGetSowTechs(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetSowRmod = () => async (dispatch) => {\r\n\tawait GetSowRmodRequest().then(response => {\r\n\t\tdispatch(onGetSowRmod(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE,\r\n\tGET_SOW_LIST,\r\n\tGET_SOW_TYPE,\r\n\tGET_SOW_TECHS,\r\n\tGET_SOW_RMOD,\r\n} from '../actions/ScfActions.js';\r\n\r\nconst initialState = {\r\n\tsowType: [],\r\n\tsowTechs: [],\r\n\tsowRmod: [],\r\n\tformState: {\r\n\t\tisValid: false,\r\n\t\tvalues: {\r\n\t\t\tsran: true,\r\n\t\t},\r\n\t\ttouched: {},\r\n\t\terrors: {},\r\n\t},\r\n};\r\n\r\nconst scfReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_SOW_TYPE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tsowType: action.sowType\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_SOW_TECHS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tsowTechs: action.sowTechs\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_SOW_RMOD: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tsowRmod: action.sowRmod\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default scfReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const Report2CAExportRequest = (values, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/GenerateAcceptance2CAReport`,\r\n\tdata: { values, userId }\r\n});\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport { Report2CAExportRequest } from '../requests/Report2CARequests';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const Report2CAExport = (values, userId) => async (dispatch) => {\r\n\tawait Report2CAExportRequest(values, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE\r\n} from '../actions/Report2CAActions';\r\n\r\nconst initialState = {\r\n\tformState:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n};\r\n\r\nconst report2CAReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default report2CAReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const ReportAvailabitilyExportRequest = (values, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/GenerateReportAvailability`,\r\n\tdata: { values, userId }\r\n});\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport { ReportAvailabitilyExportRequest } from '../requests/RanReportAvailabilityRequests';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const ReportAvailabitilyExport = (values, userId) => async (dispatch) => {\r\n\tawait ReportAvailabitilyExportRequest(values, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE\r\n} from '../actions/RanReportAvailabilityActions';\r\n\r\nconst initialState = {\r\n\tformState:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n};\r\n\r\nconst reportAvailabilityReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default reportAvailabilityReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const ReportSmallCellsImpactRequest = (values, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/GenerateSmallCellsImpactReport`,\r\n\tdata: { values, userId }\r\n});\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport { ReportSmallCellsImpactRequest } from '../requests/ReportSmallCellsImpactRequests';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const ReportSmallCellsImpactExport = (values, userId) => async (dispatch) => {\r\n\tawait ReportSmallCellsImpactRequest(values, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE\r\n} from '../actions/ReportSmallCellsImpactActions';\r\n\r\nconst initialState = {\r\n\tformState:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n};\r\n\r\nconst ReportSmallCellsImpactReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default ReportSmallCellsImpactReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const ReportNRExportRequest = (values, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/GenerateAcceptanceNRReport`,\r\n\tdata: { values, userId }\r\n});\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport { ReportNRExportRequest } from '../requests/ReportNRRequests';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const ReportNRExport = (values, userId) => async (dispatch) => {\r\n\tawait ReportNRExportRequest(values, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE\r\n} from '../actions/ReportNRActions';\r\n\r\nconst initialState = {\r\n\tformState:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n};\r\n\r\nconst reportNRReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default reportNRReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const ReportNR7AssessmentExportRequest = (values, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/GenerateAcceptanceNR7Assessment`,\r\n\tdata: { values, userId }\r\n});\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport { ReportNR7AssessmentExportRequest } from '../requests/ReportNR7AssessmentRequests';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const ReportNR7AssessmentExport = (values, userId) => async (dispatch) => {\r\n\tawait ReportNR7AssessmentExportRequest(values, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE\r\n} from '../actions/ReportNR7AssessmentActions';\r\n\r\nconst initialState = {\r\n\tformState:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n};\r\n\r\nconst reportNR7AssessmentReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default reportNR7AssessmentReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const RETsExportRequest = (values, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/RETsExport`,\r\n\tdata: { values, userId }\r\n});\r\n\r\nexport const RETEntireNetworkspExportRequest = (userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/RETEntireNetworkspExport`,\r\n\tdata: { userId }\r\n});\r\n\r\nexport const GetRETFilesHistory = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}RanReportKpis/GetRETFilesHistory`,\r\n});\r\n","import { enqueueSnackbar, DownloadFile } from 'actions';\r\nimport { RETsExportRequest, RETEntireNetworkspExportRequest, GetRETFilesHistory } from '../requests/RetAuditRequests.js';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\nexport const GET_DUMPS_UPDATE = 'GET_DUMPS_UPDATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nconst onLastDumpsUpdate = (dumpsUpdate) => ({\r\n\ttype: GET_DUMPS_UPDATE,\r\n\tdumpsUpdate\r\n});\r\n\r\nexport const LastDumpsUpdate = () => async (dispatch) => {\r\n\tawait GetRETFilesHistory().then(response => {\r\n\t\tdispatch(onLastDumpsUpdate(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const RETspExport = (sites, userId) => async (dispatch) => {\r\n\tawait RETsExportRequest(sites, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const RETEntireNetworkspExport = (userId) => async (dispatch) => {\r\n\tawait RETEntireNetworkspExportRequest(userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE,\r\n\tGET_DUMPS_UPDATE\r\n} from '../actions/RetAuditActions.js';\r\n\r\nconst initialState = {\r\n\tdumps: [],\r\n\tformState:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n};\r\n\r\nconst RETEnablingChecksReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_DUMPS_UPDATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tdumps: action.dumpsUpdate\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default RETEnablingChecksReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const RETFilesUploadRequest = (filePath, userName, userId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}RanReportKpis/RETFilesUpload`,\r\n\tparams: { filePath, userName, userId }\r\n});\r\n","import { enqueueSnackbar, UploadFile } from 'actions';\r\nimport { DownloadFile } from 'actions/sessionActions.js';\r\n\r\nimport {\r\n\tRETFilesUploadRequest\r\n} from '../requests/RETFilesUploadRequests.js';\r\n\r\nimport {\r\n\tGetRETFilesHistory\r\n} from '../requests/RetAuditRequests.js';\r\n\r\nexport const RET_ENABLING_CHECKS = 'RET_ENABLING_CHECKS';\r\n\r\nexport const UploadRETFiles = (filePath, userName, userId) => async (dispatch) => {\r\n\tawait RETFilesUploadRequest(filePath, userName, userId).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: response.data, options: { variant: 'success' } }));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const RunFileUpload = (file, userName, userId) => async (dispatch) => {\r\n\tawait UploadFile(file).then(response => {\r\n\t\tdispatch(UploadRETFiles(response.data, userName, userId));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tRET_ENABLING_CHECKS\r\n} from '../actions/RETFilesUploadActions.js';\r\n\r\nconst initialState = {\r\n\tremove: []\r\n};\r\n\r\nconst RETFilesUploadReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase RET_ENABLING_CHECKS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tremove: action.remove\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default RETFilesUploadReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GetIncidentTableRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}IncidentTracker/GetIncidentTable`\r\n});\r\n\r\nexport const GetDropdownsRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}IncidentTracker/GetDropdowns`\r\n});\r\n\r\nexport const GetAllDropdownsRequest = (incidentId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}IncidentTracker/GetAllDropdowns`,\r\n\tparams: { incidentId }\r\n});\r\n\r\nexport const GetProjectsDropdownRequest = (siteId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}IncidentTracker/GetProjectsDropdown`,\r\n\tparams: { siteId }\r\n});\r\n\r\nexport const GetSowDropdownRequest = (siteId, project) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}IncidentTracker/GetSowDropdown`,\r\n\tparams: { siteId, project }\r\n});\r\n\r\nexport const GetLayersDropdownRequest = (techs) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}IncidentTracker/GetLayersDropdown`,\r\n\tdata: techs\r\n});\r\n\r\nexport const GetTypeDropdownRequest = (genericType) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}IncidentTracker/GetTypeDropdown`,\r\n\tparams: { genericType }\r\n});\r\n\r\nexport const GetDetailedTypeDropdownRequest = (type) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}IncidentTracker/GetDetailedTypeDropdown`,\r\n\tparams: { type }\r\n});\r\n\r\nexport const GetIncidentBaseRequest = (siteId, project, sow) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}IncidentTracker/GetIncidentBase`,\r\n\tparams: { siteId, project, sow }\r\n});\r\n\r\nexport const CreateIncidentRequest = (incidentForm) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}IncidentTracker/CreateIncident`,\r\n\tdata: incidentForm\r\n});\r\n\r\nexport const EditIncidentRequest = (incidentForm) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}IncidentTracker/EditIncident`,\r\n\tdata: incidentForm\r\n});\r\n\r\nexport const GetIncidentRequest = (incidentId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}IncidentTracker/GetIncident`,\r\n\tparams: { incidentId }\r\n});\r\n\r\nexport const ExportIncidentsRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}IncidentTracker/ExportIncidents`,\r\n});\r\n\r\nexport const GetIncidentCommentsRequest = (incidentId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}IncidentTracker/GetIncidentComments`,\r\n\tparams: { incidentId }\r\n});\r\n\r\nexport const GetIncidentFilesRequest = (incidentId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}IncidentTracker/GetIncidentFiles`,\r\n\tparams: { incidentId }\r\n});\r\n","import { enqueueSnackbar, DownloadFile, UploadMultipleFiles } from 'actions';\r\n\r\nimport {\r\n\tGetIncidentTableRequest,\r\n\tGetDropdownsRequest,\r\n\tGetAllDropdownsRequest,\r\n\tGetProjectsDropdownRequest,\r\n\tGetSowDropdownRequest,\r\n\tGetLayersDropdownRequest,\r\n\tGetIncidentBaseRequest,\r\n\tGetIncidentRequest,\r\n\tGetTypeDropdownRequest,\r\n\tGetDetailedTypeDropdownRequest,\r\n\tCreateIncidentRequest,\r\n\tEditIncidentRequest,\r\n\tExportIncidentsRequest,\r\n\tGetIncidentCommentsRequest,\r\n\tGetIncidentFilesRequest\r\n} from '../requests/IncidentTrackerRequests.js';\r\n\r\nexport const GET_INCIDENT_TABLE = 'GET_INCIDENT_TABLE';\r\nexport const TOGGLE_INCIDENT_TRACKER_DIALOG = 'TOGGLE_INCIDENT_TRACKER_DIALOG';\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\nexport const SET_CURRENT_QUEUE_DROPDOWN = 'SET_CURRENT_QUEUE_DROPDOWN';\r\nexport const GET_DROPDOWNS = 'GET_DROPDOWNS';\r\nexport const GET_ALL_DROPDOWNS = 'GET_ALL_DROPDOWNS';\r\nexport const GET_PROJECTS_DROPDOWN = 'GET_PROJECTS_DROPDOWN';\r\nexport const GET_SOW_DROPDOWN = 'GET_SOW_DROPDOWN';\r\nexport const GET_LAYERS_DROPDOWN = 'GET_LAYERS_DROPDOWN';\r\nexport const GET_INCIDENT = 'GET_INCIDENT';\r\nexport const GET_TYPE_DROPDOWN = 'GET_TYPE_DROPDOWN';\r\nexport const GET_DETAILED_TYPE_DROPDOWN = 'GET_DETAILED_TYPE_DROPDOWN';\r\nexport const GET_INCIDENT_COMMENTS = 'GET_INCIDENT_COMMENTS';\r\nexport const GET_INCIDENT_FILES = 'GET_INCIDENT_FILES';\r\nexport const SET_FILES = 'SET_FILES';\r\nexport const SET_IMAGE = 'SET_IMAGE';\r\n\r\nconst onGetIncidentTable = (value) => ({\r\n\ttype: GET_INCIDENT_TABLE,\r\n\tincidentTable: value\r\n});\r\n\r\nexport const GetIncidentTable = () => async (dispatch) => {\r\n\tawait GetIncidentTableRequest().then(response => {\r\n\t\tdispatch(onGetIncidentTable(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nconst onToggleIncidentTrackerDialog = (visible, incidentId, incidentSubmitter) => ({\r\n\ttype: TOGGLE_INCIDENT_TRACKER_DIALOG,\r\n\tvisible,\r\n\tincidentId,\r\n\tincidentSubmitter\r\n});\r\n\r\nexport const ToggleIncidentTrackerDialog = (visible, incidentId, incidentSubmitter) => (dispatch) => {\r\n\tdispatch(onToggleIncidentTrackerDialog(visible, incidentId, incidentSubmitter));\r\n};\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nconst onSetFiles = (value) => ({\r\n\ttype: SET_FILES,\r\n\tfiles: value\r\n});\r\n\r\nexport const SetFiles = (value) => (dispatch) => {\r\n\tdispatch(onSetFiles(value));\r\n};\r\n\r\nconst onSetImage = (value) => ({\r\n\ttype: SET_IMAGE,\r\n\timage: value\r\n});\r\n\r\nexport const SetImage = (value) => (dispatch) => {\r\n\tdispatch(onSetImage(value));\r\n};\r\n\r\nconst onSetCurrentQueueDropdown = (value) => ({\r\n\ttype: SET_CURRENT_QUEUE_DROPDOWN,\r\n\tcurrentQueueDropdown: value\r\n});\r\n\r\nexport const SetCurrentQueueDropdown = (value) => (dispatch) => {\r\n\tdispatch(onSetCurrentQueueDropdown(value));\r\n};\r\n\r\nconst onGetDropdowns = (value) => ({\r\n\ttype: GET_DROPDOWNS,\r\n\tdropdowns: value\r\n});\r\n\r\nexport const GetDropdowns = () => async (dispatch) => {\r\n\tawait GetDropdownsRequest().then(response => {\r\n\t\tdispatch(onGetDropdowns(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nconst onGetAllDropdowns = (value) => ({\r\n\ttype: GET_ALL_DROPDOWNS,\r\n\tallDropdowns: value\r\n});\r\n\r\nexport const GetAllDropdowns = (incidentId) => async (dispatch) => {\r\n\tawait GetAllDropdownsRequest(incidentId).then(response => {\r\n\t\tdispatch(onGetAllDropdowns(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nconst onGetProjectsDropdown = (value) => ({\r\n\ttype: GET_PROJECTS_DROPDOWN,\r\n\tprojectsDropdown: value\r\n});\r\n\r\nexport const GetProjectsDropdown = (siteId) => async (dispatch) => {\r\n\tawait GetProjectsDropdownRequest(siteId).then(response => {\r\n\t\tdispatch(onGetProjectsDropdown(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nconst onGetSowDropdown = (value) => ({\r\n\ttype: GET_SOW_DROPDOWN,\r\n\tsowDropdown: value\r\n});\r\n\r\nexport const GetSowDropdown = (siteId, project) => async (dispatch) => {\r\n\tawait GetSowDropdownRequest(siteId, project).then(response => {\r\n\t\tdispatch(onGetSowDropdown(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nconst onGetLayersDropdown = (value) => ({\r\n\ttype: GET_LAYERS_DROPDOWN,\r\n\tlayersDropdown: value\r\n});\r\n\r\nexport const GetLayersDropdown = (techs) => async (dispatch) => {\r\n\tawait GetLayersDropdownRequest(techs).then(response => {\r\n\t\tdispatch(onGetLayersDropdown(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nconst onGetTypeDropdown = (value) => ({\r\n\ttype: GET_TYPE_DROPDOWN,\r\n\ttypeDropdown: value\r\n});\r\n\r\nexport const GetTypeDropdown = (genericType) => async (dispatch) => {\r\n\tawait GetTypeDropdownRequest(genericType).then(response => {\r\n\t\tdispatch(onGetTypeDropdown(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nconst onGetDetailedTypeDropdown = (value) => ({\r\n\ttype: GET_DETAILED_TYPE_DROPDOWN,\r\n\tdetailedTypeDropdown: value\r\n});\r\n\r\nexport const GetDetailedTypeDropdown = (type) => async (dispatch) => {\r\n\tawait GetDetailedTypeDropdownRequest(type).then(response => {\r\n\t\tdispatch(onGetDetailedTypeDropdown(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nconst onGetIncident = (value) => ({\r\n\ttype: GET_INCIDENT,\r\n\tincident: value\r\n});\r\n\r\nexport const GetIncidentBase = (siteId, project, sow) => async (dispatch) => {\r\n\tawait GetIncidentBaseRequest(siteId, project, sow).then(response => {\r\n\t\tdispatch(onGetIncident(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetIncident = (incidentId) => async (dispatch) => {\r\n\tawait GetIncidentRequest(incidentId).then(response => {\r\n\t\tdispatch(onGetIncident(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nconst onGetIncidentComments = (value) => ({\r\n\ttype: GET_INCIDENT_COMMENTS,\r\n\tincidentComments: value\r\n});\r\n\r\nexport const GetIncidentComments = (incidentId) => async (dispatch) => {\r\n\tawait GetIncidentCommentsRequest(incidentId).then(response => {\r\n\t\tdispatch(onGetIncidentComments(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nconst onGetIncidentFiles = (value) => ({\r\n\ttype: GET_INCIDENT_FILES,\r\n\tincidentFiles: value\r\n});\r\n\r\nexport const GetIncidentFiles = (incidentId) => async (dispatch) => {\r\n\tawait GetIncidentFilesRequest(incidentId).then(response => {\r\n\t\tdispatch(onGetIncidentFiles(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const CreateIncident = (incidentForm) => async (dispatch) => {\r\n\tawait CreateIncidentRequest(incidentForm).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'Incident successfully created.', options: { variant: 'success' } }));\r\n\t\tGetIncidentTable();\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const UploadFilesAndCreateIncident = (incidentForm, files) => async (dispatch) => {\r\n\tawait UploadMultipleFiles(files).then(response => {\r\n\t\tdispatch(CreateIncident({ ...incidentForm, files: response.data }));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const EditIncident = (incidentForm) => async (dispatch) => {\r\n\tawait EditIncidentRequest(incidentForm).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'Incident successfully edited.', options: { variant: 'success' } }));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const UploadFilesAndEditIncident = (incidentForm, files) => async (dispatch) => {\r\n\tawait UploadMultipleFiles(files).then(response => {\r\n\t\tdispatch(EditIncident({ ...incidentForm, files: response.data }));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const ExportIncidents = () => async (dispatch) => {\r\n\tawait ExportIncidentsRequest().then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tGET_INCIDENT_TABLE,\r\n\tTOGGLE_INCIDENT_TRACKER_DIALOG,\r\n\tSET_FORM_STATE,\r\n\tSET_CURRENT_QUEUE_DROPDOWN,\r\n\tGET_DROPDOWNS,\r\n\tGET_ALL_DROPDOWNS,\r\n\tGET_PROJECTS_DROPDOWN,\r\n\tGET_SOW_DROPDOWN,\r\n\tGET_LAYERS_DROPDOWN,\r\n\tGET_INCIDENT,\r\n\tGET_TYPE_DROPDOWN,\r\n\tGET_DETAILED_TYPE_DROPDOWN,\r\n\tGET_INCIDENT_COMMENTS,\r\n\tGET_INCIDENT_FILES,\r\n\tSET_FILES,\r\n\tSET_IMAGE\r\n} from '../actions/IncidentTrackerActions';\r\n\r\nconst initialState = {\r\n\tincidentTable: [],\r\n\tincidentTrackerDialogVisibility: false,\r\n\tselectedIncidentId: 0,\r\n\tselectedIncidentSubmitter: '',\r\n\tdropdowns: [],\r\n\tprojectsDropdown: [],\r\n\tsowDropdown: [],\r\n\tlayersDropdown: [],\r\n\ttypeDropdown: [],\r\n\tdetailedTypeDropdown: [],\r\n\tincidentComments: [],\r\n\tincidentFiles: [],\r\n\tfiles: [],\r\n\timage: {},\r\n\tformState: {\r\n\t\tvalues: {},\r\n\t\tisValid: false,\r\n\t\ttouched: {},\r\n\t\terrors: {},\r\n\t\tsubmit: false\r\n\t}\r\n};\r\n\r\nconst incidentTrackerReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase TOGGLE_INCIDENT_TRACKER_DIALOG: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tincidentTrackerDialogVisibility: action.visible,\r\n\t\t\t\t\t\t\tselectedIncidentId: action.incidentId,\r\n\t\t\t\t\t\t\tselectedIncidentSubmitter: action.incidentSubmitter,\r\n\t\t\t\t\t\t\tformState: initialState.formState,\r\n\t\t\t\t\t\t\tdropdowns: initialState.dropdowns,\r\n\t\t\t\t\t\t\tprojectsDropdown: initialState.projectsDropdown,\r\n\t\t\t\t\t\t\tsowDropdown: initialState.sowDropdown,\r\n\t\t\t\t\t\t\tlayersDropdown: initialState.layersDropdown,\r\n\t\t\t\t\t\t\ttypeDropdown: initialState.typeDropdown,\r\n\t\t\t\t\t\t\tdetailedTypeDropdown: initialState.detailedTypeDropdown,\r\n\t\t\t\t\t\t\tcurrentQueueDropdown: initialState.currentQueueDropdown,\r\n\t\t\t\t\t\t\tincidentComments: initialState.incidentComments,\r\n\t\t\t\t\t\t\tincidentFiles: initialState.incidentFiles,\r\n\t\t\t\t\t\t\tfiles: initialState.files,\r\n\t\t\t\t\t\t\timage: initialState.image,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_INCIDENT_TABLE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tincidentTable: action.incidentTable\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: action.formState\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase SET_FILES: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tfiles: action.files\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase SET_IMAGE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\timage: action.image\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase SET_CURRENT_QUEUE_DROPDOWN: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tcurrentQueueDropdown: action.currentQueueDropdown\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_DROPDOWNS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tdropdowns: action.dropdowns\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_ALL_DROPDOWNS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tdropdowns: action.allDropdowns.dropdowns,\r\n\t\t\t\t\t\t\tprojectsDropdown: action.allDropdowns.projects,\r\n\t\t\t\t\t\t\tsowDropdown: action.allDropdowns.sow,\r\n\t\t\t\t\t\t\tlayersDropdown: action.allDropdowns.layers,\r\n\t\t\t\t\t\t\ttypeDropdown: action.allDropdowns.type,\r\n\t\t\t\t\t\t\tdetailedTypeDropdown: action.allDropdowns.detailedType\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_PROJECTS_DROPDOWN: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tprojectsDropdown: action.projectsDropdown,\r\n\t\t\t\t\t\t\tsowDropdown: initialState.sowDropdown,\r\n\t\t\t\t\t\t\tcurrentQueueDropdown: initialState.currentQueueDropdown\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_SOW_DROPDOWN: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tsowDropdown: action.sowDropdown\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_LAYERS_DROPDOWN: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tlayersDropdown: action.layersDropdown\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_TYPE_DROPDOWN: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\ttypeDropdown: action.typeDropdown,\r\n\t\t\t\t\t\t\tdetailedTypeDropdown: initialState.detailedTypeDropdown\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_DETAILED_TYPE_DROPDOWN: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tdetailedTypeDropdown: action.detailedTypeDropdown\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_INCIDENT: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: {\r\n\t\t\t\t\t\t\t\t...state.formState,\r\n\t\t\t\t\t\t\t\tvalues: { ...action.incident }\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_INCIDENT_COMMENTS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tincidentComments: action.incidentComments\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_INCIDENT_FILES: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tincidentFiles: action.incidentFiles\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default incidentTrackerReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GetIncidentConfigurationsRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}IncidentTracker/GetIncidentConfigurations`\r\n});\r\n\r\nexport const DeleteIncidentConfigurationRequest = (configurationName, id) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}IncidentTracker/DeleteIncidentConfiguration`,\r\n\tparams: { configurationName, id }\r\n});\r\n\r\nexport const AddIncidentConfigurationRequest = (item) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}IncidentTracker/CreateIncidentConfiguration`,\r\n\tdata: item\r\n});\r\n\r\nexport const UpdateIncidentConfigurationRequest = (item) => AxiosRequest({\r\n\tmethod: 'PUT',\r\n\turl: `${config.API_URL}IncidentTracker/UpdateIncidentConfiguration`,\r\n\tdata: item\r\n});\r\n\r\nexport const IsSafeToDeleteConfigurationRequest = (configurationName, id) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}IncidentTracker/IsSafeToDeleteConfiguration`,\r\n\tparams: { configurationName, id }\r\n});\r\n","import { enqueueSnackbar } from 'actions';\r\n\r\nimport {\r\n\tGetIncidentConfigurationsRequest,\r\n\tDeleteIncidentConfigurationRequest,\r\n\tAddIncidentConfigurationRequest,\r\n\tUpdateIncidentConfigurationRequest,\r\n\tIsSafeToDeleteConfigurationRequest\r\n} from '../requests/IncidentTrackerConfigurationRequests.js';\r\n\r\nexport const GET_INCIDENT_CONFIGURATIONS = 'GET_INCIDENT_CONFIGURATIONS';\r\nexport const TOGGLE_INC_CONFIG_DIALOG = 'TOGGLE_INC_CONFIG_DIALOG';\r\nexport const SELECT_INC_CONFIGURATION = 'SELECT_INC_CONFIGURATION';\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onGetIncidentConfigurations = (value) => ({\r\n\ttype: GET_INCIDENT_CONFIGURATIONS,\r\n\tincidentConfigurations: value\r\n});\r\n\r\nconst onSelectIncidentConfiguration = (config) => ({\r\n\ttype: SELECT_INC_CONFIGURATION,\r\n\tselectedConfiguration: config\r\n});\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const GetIncidentConfigurations = () => async (dispatch) => {\r\n\tawait GetIncidentConfigurationsRequest().then(response => {\r\n\t\tdispatch(onGetIncidentConfigurations(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const SelectIncidentConfiguration = (config) => (dispatch) => {\r\n\tdispatch(onSelectIncidentConfiguration(config));\r\n};\r\n\r\nconst onToggleIncConfigDialog = (visible, mode) => ({\r\n\ttype: TOGGLE_INC_CONFIG_DIALOG,\r\n\tvisible,\r\n\tmode\r\n});\r\n\r\nexport const ToggleIncConfigDialog = (visible, mode) => (dispatch) => {\r\n\tdispatch(onToggleIncConfigDialog(visible, mode));\r\n};\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const DeleteIncidentConfiguration = (configurationName, id) => async (dispatch) => {\r\n\tawait IsSafeToDeleteConfigurationRequest(configurationName, id).then(async isSafe => {\r\n\t\tawait DeleteIncidentConfigurationRequest(configurationName, id).then(response => {\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'Incident configuration successfully deleted.', options: { variant: 'success' } }));\r\n\t\t\tdispatch(GetIncidentConfigurations());\r\n\t\t}).catch((error) => {\r\n\t\t\tif (error) {\r\n\t\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t\t}\r\n\t\t});\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const AddIncidentConfiguration = (item) => async (dispatch) => {\r\n\tawait AddIncidentConfigurationRequest(item).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'Incident configuration successfully added.', options: { variant: 'success' } }));\r\n\t\tdispatch(GetIncidentConfigurations());\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const UpdateIncidentConfiguration = (item) => async (dispatch) => {\r\n\tawait UpdateIncidentConfigurationRequest(item).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'Incident configuration successfully updated.', options: { variant: 'success' } }));\r\n\t\tdispatch(GetIncidentConfigurations());\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tGET_INCIDENT_CONFIGURATIONS,\r\n\tTOGGLE_INC_CONFIG_DIALOG,\r\n\tSELECT_INC_CONFIGURATION,\r\n\tSET_FORM_STATE,\r\n} from '../actions/IncidentTrackerConfigurationActions';\r\n\r\nconst initialState = {\r\n\tincidentConfigurations: {},\r\n\tselectedConfiguration: { category: '', item: {} },\r\n\tincConfigDialogVisibility: false,\r\n\tincConfigDialogMode: '',\r\n\tformState: {\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {},\r\n\t},\r\n};\r\n\r\nconst incidentTrackerConfigurationReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase GET_INCIDENT_CONFIGURATIONS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tincidentConfigurations: action.incidentConfigurations,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase TOGGLE_INC_CONFIG_DIALOG: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tincConfigDialogVisibility: action.visible,\r\n\t\t\t\t\t\t\tincConfigDialogMode: action.mode\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase SELECT_INC_CONFIGURATION: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tselectedConfiguration: action.selectedConfiguration\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: action.formState\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default incidentTrackerConfigurationReducer;\r\n","import { enqueueSnackbar, DownloadFile } from 'actions';\r\n\r\nimport {\r\n\tExportSitesRequest\r\n} from '../requests/SiteTrackerRequests.js';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const ExportSites = () => async (dispatch) => {\r\n\tawait ExportSitesRequest().then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE\r\n} from '../actions/SiteTrackerActions';\r\n\r\nconst initialState = {\r\n\tformState: {\r\n\t\tvalues: {},\r\n\t\tisValid: false,\r\n\t\ttouched: {},\r\n\t\terrors: {},\r\n\t}\r\n};\r\n\r\nconst siteTrackerReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: action.formState\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default siteTrackerReducer;\r\n","import { enqueueSnackbar, UploadFile } from 'actions';\r\nimport { DownloadFile } from 'actions/sessionActions.js';\r\n\r\nimport {\r\n\tCPMFilesUploadRequest\r\n} from '../requests/CPMFilesUploadRequests.js';\r\n\r\nexport const CPM_ENABLING_CHECKS = 'CPM_ENABLING_CHECKS';\r\n\r\nexport const UploadCPMFiles = (filePath, userName, userId) => async (dispatch) => {\r\n\tawait CPMFilesUploadRequest(filePath, userName, userId).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: response.data, options: { variant: 'success' } }));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const RunFileUpload = (file, userName, userId) => async (dispatch) => {\r\n\tawait UploadFile(file).then(response => {\r\n\t\tdispatch(UploadCPMFiles(response.data, userName, userId));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tCPM_ENABLING_CHECKS\r\n} from '../actions/CPMFilesUploadActions.js';\r\n\r\nconst initialState = {\r\n\tremove: []\r\n};\r\n\r\nconst CPMFilesUploadReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase CPM_ENABLING_CHECKS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tremove: action.remove\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default CPMFilesUploadReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const RANDumpExportRequest = (values, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/GenerateDumpExport`,\r\n\tdata: { values, userId }\r\n});\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport { RANDumpExportRequest } from '../requests/RANDumpExportRequests';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const RANDumpExport = (values, userId) => async (dispatch) => {\r\n\tawait RANDumpExportRequest(values, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE\r\n} from '../actions/RANDumpExportActions';\r\n\r\nconst initialState = {\r\n\tformState:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n};\r\n\r\nconst reportDumpExportReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default reportDumpExportReducer;\r\n","import { enqueueSnackbar, DownloadFile } from 'actions';\r\nimport { CPMDumpExportRequest } from '../requests/CPMDumpExportRequests';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const CPMDumpExport = (values, userId) => async (dispatch) => {\r\n\tawait CPMDumpExportRequest(values, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE\r\n} from '../actions/CPMDumpExportActions';\r\n\r\nconst initialState = {\r\n\tformState:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n};\r\n\r\nconst reportCPMDumpExportReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default reportCPMDumpExportReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GEOInputUploadRequest = (filePath, userId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}RanReportKpis/GEOInputUpload`,\r\n\tparams: { filePath, userId }\r\n});\r\n\r\nexport const GEOInputExportRequest = (userId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}RanReportKpis/GEOInputExport`,\r\n\tdata: { userId }\r\n});\r\n","import { enqueueSnackbar, UploadFile } from 'actions';\r\nimport { DownloadFile } from 'actions/sessionActions.js';\r\n\r\nimport { GEOInputExportRequest, GEOInputUploadRequest } from '../requests/GEOInputFileRequests.js';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const GEOInputExport = (userId) => async (dispatch) => {\r\n\tawait GEOInputExportRequest(userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GEOInputUpload = (file, userId) => async (dispatch) => {\r\n\tawait UploadFile(file).then(response => {\r\n\t\tGEOInputUploadRequest(response.data, userId).then(response2 => {\r\n\t\t\tif (response2.data.includes('uploaded with success')) {\r\n\t\t\t\tdispatch(GEOInputExport(userId));\r\n\t\t\t} else {\r\n\t\t\t\tdispatch(enqueueSnackbar({ message: 'Upload fail', options: { variant: 'error' } }));\r\n\t\t\t}\r\n\t\t}).catch((error) => {\r\n\t\t\tif (error) {\r\n\t\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t\t}\r\n\t\t});\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import { SET_FORM_STATE } from '../actions/GEOInputFileActions.js';\r\n\r\nconst initialState = {\r\n\tremove: []\r\n};\r\n\r\nconst GEOFilesUploadReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tremove: action.remove\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default GEOFilesUploadReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const SiteAssessment7DaysRequest = (values, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/SitePowerBoost`,\r\n\tdata: { userId, values }\r\n});\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport { SiteAssessment7DaysRequest } from '../requests/SiteAssessment7DaysRequests';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const SiteAssessment7Days = (values, userId) => async (dispatch) => {\r\n\tawait SiteAssessment7DaysRequest(values, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE\r\n} from '../actions/SiteAssessment7DaysActions';\r\n\r\nconst initialState = {\r\n\tformState:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n};\r\n\r\nconst SiteAssessmentReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default SiteAssessmentReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const TopOffendersPerformanceRequest = (values, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/TopOffendersSubRegion`,\r\n\tdata: { userId, values }\r\n});\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport { TopOffendersPerformanceRequest } from '../requests/TopOffendersRequests';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const PerformanceRequest = (values, userId) => async (dispatch) => {\r\n\tawait TopOffendersPerformanceRequest(values, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE\r\n} from '../actions/TopOffendersActions';\r\n\r\nconst initialState = {\r\n\tformState:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n};\r\n\r\nconst PerformanceReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default PerformanceReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const TopOffendersCitiesPerformanceRequest = (values, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/TopOffendersCities`,\r\n\tdata: { userId, values }\r\n});\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport { TopOffendersCitiesPerformanceRequest } from '../requests/TopOffendersCitiesRequests';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const PerformanceCitiesRequest = (values, userId) => async (dispatch) => {\r\n\tawait TopOffendersCitiesPerformanceRequest(values, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE\r\n} from '../actions/TopOffendersCitiesActions';\r\n\r\nconst initialState = {\r\n\tformState:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n};\r\n\r\nconst PerformanceCitiesReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default PerformanceCitiesReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const RanReportRFRequest = (values, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/GenerateRanReportRF`,\r\n\tdata: { userId, values }\r\n});\r\n\r\nexport const RanReportRFClusterDailyRequest = (values, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/GenerateRanReportRFClusterDaily`,\r\n\tdata: { userId, values }\r\n});\r\n\r\nexport const RanReportRFClusterHourlyRequest = (values, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/GenerateRanReportRFClusterHourly`,\r\n\tdata: { userId, values }\r\n});\r\n","import { enqueueSnackbar, DownloadFile } from 'actions';\r\n\r\nimport { RanReportRFRequest, RanReportRFClusterDailyRequest, RanReportRFClusterHourlyRequest } from '../requests/RanReportRFRequests';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\nexport const SET_FORM_STATE_CLUSTER = 'SET_FORM_STATE_CLUSTER';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nconst onSetFormStateCluster = (value) => ({\r\n\ttype: SET_FORM_STATE_CLUSTER,\r\n\tformStateCluster: value\r\n});\r\n\r\nexport const SetFormStateCluster = (value) => (dispatch) => {\r\n\tdispatch(onSetFormStateCluster(value));\r\n};\r\n\r\nexport const RanReportRF = (values, userId) => async (dispatch) => {\r\n\tawait RanReportRFRequest(values, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const RanReportRFClusterDaily = (values, userId) => async (dispatch) => {\r\n\tawait RanReportRFClusterDailyRequest(values, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const RanReportRFClusterHourly = (values, userId) => async (dispatch) => {\r\n\tawait RanReportRFClusterHourlyRequest(values, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE,\r\n\tSET_FORM_STATE_CLUSTER\r\n} from '../actions/RanReportRFActions';\r\n\r\nconst initialState = {\r\n\tformState:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n\tformStateCluster:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\taggregation: '',\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n};\r\n\r\nconst ranReportRFReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: action.formState\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase SET_FORM_STATE_CLUSTER: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformStateCluster: action.formStateCluster\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default ranReportRFReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const TopOffendersWorstSitesRequest = (values, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/TopOffendersSubRegionWorstSites`,\r\n\tdata: { userId, values }\r\n});\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport { TopOffendersWorstSitesRequest } from '../requests/WorstSitesRequests';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const WorstSitesRequest = (values, userId) => async (dispatch) => {\r\n\tawait TopOffendersWorstSitesRequest(values, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE\r\n} from '../actions/WorstSitesActions';\r\n\r\nconst initialState = {\r\n\tformState:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n};\r\n\r\nconst WorstSitesReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default WorstSitesReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const TopOffendersWorstSitesRegionRequest = (values, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/TopOffendersRegionWorstSites`,\r\n\tdata: { userId, values }\r\n});\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport { TopOffendersWorstSitesRegionRequest } from '../requests/WorstSitesRegionRequests';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const WorstSitesRegionRequest = (values, userId) => async (dispatch) => {\r\n\tawait TopOffendersWorstSitesRegionRequest(values, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE\r\n} from '../actions/WorstSitesRegionActions';\r\n\r\nconst initialState = {\r\n\tformState:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n};\r\n\r\nconst WorstSitesRegionReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default WorstSitesRegionReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const CapacityPRBBlackListRequest = (values, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/CapacityPRBBlackList`,\r\n\tdata: { userId, values }\r\n});\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport { CapacityPRBBlackListRequest } from '../requests/CapacityPRBBlackListRequests';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const PRBBlackListRequest = (values, userId) => async (dispatch) => {\r\n\tawait CapacityPRBBlackListRequest(values, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE\r\n} from '../actions/CapacityPRBBlackListActions';\r\n\r\nconst initialState = {\r\n\tformState:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n};\r\n\r\nconst CapacityPRBBlackListReducers = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default CapacityPRBBlackListReducers;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const TopOffendersWorstSitesCitiesRequest = (values, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/TopOffendersCitiesWorstSites`,\r\n\tdata: { userId, values }\r\n});\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport { TopOffendersWorstSitesCitiesRequest } from '../requests/WorstSitesCitiesRequests';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const WorstSitesCitiesRequest = (values, userId) => async (dispatch) => {\r\n\tawait TopOffendersWorstSitesCitiesRequest(values, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE\r\n} from '../actions/WorstSitesCitiesActions';\r\n\r\nconst initialState = {\r\n\tformState:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n};\r\n\r\nconst WorstSitesCitiesReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default WorstSitesCitiesReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GenerateBwUpdateRequest = (fileLocation, userId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Scripts/GenerateBandwidthL18C2`,\r\n\tparams: { fileLocation, userId }\r\n});\r\n","import { DownloadFile, enqueueSnackbar, UploadFile } from 'actions';\r\n\r\nimport {\r\n\tGenerateBwUpdateRequest\r\n} from '../requests/BwUpdateRequests.js';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const ProcessFileBwUpdate = (fileLocation, userId) => async (dispatch) => {\r\n\tawait GenerateBwUpdateRequest(fileLocation, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GenerateBwScript = (file, userId) => async (dispatch) => {\r\n\tawait UploadFile(file).then(response => {\r\n\t\tdispatch(ProcessFileBwUpdate(response.data, userId));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE,\r\n} from '../actions/BwUpdateActions.js';\r\n\r\nconst initialState = {\r\n\toperators: [],\r\n\topenAddOperatorDialog: false,\r\n\tdetailsOperatorId: null,\r\n\toperator: {},\r\n\tformState: {\r\n\t\tbwUpdate: {\r\n\t\t\tisValid: false,\r\n\t\t\tvalues: {},\r\n\t\t\ttouched: {},\r\n\t\t\terrors: {},\r\n\t\t}\r\n\t},\r\n\topenAddProjectDialog: false,\r\n\ttemplates: [],\r\n};\r\n\r\nconst bwUpdateReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default bwUpdateReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const TopOffendersAggSiteReportRequest = (values, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/GenerateTopOffendersAggSiteReport`,\r\n\tdata: { values, userId }\r\n});\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport { TopOffendersAggSiteReportRequest } from '../requests/TopOffendersAggSiteRequests';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const TopOffendersAggSiteExport = (values, userId) => async (dispatch) => {\r\n\tawait TopOffendersAggSiteReportRequest(values, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE\r\n} from '../actions/TopOffendersAggSiteActions';\r\n\r\nconst initialState = {\r\n\tformState:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n};\r\n\r\nconst TopOffendersAggSiteReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default TopOffendersAggSiteReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const TopOffendersAggSubRegionReportRequest = (values, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/GenerateTopOffendersAggSubRegionReport`,\r\n\tdata: { values, userId }\r\n});\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport { TopOffendersAggSubRegionReportRequest } from '../requests/TopOffendersAggSubRegionRequests';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const TopOffendersAggSubRegionExport = (values, userId) => async (dispatch) => {\r\n\tawait TopOffendersAggSubRegionReportRequest(values, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE\r\n} from '../actions/TopOffendersAggSubRegionActions';\r\n\r\nconst initialState = {\r\n\tformState:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n};\r\n\r\nconst TopOffendersAggSubRegionReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default TopOffendersAggSubRegionReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const TopOffendersAggRegionReportRequest = (values, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/GenerateTopOffendersAggRegionReport`,\r\n\tdata: { values, userId }\r\n});\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport { TopOffendersAggRegionReportRequest } from '../requests/TopOffendersAggRegionRequests';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const TopOffendersAggRegionExport = (values, userId) => async (dispatch) => {\r\n\tawait TopOffendersAggRegionReportRequest(values, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE\r\n} from '../actions/TopOffendersAggRegionActions';\r\n\r\nconst initialState = {\r\n\tformState:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n};\r\n\r\nconst TopOffendersAggRegionReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default TopOffendersAggRegionReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const TopOffendersAggCityReportRequest = (values, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/GenerateTopOffendersAggCityReport`,\r\n\tdata: { values, userId }\r\n});\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport { TopOffendersAggCityReportRequest } from '../requests/TopOffendersAggCityRequests';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const TopOffendersAggCityExport = (values, userId) => async (dispatch) => {\r\n\tawait TopOffendersAggCityReportRequest(values, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE\r\n} from '../actions/TopOffendersAggCityActions';\r\n\r\nconst initialState = {\r\n\tformState:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n};\r\n\r\nconst TopOffendersAggCityReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default TopOffendersAggCityReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GetIncidentsRequest = (userId, role) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}RFOPTTracker/GetIncidents`,\r\n\tparams: { userId, role }\r\n});\r\n\r\nexport const GetIncidentDetailsRequest = (userId, tableId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}RFOPTTracker/GetIncidentDetails`,\r\n\tparams: { userId, tableId }\r\n});\r\n\r\nexport const GetIncidentDropdownsRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}RFOPTTracker/GetIncidentDropdowns`\r\n});\r\n\r\nexport const EditIncidentDetailsRequest = incidentTrackerDto => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RFOPTTracker/EditIncidentDetails`,\r\n\tdata: incidentTrackerDto\r\n});\r\n\r\nexport const CreateIncidentRequest = incidentTrackerDto => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RFOPTTracker/CreateIncident`,\r\n\tdata: incidentTrackerDto\r\n});\r\n\r\nexport const DeleteIncidentRequest = (userId, tableId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}RFOPTTracker/DeleteIncident`,\r\n\tparams: { userId, tableId }\r\n});\r\n\r\nexport const ExportIncidentsRequest = (userId, role) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}RFOPTTracker/ExportIncidents`,\r\n\tparams: { userId, role }\r\n});\r\n\r\nexport const GetAutocompleteFieldsRequest = siteId => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}RFOPTTracker/GetAutocompleteFields`,\r\n\tparams: { siteId }\r\n});\r\n\r\nexport const AddAttachmentRequest = (userId, incidentId, tempFilePath) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RFOPTTracker/AddAttachment`,\r\n\tdata: { userId, incidentId, tempFilePath }\r\n});\r\n\r\nexport const DownloadAttachmentRequest = (userId, tableId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}RFOPTTracker/DownloadAttachment`,\r\n\tparams: { userId, tableId }\r\n});\r\n\r\nexport const RemoveAttachmentRequest = (userId, tableId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}RFOPTTracker/RemoveAttachment`,\r\n\tparams: { userId, tableId }\r\n});\r\n\r\nexport const GetCommentsRequest = id => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}RFOPTTracker/GetComments`,\r\n\tparams: { id }\r\n});\r\n\r\nexport const AddCommentRequest = (trackerCommentDto) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RFOPTTracker/AddComment`,\r\n\tdata: trackerCommentDto\r\n});\r\n\r\nexport const AddDropdownFieldRequest = (userId, name, value, relations) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RFOPTTracker/AddDropdownField`,\r\n\tdata: { userId, name, value, relations }\r\n});\r\n\r\nexport const RemoveDropdownFieldRequest = (userId, name, value, id, relations) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RFOPTTracker/RemoveDropdownField`,\r\n\tdata: { userId, name, value, id, relations }\r\n});\r\n","import { DownloadFile, enqueueSnackbar, UploadFile } from 'actions';\r\nimport {\r\n\tGetIncidentsRequest,\r\n\tGetIncidentDetailsRequest,\r\n\tGetIncidentDropdownsRequest,\r\n\tEditIncidentDetailsRequest,\r\n\tCreateIncidentRequest,\r\n\tDeleteIncidentRequest,\r\n\tExportIncidentsRequest,\r\n\tGetAutocompleteFieldsRequest,\r\n\tAddAttachmentRequest,\r\n\tDownloadAttachmentRequest,\r\n\tRemoveAttachmentRequest,\r\n\tGetCommentsRequest,\r\n\tAddCommentRequest,\r\n\tAddDropdownFieldRequest,\r\n\tRemoveDropdownFieldRequest\r\n} from '../requests/IncidentTrackerRequests';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\nexport const RESET_FIELDS = 'RESET_FIELDS';\r\nexport const GET_INCIDENT_TRACKER_TRACKER = 'GET_INCIDENT_TRACKER_TRACKER';\r\nexport const TOGGLE_INCIDENT_TRACKER_DIALOG = 'TOGGLE_INCIDENT_TRACKER_DIALOG';\r\nexport const GET_INCIDENT_TRACKER_TRACKER_DETAILS = 'GET_INCIDENT_TRACKER_TRACKER_DETAILS';\r\nexport const GET_INCIDENT_TRACKER_TRACKER_DROPDOWNS = 'GET_INCIDENT_TRACKER_TRACKER_DROPDOWNS';\r\nexport const TOGGLE_DELETE_INCIDENT_TRACKER_DIALOG = 'TOGGLE_DELETE_INCIDENT_TRACKER_DIALOG';\r\nexport const GET_INCIDENT_TRACKER_AUTOCOMPLETE = 'GET_INCIDENT_TRACKER_AUTOCOMPLETE';\r\nexport const TOGGLE_ATTACH_FILE_INCIDENT_TRACKER_DIALOG = 'TOGGLE_ATTACH_FILE_INCIDENT_TRACKER_DIALOG';\r\nexport const TOGGLE_REMOVE_FILE_INCIDENT_TRACKER_DIALOG = 'TOGGLE_REMOVE_FILE_INCIDENT_TRACKER_DIALOG';\r\nexport const TOGGLE_OPTIONS_INCIDENT_TRACKER_DIALOG = 'TOGGLE_OPTIONS_INCIDENT_TRACKER_DIALOG';\r\nexport const TOGGLE_OPTIONS_INCIDENT_TRACKER_FORM = 'TOGGLE_OPTIONS_INCIDENT_TRACKER_FORM';\r\nexport const GET_COMMENTS = 'GET_COMMENTS';\r\nexport const ADD_DROPDOWN_FIELD = 'ADD_DROPDOWN_FIELD';\r\n\r\nconst onSetFormState = value => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nconst onResetFields = () => ({\r\n\ttype: RESET_FIELDS\r\n});\r\n\r\nconst onGetIncidents = value => ({\r\n\ttype: GET_INCIDENT_TRACKER_TRACKER,\r\n\tincidents: value\r\n});\r\n\r\nconst onToggleIncidentTrackerDialog = (visible, tableId) => ({\r\n\ttype: TOGGLE_INCIDENT_TRACKER_DIALOG,\r\n\tvisible,\r\n\ttableId\r\n});\r\n\r\nconst onGetIncidentDetails = value => ({\r\n\ttype: GET_INCIDENT_TRACKER_TRACKER_DETAILS,\r\n\tincidentDetails: value\r\n});\r\n\r\nconst onGetIncidentDropdowns = value => ({\r\n\ttype: GET_INCIDENT_TRACKER_TRACKER_DROPDOWNS,\r\n\tdropdowns: value\r\n});\r\n\r\nconst onToggleDeleteIncidentTrackerDialog = (visible, tableId) => ({\r\n\ttype: TOGGLE_DELETE_INCIDENT_TRACKER_DIALOG,\r\n\tvisible,\r\n\ttableId\r\n});\r\n\r\nconst onGetAutocompleteFields = value => ({\r\n\ttype: GET_INCIDENT_TRACKER_AUTOCOMPLETE,\r\n\tautocompleteFields: value\r\n});\r\n\r\nconst onToggleAttachFileIncidentTrackerDialog = visible => ({\r\n\ttype: TOGGLE_ATTACH_FILE_INCIDENT_TRACKER_DIALOG,\r\n\tvisible\r\n});\r\n\r\nconst onToggleRemoveFileIncidentTrackerDialog = visible => ({\r\n\ttype: TOGGLE_REMOVE_FILE_INCIDENT_TRACKER_DIALOG,\r\n\tvisible\r\n});\r\n\r\nconst onToggleOptionsIncidentTrackerDialog = visible => ({\r\n\ttype: TOGGLE_OPTIONS_INCIDENT_TRACKER_DIALOG,\r\n\tvisible\r\n});\r\n\r\nconst onToggleOptionsIncidentTrackerForm = (visible, dropdownLabel, dropdownName, dropdownValue, dropdownId) => ({\r\n\ttype: TOGGLE_OPTIONS_INCIDENT_TRACKER_FORM,\r\n\tvisible,\r\n\tdropdownLabel,\r\n\tdropdownName,\r\n\tdropdownValue,\r\n\tdropdownId\r\n});\r\n\r\nconst onGetComments = value => ({\r\n\ttype: GET_COMMENTS,\r\n\tcomments: value\r\n});\r\n\r\nconst onAddDropdownField = value => ({\r\n\ttype: ADD_DROPDOWN_FIELD,\r\n\tnewDropdownField: value\r\n});\r\n\r\nexport const SetFormState = value => dispatch => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const ResetFields = () => dispatch => {\r\n\tdispatch(onResetFields());\r\n};\r\n\r\nexport const GetIncidents = (userId, role) => async dispatch => {\r\n\tawait GetIncidentsRequest(userId, role)\r\n\t\t.then(response => {\r\n\t\t\tdispatch(onGetIncidents(response.data));\r\n\t\t})\r\n\t\t.catch(error => {\r\n\t\t\tif (error) {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tenqueueSnackbar({\r\n\t\t\t\t\t\tmessage: error.message,\r\n\t\t\t\t\t\toptions: { variant: error.variant }\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t});\r\n};\r\n\r\nexport const ToggleIncidentTrackerDialog = (visible, tableId) => dispatch => {\r\n\tdispatch(onToggleIncidentTrackerDialog(visible, tableId));\r\n};\r\n\r\nexport const GetIncidentDetails = (\r\n\tuserId,\r\n\ttableId\r\n) => async dispatch => {\r\n\tawait GetIncidentDetailsRequest(userId, tableId)\r\n\t\t.then(response => {\r\n\t\t\tdispatch(onGetIncidentDetails(response.data));\r\n\t\t})\r\n\t\t.catch(error => {\r\n\t\t\tif (error) {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tenqueueSnackbar({\r\n\t\t\t\t\t\tmessage: error.message,\r\n\t\t\t\t\t\toptions: { variant: error.variant }\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t});\r\n};\r\n\r\nexport const GetIncidentDropdowns = (\r\n\tuserId,\r\n\ttableId\r\n) => async dispatch => {\r\n\tawait GetIncidentDropdownsRequest(userId, tableId)\r\n\t\t.then(response => {\r\n\t\t\tdispatch(onGetIncidentDropdowns(response.data));\r\n\t\t})\r\n\t\t.catch(error => {\r\n\t\t\tif (error) {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tenqueueSnackbar({\r\n\t\t\t\t\t\tmessage: error.message,\r\n\t\t\t\t\t\toptions: { variant: error.variant }\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t});\r\n};\r\n\r\nexport const EditIncidentDetails = incidentTrackerDto => async dispatch => {\r\n\tawait EditIncidentDetailsRequest(incidentTrackerDto)\r\n\t\t.then(response => {\r\n\t\t\tdispatch(GetIncidents());\r\n\t\t})\r\n\t\t.catch(error => {\r\n\t\t\tif (error) {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tenqueueSnackbar({\r\n\t\t\t\t\t\tmessage: error.message,\r\n\t\t\t\t\t\toptions: { variant: error.variant }\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t});\r\n};\r\n\r\nexport const CreateIncident = incidentTrackerDto => async dispatch => {\r\n\tawait CreateIncidentRequest(incidentTrackerDto)\r\n\t\t.then(response => {\r\n\t\t\tdispatch(GetIncidents());\r\n\t\t})\r\n\t\t.catch(error => {\r\n\t\t\tif (error) {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tenqueueSnackbar({\r\n\t\t\t\t\t\tmessage: error.message,\r\n\t\t\t\t\t\toptions: { variant: error.variant }\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t});\r\n};\r\n\r\nexport const ToggleDeleteIncidentTrackerDialog = (visible, tableId) => dispatch => {\r\n\tdispatch(onToggleDeleteIncidentTrackerDialog(visible, tableId));\r\n};\r\n\r\nexport const DeleteIncident = (userId, tableId) => async dispatch => {\r\n\tawait DeleteIncidentRequest(userId, tableId)\r\n\t\t.then(response => { })\r\n\t\t.catch(error => {\r\n\t\t\tif (error) {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tenqueueSnackbar({\r\n\t\t\t\t\t\tmessage: error.message,\r\n\t\t\t\t\t\toptions: { variant: error.variant }\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t});\r\n};\r\n\r\nexport const ExportIncidents = (userId, role) => async dispatch => {\r\n\tawait ExportIncidentsRequest(userId, role)\r\n\t\t.then(response => {\r\n\t\t\tdispatch(DownloadFile(response.data));\r\n\t\t})\r\n\t\t.catch(error => {\r\n\t\t\tif (error) {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tenqueueSnackbar({\r\n\t\t\t\t\t\tmessage: error.message,\r\n\t\t\t\t\t\toptions: { variant: error.variant }\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t});\r\n};\r\n\r\nexport const GetAutocompleteFields = siteId => async dispatch => {\r\n\tawait GetAutocompleteFieldsRequest(siteId)\r\n\t\t.then(response => {\r\n\t\t\tdispatch(onGetAutocompleteFields(response.data));\r\n\t\t})\r\n\t\t.catch(error => {\r\n\t\t\tif (error) {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tenqueueSnackbar({\r\n\t\t\t\t\t\tmessage: error.message,\r\n\t\t\t\t\t\toptions: { variant: error.variant }\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t});\r\n};\r\n\r\nexport const AddAttachment = (\r\n\tuserId,\r\n\tincidentId,\r\n\tfilePath\r\n) => async dispatch => {\r\n\tawait AddAttachmentRequest(userId, incidentId, filePath)\r\n\t\t.then(response => {\r\n\t\t\t// dispatch(GetRepositoryFiles());\r\n\t\t})\r\n\t\t.catch(error => {\r\n\t\t\tif (error) {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tenqueueSnackbar({\r\n\t\t\t\t\t\tmessage: error.message,\r\n\t\t\t\t\t\toptions: { variant: error.variant }\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t});\r\n};\r\n\r\nexport const UploadAttachment = (\r\n\tuserId,\r\n\tincidentId,\r\n\tfile\r\n) => async dispatch => {\r\n\tawait UploadFile(file)\r\n\t\t.then(response => {\r\n\t\t\tdispatch(AddAttachment(userId, incidentId, response.data));\r\n\t\t})\r\n\t\t.catch(error => {\r\n\t\t\tif (error) {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tenqueueSnackbar({\r\n\t\t\t\t\t\tmessage: error.message,\r\n\t\t\t\t\t\toptions: { variant: error.variant }\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t});\r\n};\r\n\r\nexport const ToggleAttachFileIncidentTrackerDialog = visible => dispatch => {\r\n\tdispatch(onToggleAttachFileIncidentTrackerDialog(visible));\r\n};\r\n\r\nexport const DownloadAttachment = (userId, tableId) => async dispatch => {\r\n\tawait DownloadAttachmentRequest(userId, tableId)\r\n\t\t.then(response => {\r\n\t\t\tdispatch(DownloadFile(response.data));\r\n\t\t})\r\n\t\t.catch(error => {\r\n\t\t\tif (error) {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tenqueueSnackbar({\r\n\t\t\t\t\t\tmessage: error.message,\r\n\t\t\t\t\t\toptions: { variant: error.variant }\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t});\r\n};\r\n\r\nexport const ToggleRemoveFileIncidentTrackerDialog = visible => dispatch => {\r\n\tdispatch(onToggleRemoveFileIncidentTrackerDialog(visible));\r\n};\r\n\r\nexport const ToggleOptionsIncidentTrackerDialog = visible => dispatch => {\r\n\tdispatch(onToggleOptionsIncidentTrackerDialog(visible));\r\n};\r\n\r\nexport const ToggleOptionsIncidentTrackerForm = (visible, dropdownLabel, dropdownName, dropdownValue, dropdownId) => dispatch => {\r\n\tdispatch(onToggleOptionsIncidentTrackerForm(visible, dropdownLabel, dropdownName, dropdownValue, dropdownId));\r\n};\r\n\r\nexport const RemoveAttachment = (userId, tableId) => async dispatch => {\r\n\tawait RemoveAttachmentRequest(userId, tableId)\r\n\t\t.then(response => {\r\n\t\t\t// dispatch(DownloadFile(response.data));\r\n\t\t})\r\n\t\t.catch(error => {\r\n\t\t\tif (error) {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tenqueueSnackbar({\r\n\t\t\t\t\t\tmessage: error.message,\r\n\t\t\t\t\t\toptions: { variant: error.variant }\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t});\r\n};\r\n\r\nexport const GetComments = id => async dispatch => {\r\n\tawait GetCommentsRequest(id)\r\n\t\t.then(response => {\r\n\t\t\tdispatch(onGetComments(response.data));\r\n\t\t})\r\n\t\t.catch(error => {\r\n\t\t\tif (error) {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tenqueueSnackbar({\r\n\t\t\t\t\t\tmessage: error.message,\r\n\t\t\t\t\t\toptions: { variant: error.variant }\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t});\r\n};\r\n\r\nexport const AddComment = (trackerCommentDto) => async dispatch => {\r\n\tawait AddCommentRequest(trackerCommentDto)\r\n\t\t.then(response => {\r\n\t\t\tdispatch(GetComments(trackerCommentDto.tableId));\r\n\t\t})\r\n\t\t.catch(error => {\r\n\t\t\tif (error) {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tenqueueSnackbar({\r\n\t\t\t\t\t\tmessage: error.message,\r\n\t\t\t\t\t\toptions: { variant: error.variant }\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t});\r\n};\r\n\r\nexport const AddDropdownField = (userId, name, value, relations) => async dispatch => {\r\n\tawait AddDropdownFieldRequest(userId, name, value, relations)\r\n\t\t.then(response => {\r\n\t\t\tdispatch(GetIncidentDropdowns());\r\n\t\t\tdispatch(onAddDropdownField(response.data));\r\n\t\t})\r\n\t\t.catch(error => {\r\n\t\t\tif (error) {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tenqueueSnackbar({\r\n\t\t\t\t\t\tmessage: error.message,\r\n\t\t\t\t\t\toptions: { variant: error.variant }\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t});\r\n};\r\n\r\nexport const RemoveDropdownField = (userId, name, value, id, relations) => async dispatch => {\r\n\tawait RemoveDropdownFieldRequest(userId, name, value, id, relations)\r\n\t\t.then(response => {\r\n\t\t\tdispatch(GetIncidentDropdowns());\r\n\t\t})\r\n\t\t.catch(error => {\r\n\t\t\tif (error) {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tenqueueSnackbar({\r\n\t\t\t\t\t\tmessage: error.message,\r\n\t\t\t\t\t\toptions: { variant: error.variant }\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE,\r\n\tRESET_FIELDS,\r\n\tGET_INCIDENT_TRACKER_TRACKER,\r\n\tTOGGLE_INCIDENT_TRACKER_DIALOG,\r\n\tGET_INCIDENT_TRACKER_TRACKER_DETAILS,\r\n\tGET_INCIDENT_TRACKER_TRACKER_DROPDOWNS,\r\n\tTOGGLE_DELETE_INCIDENT_TRACKER_DIALOG,\r\n\tGET_INCIDENT_TRACKER_AUTOCOMPLETE,\r\n\tTOGGLE_ATTACH_FILE_INCIDENT_TRACKER_DIALOG,\r\n\tTOGGLE_REMOVE_FILE_INCIDENT_TRACKER_DIALOG,\r\n\tTOGGLE_OPTIONS_INCIDENT_TRACKER_DIALOG,\r\n\tTOGGLE_OPTIONS_INCIDENT_TRACKER_FORM,\r\n\tGET_COMMENTS,\r\n\tADD_DROPDOWN_FIELD\r\n} from '../actions/IncidentTrackerActions';\r\n\r\nconst initialState = {\r\n\tincidents: [],\r\n\tIncidentTrackerDialogVisibility: false,\r\n\tincidentDetails: [],\r\n\tdropdowns: [],\r\n\tincidentTrackerDto: [],\r\n\ttrackerCommentDto: [],\r\n\ttableId: '',\r\n\tdeleteIncidentTrackerDialogVisibility: false,\r\n\tattachFileIncidentTrackerDialogVisibility: false,\r\n\tremoveFileIncidentTrackerDialogVisibility: false,\r\n\toptionsIncidentTrackerDialogVisibility: false,\r\n\toptionsIncidentTrackerFormVisibility: false,\r\n\tdropdownLabel: '',\r\n\tdropdownName: '',\r\n\tdropdownValue: '',\r\n\tdropdownId: undefined,\r\n\tautocompleteFields: [],\r\n\tcomments: [],\r\n\tnewDropdownField: '',\r\n\tformState: {\r\n\t\tvalues: {\r\n\t\t\tinputFilePath: '',\r\n\t\t\tclosedDate: '',\r\n\t\t\tticketClosedFlag: false,\r\n\t\t\tdisableModalSaveButton: false\r\n\t\t},\r\n\t\tisValid: false,\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t}\r\n};\r\n\r\nconst incidentTrackerDemoReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: action.formState\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase RESET_FIELDS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tdrives: [],\r\n\t\t\t\t\t\t\tdates: []\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_INCIDENT_TRACKER_TRACKER: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tincidents: action.incidents\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase TOGGLE_INCIDENT_TRACKER_DIALOG: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tIncidentTrackerDialogVisibility: action.visible,\r\n\t\t\t\t\t\t\ttableId: action.tableId,\r\n\t\t\t\t\t\t\tformState: initialState.formState\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_INCIDENT_TRACKER_TRACKER_DETAILS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: {\r\n\t\t\t\t\t\t\t\t...state.formState,\r\n\t\t\t\t\t\t\t\tvalues: { ...action.incidentDetails }\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tincidentDetails: action.incidentDetails\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_INCIDENT_TRACKER_TRACKER_DROPDOWNS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tdropdowns: action.dropdowns\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase TOGGLE_DELETE_INCIDENT_TRACKER_DIALOG: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tdeleteIncidentTrackerDialogVisibility: action.visible,\r\n\t\t\t\t\t\t\ttableId: action.tableId\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_INCIDENT_TRACKER_AUTOCOMPLETE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tautocompleteFields: action.autocompleteFields\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase TOGGLE_ATTACH_FILE_INCIDENT_TRACKER_DIALOG: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tattachFileIncidentTrackerDialogVisibility: action.visible\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase TOGGLE_REMOVE_FILE_INCIDENT_TRACKER_DIALOG: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tremoveFileIncidentTrackerDialogVisibility: action.visible\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase TOGGLE_OPTIONS_INCIDENT_TRACKER_DIALOG: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\toptionsIncidentTrackerDialogVisibility: action.visible\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase TOGGLE_OPTIONS_INCIDENT_TRACKER_FORM: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\toptionsIncidentTrackerFormVisibility: action.visible,\r\n\t\t\t\t\t\t\tdropdownLabel: action.dropdownLabel,\r\n\t\t\t\t\t\t\tdropdownName: action.dropdownName,\r\n\t\t\t\t\t\t\tdropdownValue: action.dropdownValue,\r\n\t\t\t\t\t\t\tdropdownId: action.dropdownId\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase GET_COMMENTS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tcomments: action.comments\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase ADD_DROPDOWN_FIELD: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tnewDropdownField: action.newDropdownField\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default incidentTrackerDemoReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const ReportRFCountersRequest = (values, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/GenerateRanReportRFCounters`,\r\n\tdata: { userId, values }\r\n});\r\n","import { enqueueSnackbar, DownloadFile } from 'actions';\r\n\r\nimport { ReportRFCountersRequest } from '../requests/ReportRFCountersRequests';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const ReportRFCounters = (values, userId) => async (dispatch) => {\r\n\tawait ReportRFCountersRequest(values, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE\r\n} from '../actions/ReportRFCountersActions';\r\n\r\nconst initialState = {\r\n\tformState:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n};\r\n\r\nconst reportRFCountersReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: action.formState\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default reportRFCountersReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const ReportSunsetExportRequest = (values, userId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/GenerateAcceptanceSunsetReport`,\r\n\tdata: { values, userId }\r\n});\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport { ReportSunsetExportRequest } from '../requests/ReportSunsetRequests';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const ReportSunsetExport = (values, userId) => async (dispatch) => {\r\n\tawait ReportSunsetExportRequest(values, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE\r\n} from '../actions/ReportSunsetActions';\r\n\r\nconst initialState = {\r\n\tformState:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n};\r\n\r\nconst reportSunsetReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformState: { ...state.formState, ...action.formState }\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default reportSunsetReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const FocusOccasionUploadRequest = (filePath, userName, userId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}RanReportKpis/FocusOccasionUpload`,\r\n\tparams: { filePath, userName, userId }\r\n});\r\n\r\nexport const DownloadTemplateRequest = (userName, userId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}RanReportKpis/FocusOccasionDownloadTemplate`,\r\n\tparams: { userName, userId }\r\n});\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport { FocusOccasionUploadRequest, DownloadTemplateRequest } from '../requests/FocusOccasionUploadRequests.js';\r\n\r\nexport const RET_ENABLING_CHECKS = 'RET_ENABLING_CHECKS';\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nexport const DownloadTemplate = (userName, userId) => async (dispatch) => {\r\n\tawait DownloadTemplateRequest(userName, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const UploadFocusOccasionFiles = (filePath, userName, userId) => async (dispatch) => {\r\n\tawait FocusOccasionUploadRequest(filePath, userName, userId).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: response.data, options: { variant: 'success' } }));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const RunFileUpload = (file, userName, userId) => async (dispatch) => {\r\n\tawait UploadFile(file).then(response => {\r\n\t\tdispatch(UploadFocusOccasionFiles(response.data, userName, userId));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n","import {\r\n\tRET_ENABLING_CHECKS\r\n} from '../actions/FocusOccasionUploadActions.js';\r\n\r\nconst initialState = {\r\n\tremove: []\r\n};\r\n\r\nconst FocusOccasionUploadReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase RET_ENABLING_CHECKS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tremove: action.remove\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default FocusOccasionUploadReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GetTeamAssignRequest = (userId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}AcceptanceManagement/GetTeamAssign`,\r\n\tparams: { userId }\r\n});\r\n\r\nexport const GetTeamAssignDetailsRequest = (userId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}AcceptanceManagement/GetTeamAssignDetails`,\r\n\tparams: { userId }\r\n});\r\n\r\nexport const SaveTeamAssignRequest = (allocationUpdate) => AxiosRequest({\r\n\tmethod: 'PUT',\r\n\turl: `${config.API_URL}AcceptanceManagement/SaveTeamAssign`,\r\n\tdata: allocationUpdate\r\n});\r\n\r\nexport const ResetTeamAssignRequest = (userId, id) => AxiosRequest({\r\n\tmethod: 'PUT',\r\n\turl: `${config.API_URL}AcceptanceManagement/ResetTeamAssign`,\r\n\tparams: { userId, id }\r\n});\r\n","import { enqueueSnackbar, DownloadFile } from 'actions';\r\n\r\nimport {\r\n\tGetTeamAssignRequest, GetTeamAssignDetailsRequest, SaveTeamAssignRequest, ResetTeamAssignRequest\r\n} from '../requests/ManagementRequest';\r\n\r\nexport const SET_FORM_STATE_ERICSSON = 'SET_FORM_STATE_ERICSSON';\r\nexport const SET_FORM_STATE_NOKIA = 'SET_FORM_STATE_NOKIA';\r\nexport const SET_FORM_STATE_VALUES = 'SET_FORM_STATE_VALUES';\r\n\r\nconst onSetFormStateEricsson = (value) => ({\r\n\ttype: SET_FORM_STATE_ERICSSON,\r\n\tformStateEricsson: value\r\n});\r\n\r\nexport const SetFormStateEricsson = (value) => (dispatch) => {\r\n\tdispatch(onSetFormStateEricsson(value));\r\n};\r\n\r\nconst onSetFormStateNokia = (value) => ({\r\n\ttype: SET_FORM_STATE_NOKIA,\r\n\tformStateNokia: value\r\n});\r\n\r\nexport const SetFormStateNokia = (value) => (dispatch) => {\r\n\tdispatch(onSetFormStateNokia(value));\r\n};\r\n\r\nconst onGetTeamAssign = (value) => ({\r\n\ttype: SET_FORM_STATE_VALUES,\r\n\tteamAssingValues: value\r\n});\r\n\r\nexport const GetTeamAssign = (userId) => async (dispatch) => {\r\n\tawait GetTeamAssignRequest(userId).then(response => {\r\n\t\tdispatch(onGetTeamAssign(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const SET_DETAILS = 'SET_DETAILS';\r\n\r\nconst onGetTeamAssignDetails = (value) => ({\r\n\ttype: SET_DETAILS,\r\n\tteamDetails: value\r\n});\r\n\r\nexport const GetTeamAssignDetails = (userId) => async (dispatch) => {\r\n\tawait GetTeamAssignDetailsRequest(userId).then(response => {\r\n\t\tdispatch(onGetTeamAssignDetails(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\n// BUTTONS ACTIONS\r\n\r\nexport const SaveAllocation = (allocationUpdate) => async (dispatch) => {\r\n\tawait SaveTeamAssignRequest(allocationUpdate).then(response => {\r\n\t\t// statusCode 201 = Created\r\n\t\tif (response.status === 201) {\r\n\t\t\tdispatch(GetTeamAssign(allocationUpdate.UserId));\r\n\t\t\tdispatch(GetTeamAssignDetails(allocationUpdate.UserId));\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'Saved', options: { variant: 'success' } }));\r\n\t\t} else {\r\n\t\t\tdispatch(enqueueSnackbar({ message: response.statusText, options: { variant: 'error' } }));\r\n\t\t}\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const ResetAllocation = (userId, id) => async (dispatch) => {\r\n\tawait ResetTeamAssignRequest(userId, id).then(response => {\r\n\t\t// statusCode 201 = Created\r\n\t\tif (response.status === 201) {\r\n\t\t\tdispatch(GetTeamAssign(userId));\r\n\t\t\tdispatch(GetTeamAssignDetails(userId));\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'Resetting completed', options: { variant: 'success' } }));\r\n\t\t} else {\r\n\t\t\tdispatch(enqueueSnackbar({ message: response.statusText, options: { variant: 'error' } }));\r\n\t\t}\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import {\r\n\tSET_FORM_STATE_ERICSSON, SET_FORM_STATE_NOKIA, SET_FORM_STATE_VALUES, SET_DETAILS\r\n} from '../actions/ManagementActions';\r\n\r\nconst initialState = {\r\n\tformStateEricsson:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n\tformStateNokia:\r\n\t{\r\n\t\tisValid: false,\r\n\t\tvalues: {},\r\n\t\ttouched: {},\r\n\t\terrors: {}\r\n\t},\r\n\tteamDetails: {}\r\n};\r\n\r\nconst managementReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE_ERICSSON: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformStateEricsson: action.formStateEricsson\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase SET_FORM_STATE_NOKIA: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformStateNokia: action.formStateNokia\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase SET_DETAILS: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tteamDetails: action.teamDetails\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase SET_FORM_STATE_VALUES: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tformStateEricsson: {\r\n\t\t\t\t\t\t\t\t...state.formStateEricsson,\r\n\t\t\t\t\t\t\t\tvalues: { ...action.teamAssingValues[0] }\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tformStateNokia: {\r\n\t\t\t\t\t\t\t\t...state.formStateNokia,\r\n\t\t\t\t\t\t\t\tvalues: { ...action.teamAssingValues[1] }\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default managementReducer;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const IncidentCellListUploadRequest = (filePath, userId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}RanReportKpis/IncidentCellListUpload`,\r\n\tparams: { filePath, userId }\r\n});\r\n\r\nexport const IncidentCellListExportRequest = (userId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}RanReportKpis/IncidentCellListExport`,\r\n\tdata: { userId }\r\n});\r\n","import { enqueueSnackbar, UploadFile } from 'actions';\r\nimport { DownloadFile } from 'actions/sessionActions.js';\r\n\r\nimport { IncidentCellListExportRequest, IncidentCellListUploadRequest } from '../requests/IncidentCellListRequests.js';\r\n\r\nexport const SET_FORM_STATE = 'SET_FORM_STATE';\r\n\r\nconst onSetFormState = (value) => ({\r\n\ttype: SET_FORM_STATE,\r\n\tformState: value\r\n});\r\n\r\nexport const SetFormState = (value) => (dispatch) => {\r\n\tdispatch(onSetFormState(value));\r\n};\r\n\r\nexport const IncidentCellListExport = (userId) => async (dispatch) => {\r\n\tawait IncidentCellListExportRequest(userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const IncidentCellListUpload = (file, userId) => async (dispatch) => {\r\n\tawait UploadFile(file).then(response => {\r\n\t\tIncidentCellListUploadRequest(response.data, userId).then(response2 => {\r\n\t\t\tif (response2.data.includes('uploaded with success')) {\r\n\t\t\t\tdispatch(IncidentCellListExport(userId));\r\n\t\t\t} else {\r\n\t\t\t\tdispatch(enqueueSnackbar({ message: 'Upload fail', options: { variant: 'error' } }));\r\n\t\t\t}\r\n\t\t}).catch((error) => {\r\n\t\t\tif (error) {\r\n\t\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t\t}\r\n\t\t});\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import { SET_FORM_STATE } from '../actions/IncidentCellListActions.js';\r\n\r\nconst initialState = {\r\n\tremove: []\r\n};\r\n\r\nconst IncidentCellListReducer = (state = initialState, action) => {\r\n\tswitch (action.type) {\r\n\t\t\t\t\tcase SET_FORM_STATE: {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\tremove: action.remove\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t}\r\n\t}\r\n};\r\n\r\nexport default IncidentCellListReducer;\r\n","import { combineReducers } from 'redux';\r\n\r\nimport sessionReducer from './sessionReducer';\r\nimport notifierReducer from './notifierReducer';\r\nimport usersReducer from '../views/Management/reducers/UsersReducer';\r\nimport operatorsReducer from '../views/Management/reducers/OperatorsReducer';\r\nimport settingsReducer from '../views/Management/reducers/SettingsReducer';\r\nimport dashboardInspectReducer from '../views/Dashboard/reducers/DashboardInspectReducer';\r\nimport techAddReducer from '../views/Scripts/reducers/TechAddReducer';\r\nimport reportsReducer from '../views/ReportKpis/reducers/ReportsReducer';\r\nimport ticketsReducer from '../views/Tickets/reducers/TicketsReducer';\r\nimport configurationReducer from '../views/CM/reducers/ConfigurationReducer';\r\nimport cellInfoReducer from '../views/CM/reducers/CellInfoReducer';\r\nimport huaweiRemoteAnalysisReducer from '../views/CM/reducers/HuaweiRemoteAnalysisReducer';\r\nimport reportPPMranReducer from '../views/SmallCells/reducers/ReportPPMReducer';\r\nimport scfReducer from '../views/Scripts/reducers/ScfReducer';\r\nimport report2CAReducer from '../views/Acceptance/reducers/Report2CAReducer';\r\nimport reportAvailabilityReducer from '../views/SmallCells/reducers/RanReportAvailabilityReducer';\r\nimport ReportSmallCellsImpactReducer from '../views/SmallCells/reducers/ReportSmallCellsImpactReducer';\r\nimport reportNRReducer from '../views/Acceptance/reducers/ReportNRReducer';\r\nimport reportNR7AssessmentReducer from '../views/Acceptance/reducers/ReportNR7AssessmentReducer';\r\nimport RETEnablingChecksReducer from '../views/RanRETAudit/reducers/RetAuditReducers';\r\nimport RETFilesUploadReducer from '../views/RanRETAudit/reducers/RETFilesUploadReducers';\r\nimport incidentTrackerReducer from '../views/IncidentTracker/reducers/IncidentTrackerReducer';\r\nimport incidentTrackerConfigurationReducer from '../views/IncidentTracker/reducers/IncidentTrackerConfigurationReducer';\r\nimport siteTrackerReducer from '../views/SiteTracker/reducers/SiteTrackerReducer';\r\nimport CPMUploadReducer from '../views/RanRETAudit/reducers/CPMFilesUploadReducers';\r\nimport RANDumpExportReducer from '../views/RANDumpExport/reducers/RANDumpExportReducers';\r\nimport CPMDumpExportReducer from '../views/RanRETAudit/reducers/CPMDumpExportReducers';\r\nimport GEOFilesUploadReducer from '../views/RanRETAudit/reducers/GEOInputFileReducer';\r\nimport SiteAssessmentReducer from '../views/SiteAssessment7Days/reducers/SiteAssessment7DaysReducers';\r\nimport TopOffendersReducers from '../views/TopOffenders/reducers/TopOffendersReducers';\r\nimport TopOffendersCitiesReducers from '../views/TopOffendersCities/reducers/TopOffendersCitiesReducers';\r\nimport ranReportRFReducer from '../views/RanReportRF/reducers/RanReportRFReducer';\r\nimport TopOffendersWorstSitesReducers from '../views/TopOffendersWorstSites/reducers/WorstSitesReducers';\r\nimport WorstSitesRegionReducer from '../views/TopOffendersWorstSites/reducers/WorstSitesRegionReducers';\r\nimport CapacityPRBBlackListReducers from '../views/CapacityPRBBlackList/reducers/CapacityPRBBlackListReducers';\r\nimport TopOffendersWorstSitesCitiesReducers from '../views/TopOffendersWorstSites/reducers/WorstSitesCitiesReducers';\r\nimport bwUpdateReducer from '../views/Scripts/reducers/BwUpdateReducer';\r\nimport TopOffendersAggSiteReducer from '../views/TopOffendersGenericReports/reducers/TopOffendersAggSiteReducer';\r\nimport TopOffendersAggSubRegionReducer from '../views/TopOffendersGenericReports/reducers/TopOffendersAggSubRegionReducer';\r\nimport TopOffendersAggRegionReducer from '../views/TopOffendersGenericReports/reducers/TopOffendersAggRegionReducer';\r\nimport TopOffendersAggCityReducer from '../views/TopOffendersGenericReports/reducers/TopOffendersAggCityReducer';\r\nimport incidentTrackerDemoReducer from '../views/RFOPTTracker/reducers/IncidentTrackerDemoReducer';\r\nimport reportRFCountersReducer from '../views/Acceptance/reducers/ReportRFCountersReducer';\r\nimport reportSunsetReducer from '../views/Acceptance/reducers/ReportSunsetReducer';\r\nimport FocusOccasionUploadReducer from '../views/FocusOccasion/reducers/FocusOccasionUploadReducers';\r\nimport managementReducer from '../views/AcceptanceManagement/reducers/ManagementReducer';\r\nimport IncidentCellListReducer from '../views/IncidentCellList/reducers/IncidentCellListReducer';\r\n\r\nconst rootReducer = combineReducers({\r\n\tsession: sessionReducer,\r\n\tusersReducer,\r\n\tnotifierReducer,\r\n\toperatorsReducer,\r\n\tsettingsReducer,\r\n\tdashboardInspectReducer,\r\n\ttechAddReducer,\r\n\treportsReducer,\r\n\tticketsReducer,\r\n\tconfigurationReducer,\r\n\tcellInfoReducer,\r\n\thuaweiRemoteAnalysisReducer,\r\n\treportPPMranReducer,\r\n\tscfReducer,\r\n\treport2CAReducer,\r\n\treportAvailabilityReducer,\r\n\tReportSmallCellsImpactReducer,\r\n\treportNRReducer,\r\n\treportNR7AssessmentReducer,\r\n\tRETEnablingChecksReducer,\r\n\tRETFilesUploadReducer,\r\n\tincidentTrackerReducer,\r\n\tincidentTrackerConfigurationReducer,\r\n\tsiteTrackerReducer,\r\n\tRANDumpExportReducer,\r\n\tCPMUploadReducer,\r\n\tCPMDumpExportReducer,\r\n\tGEOFilesUploadReducer,\r\n\tSiteAssessmentReducer,\r\n\tTopOffendersReducers,\r\n\tTopOffendersCitiesReducers,\r\n\tranReportRFReducer,\r\n\tTopOffendersWorstSitesReducers,\r\n\tCapacityPRBBlackListReducers,\r\n\tTopOffendersWorstSitesCitiesReducers,\r\n\tWorstSitesRegionReducer,\r\n\tbwUpdateReducer,\r\n\tTopOffendersAggSiteReducer,\r\n\tTopOffendersAggSubRegionReducer,\r\n\tTopOffendersAggRegionReducer,\r\n\tTopOffendersAggCityReducer,\r\n\tincidentTrackerDemoReducer,\r\n\treportRFCountersReducer,\r\n\treportSunsetReducer,\r\n\tFocusOccasionUploadReducer,\r\n\tmanagementReducer,\r\n\tIncidentCellListReducer\r\n});\r\n\r\nexport default rootReducer;\r\n","import React from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { AppBar, Toolbar } from '@mui/material';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n\troot: {\r\n\t\tboxShadow: 'none',\r\n\t},\r\n}));\r\n\r\nconst Topbar = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\"Logo\"\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nTopbar.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default Topbar;\r\n","import React, { Fragment, Suspense } from 'react';\r\nimport { renderRoutes } from 'react-router-config';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { LinearProgress } from '@mui/material';\r\n\r\nimport { Topbar } from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\tcontent: {\r\n\t\theight: '100%',\r\n\t\tpaddingTop: 56,\r\n\t\t[theme.breakpoints.up('sm')]: {\r\n\t\t\tpaddingTop: 64,\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Auth = (props) => {\r\n\tconst { route } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t}>\r\n\t\t\t\t\t{renderRoutes(route.routes)}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n\r\nAuth.propTypes = {\r\n\troute: PropTypes.object,\r\n};\r\n\r\nexport default Auth;\r\n","import React, { Suspense } from 'react';\r\nimport { renderRoutes } from 'react-router-config';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { LinearProgress } from '@mui/material';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n\troot: {\r\n\t\theight: '100%',\r\n\t},\r\n}));\r\n\r\nconst Error = (props) => {\r\n\tconst { route } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t}>\r\n\t\t\t\t{renderRoutes(route.routes)}\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nError.propTypes = {\r\n\troute: PropTypes.object,\r\n};\r\n\r\nexport default Error;\r\n","import React, { useEffect, useRef } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport {\r\n\tHubConnectionBuilder,\r\n} from '@aspnet/signalr'; // version 1.0.4\r\n\r\n// action for user authentication and receiving the access_token\r\nimport * as actions from '../../actions';\r\nimport config from '../../configuration/configuration.js';\r\n\r\nconst startSignalRConnection = (connection, origin) => {\r\n\tif (origin !== undefined) {\r\n\t\tconnection.start()\r\n\t\t\t.then(() => {\r\n\t\t\t})\r\n\t\t\t.catch(err => {\r\n\t\t\t});\r\n\t}\r\n};\r\n\r\nconst NotificationHub = () => {\r\n\tconst connection = useRef(null);\r\n\tconst dispatch = useDispatch();\r\n\tconst enqueueSnackbar = (...args) => dispatch(actions.enqueueSnackbar(...args));\r\n\tconst session = useSelector(state => state.session);\r\n\r\n\tconst NotificationRecieved = (info) => {\r\n\t\tenqueueSnackbar({\r\n\t\t\tmessage: info.title,\r\n\t\t\toptions: {\r\n\t\t\t\tkey: new Date().getTime() + Math.random(),\r\n\t\t\t\tvariant: info.variant,\r\n\t\t\t},\r\n\t\t});\r\n\t\tdispatch(actions.FetchNotifications());\r\n\t};\r\n\r\n\tconst DownloadUpdate = (info) => {\r\n\t\tdispatch(actions.FetchDownloads(session.user.id, session.downloadskey));\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\t// register signalR after the user logged in\r\n\t\tif (connection.current === null && localStorage.getItem(config.TOKEN_KEY)) {\r\n\t\t\tconst urlRoot = config.API_URL;\r\n\t\t\tconst connectionHub = `${urlRoot}notificationhub?token=${localStorage.getItem(config.TOKEN_KEY)}`;\r\n\r\n\t\t\t// create the connection instance\r\n\t\t\tconnection.current = new HubConnectionBuilder()\r\n\t\t\t\t.withUrl(connectionHub)\r\n\t\t\t\t.build();\r\n\r\n\t\t\t// event handlers, you can use these to dispatch actions to update your Redux store\r\n\t\t\tconnection.current.on('NewNotification', NotificationRecieved);\r\n\r\n\t\t\t// event for download update\r\n\t\t\tconnection.current.on('DownloadUpdate', DownloadUpdate);\r\n\r\n\t\t\t// re-establish the connection if connection dropped\r\n\t\t\tconnection.current.onclose((error) => setTimeout(startSignalRConnection(connection.current, error), 5000));\r\n\r\n\t\t\tdispatch(actions.FetchNotifications());\r\n\t\t\tstartSignalRConnection(connection.current, 'setup');\r\n\t\t}\r\n\r\n\t\treturn (() => {\r\n\t\t\tif (connection.current) {\r\n\t\t\t\tconnection.current.stop();\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\tnull\r\n\t);\r\n};\r\n\r\nexport default NotificationHub;\r\n","import SupervisorAccountIcon from '@mui/icons-material/SupervisorAccount';\r\nimport HomeIcon from '@mui/icons-material/HomeOutlined';\r\nimport SettingsIcon from '@mui/icons-material/SettingsOutlined';\r\nimport ShowChartIcon from '@mui/icons-material/ShowChart';\r\nimport DesktopMacIcon from '@mui/icons-material/DesktopMac';\r\nimport AssignmentIcon from '@mui/icons-material/Assignment';\r\nimport ManageSearchIcon from '@mui/icons-material/ManageSearch';\r\nimport DescriptionIcon from '@mui/icons-material/Description';\r\nimport ConfirmationNumberIcon from '@mui/icons-material/ConfirmationNumber';\r\nimport DashboardIcon from '@mui/icons-material/DashboardOutlined';\r\nimport SignalCellularAltIcon from '@mui/icons-material/SignalCellularAlt';\r\nimport SettingsInputComponentIcon from '@mui/icons-material/SettingsInputComponent';\r\nimport AssessmentOutlinedIcon from '@mui/icons-material/AssessmentOutlined';\r\nimport TimelineIcon from '@mui/icons-material/Timeline';\r\nimport DataThresholdingIcon from '@mui/icons-material/DataThresholding';\r\nimport QueryStatsIcon from '@mui/icons-material/QueryStats';\r\nimport AutoGraphIcon from '@mui/icons-material/AutoGraph';\r\nimport AppRegistrationIcon from '@mui/icons-material/AppRegistration';\r\nimport SsidChartIcon from '@mui/icons-material/SsidChart';\r\nimport ConstructionIcon from '@mui/icons-material/Construction';\r\nimport ContentPasteSearchIcon from '@mui/icons-material/ContentPasteSearch';\r\nimport ArchiveIcon from '@mui/icons-material/Archive';\r\nimport CalendarMonthIcon from '@mui/icons-material/CalendarToday';\r\nimport TrackChangesIcon from '@mui/icons-material/TrackChanges';\r\nimport PublicIcon from '@mui/icons-material/Public';\r\nimport TravelExploreIcon from '@mui/icons-material/TravelExplore';\r\nimport config from '../../../../configuration/configuration.js';\r\n\r\nexport default [\r\n\t{\r\n\t\ttitle: '',\r\n\t\tpages: [\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Home',\r\n\t\t\t\thref: '/home',\r\n\t\t\t\ticon: HomeIcon,\r\n\t\t\t\t// roles: ['Administrator', ...]\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\r\n\t{\r\n\t\ttitle: 'Menu',\r\n\t\tpages: [\r\n\t\t\t{\r\n\t\t\t\ttitle: 'IP Assignment',\r\n\t\t\t\thref: '/ipassignment',\r\n\t\t\t\ticon: AssignmentIcon,\r\n\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t\tprojects: ['Core'],\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Service IP Assignment',\r\n\t\t\t\t\t\thref: '/ipassignment/serviceipassignment',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Transport IP Assignment',\r\n\t\t\t\t\t\thref: '/ipassignment/transportipassignment',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Remove E-Band IPs',\r\n\t\t\t\t\t\thref: '/ipassignment/removeebandips',\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'IP Audits',\r\n\t\t\t\thref: '/ipaudits',\r\n\t\t\t\ticon: ManageSearchIcon,\r\n\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t\tprojects: ['Core'],\r\n\t\t\t}, /* ,\r\n\t\t\t{\r\n\t\t\t\ttitle: 'tickets',\r\n\t\t\t\thref: '/tickets',\r\n\t\t\t\ticon: ManageSearchIcon,\r\n\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t\tprojects: ['Ran'],\r\n\t\t\t} */\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Kpis',\r\n\t\t\t\thref: '/kpis',\r\n\t\t\t\ticon: ShowChartIcon,\r\n\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t\tprojects: ['Operations'],\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Uploads',\r\n\t\t\t\t\t\thref: '/kpis/uploads',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Reports',\r\n\t\t\t\t\t\thref: '/kpis/reports',\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Scripts',\r\n\t\t\t\thref: '/scripts',\r\n\t\t\t\ticon: DescriptionIcon,\r\n\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t\tprojects: ['Operations'],\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Tech Add',\r\n\t\t\t\t\t\thref: '/scripts/techadd',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'SCF',\r\n\t\t\t\t\t\thref: '/scripts/scf',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'BW Update',\r\n\t\t\t\t\t\thref: '/scripts/bwupdate',\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'CM',\r\n\t\t\t\thref: '/cm',\r\n\t\t\t\ticon: SettingsInputComponentIcon,\r\n\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\tprojects: ['Operations', 'Ran'],\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Configuration',\r\n\t\t\t\t\t\thref: '/cm/configuration',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'CellInfo',\r\n\t\t\t\t\t\thref: '/cm/cellinfo',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Huawei Remote Analysis',\r\n\t\t\t\t\t\thref: '/cm/huaweiremoteanalysis',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Incident CellList',\r\n\t\t\t\t\t\thref: '/cm/incidentcelllist',\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Combined DCR',\r\n\t\t\t\thref: '/dashboards/inspect/30',\r\n\t\t\t\ticon: AutoGraphIcon,\r\n\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\tprojects: ['Ran'],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Dynamic Clusters',\r\n\t\t\t\thref: 'DynamicClusters',\r\n\t\t\t\ticon: DataThresholdingIcon,\r\n\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\tprojects: ['Ran'],\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: '2G',\r\n\t\t\t\t\t\thref: '/DynamicClusters',\r\n\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'Sites',\r\n\t\t\t\t\t\t\t\thref: '/dashboards/inspect/63'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'Cells',\r\n\t\t\t\t\t\t\t\thref: '/dashboards/inspect/62'\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t]\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: '4G',\r\n\t\t\t\t\t\thref: '/DynamicClusters',\r\n\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'Sites',\r\n\t\t\t\t\t\t\t\thref: '/dashboards/inspect/22'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'Cells',\r\n\t\t\t\t\t\t\t\thref: '/dashboards/inspect/21'\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t]\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: '5G',\r\n\t\t\t\t\t\thref: '/DynamicClusters',\r\n\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'Sites',\r\n\t\t\t\t\t\t\t\thref: '/dashboards/inspect/65'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'Cells',\r\n\t\t\t\t\t\t\t\thref: '/dashboards/inspect/64'\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t]\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Small Cells',\r\n\t\t\t\thref: '/smallcells',\r\n\t\t\t\ticon: AssessmentOutlinedIcon,\r\n\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\tprojects: ['Ran'],\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Reports',\r\n\t\t\t\t\t\thref: '/smallcells/reports',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Dashboard',\r\n\t\t\t\t\t\thref: '/dashboards/inspect/15',\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Projects Dashboards',\r\n\t\t\t\thref: '/ProjectsDashboards',\r\n\t\t\t\ticon: SsidChartIcon,\r\n\t\t\t\tprojects: ['Ran'],\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t\t\t\ttitle: 'EEUK-RANPO-ACCEPTANCE',\r\n\t\t\t\t\t\thref: '/dashboards/inspect/96',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\troles: ['Client'],\r\n\t\t\t\t\t\ttitle: 'EEUK-RANPO-ACCEPTANCE',\r\n\t\t\t\t\t\thref: '/dashboards/inspect/102',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'EEUK-RANPO-ACCEPTANCE-WORK_MANAGEMENT',\r\n\t\t\t\t\t\troles: ['Administrator', 'Manager'],\r\n\t\t\t\t\t\thref: '/dashboards/inspect/119',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'EEUK-VIPCMP',\r\n\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\troles: ['Client'],\r\n\t\t\t\t\t\t\t\ttitle: 'Status Report',\r\n\t\t\t\t\t\t\t\thref: '/dashboards/inspect/101',\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t\t\t\t\t\ttitle: 'Status Report',\r\n\t\t\t\t\t\t\t\thref: '/dashboards/inspect/97',\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'KPI Performance Analysis',\r\n\t\t\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\t\t\t\t\t\t\ttitle: 'Cell',\r\n\t\t\t\t\t\t\t\t\t\thref: '/dashboards/inspect/103',\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\t\t\t\t\t\t\ttitle: 'Cluster',\r\n\t\t\t\t\t\t\t\t\t\thref: '/dashboards/inspect/114',\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t]\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t]\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t\t\t\ttitle: 'EEUK-RANPO-REGIONAL',\r\n\t\t\t\t\t\thref: '/dashboards/inspect/100',\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t/* ,\r\n\t\t\t{\r\n\t\t\t\ttitle: 'RF OPT Tracker',\r\n\t\t\t\thref: '/RFOPTTracker',\r\n\t\t\t\ticon: TrackChangesIcon,\r\n\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\tprojects: ['Ran'],\r\n\t\t\t} */\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Network Performance Monitoring',\r\n\t\t\t\thref: '/NetworkPerformanceMonitoring',\r\n\t\t\t\ticon: PublicIcon,\r\n\t\t\t\tprojects: ['Ran'],\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Main KPIs',\r\n\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'Daily',\r\n\t\t\t\t\t\t\t\thref: '/dashboards/inspect/111'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'Hourly',\r\n\t\t\t\t\t\t\t\thref: '/dashboards/inspect/112'\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'KPI Performance',\r\n\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: '5G',\r\n\t\t\t\t\t\t\t\thref: '/dashboards/inspect/105'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: '4G',\r\n\t\t\t\t\t\t\t\thref: '/dashboards/inspect/106'\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Undetected Faults',\r\n\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: '5G',\r\n\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\t\t\t\t\thref: '/dashboards/inspect/107'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: '4G',\r\n\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t\t\t\t\t\thref: '/dashboards/inspect/113'\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Top Offenders',\r\n\t\t\t\t\t\t// roles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'Overall',\r\n\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t\t\t\t\t\thref: '/dashboards/inspect/117'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'Delta Drops',\r\n\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\t\t\t\t\thref: '/dashboards/inspect/92'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t/* \t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'Reports',\r\n\t\t\t\t\t\t\t\thref: '/NetworkPerformanceMonitoring',\r\n\t\t\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\ttitle: 'Worst Sites',\r\n\t\t\t\t\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: 'Region',\r\n\t\t\t\t\t\t\t\t\t\t\t\thref: '/NetworkPerformanceMonitoring/WorstSitesRegion'\r\n\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: 'Sub Region',\r\n\t\t\t\t\t\t\t\t\t\t\t\thref: '/NetworkPerformanceMonitoring/WorstSites'\r\n\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: 'Cities',\r\n\t\t\t\t\t\t\t\t\t\t\t\thref: '/NetworkPerformanceMonitoring/WorstSitesCities'\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\ttitle: 'Performance',\r\n\t\t\t\t\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: 'Sub Region',\r\n\t\t\t\t\t\t\t\t\t\t\t\thref: '/NetworkPerformanceMonitoring/HardySubRegions'\r\n\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: 'Cities',\r\n\t\t\t\t\t\t\t\t\t\t\t\thref: '/NetworkPerformanceMonitoring/HardyCities'\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\ttitle: 'Week Agg',\r\n\t\t\t\t\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: 'Region',\r\n\t\t\t\t\t\t\t\t\t\t\t\thref: '/NetworkPerformanceMonitoring/TopOffendersAggRegion'\r\n\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: 'Sub Region',\r\n\t\t\t\t\t\t\t\t\t\t\t\thref: '/NetworkPerformanceMonitoring/TopOffendersAggSubRegion'\r\n\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: 'Cities',\r\n\t\t\t\t\t\t\t\t\t\t\t\thref: '/NetworkPerformanceMonitoring/TopOffendersAggCity'\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\ttitle: 'Site Agg',\r\n\t\t\t\t\t\t\t\t\t\thref: '/NetworkPerformanceMonitoring/TopOffendersAggSite'\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\ttitle: 'Capacity PRB Black List',\r\n\t\t\t\t\t\t\t\t\t\thref: '/NetworkPerformanceMonitoring/CapacityPRBBlackList'\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\ttitle: 'Weekly Report',\r\n\t\t\t\t\t\t\t\t\t\thref: '/dashboards/inspect/87'\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t]\r\n\t\t\t\t\t\t\t}, */\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'Regions',\r\n\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\t\t\t\t\thref: '/NetworkPerformanceMonitoring',\r\n\t\t\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\ttitle: 'Dashboards',\r\n\t\t\t\t\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: 'Main KPIs',\r\n\t\t\t\t\t\t\t\t\t\t\t\thref: '/dashboards/inspect/60'\r\n\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: 'Worst Sites & Sleeping Cells',\r\n\t\t\t\t\t\t\t\t\t\t\t\thref: '/dashboards/inspect/61'\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\ttitle: 'Reports',\r\n\t\t\t\t\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: 'Worst Sites (Impacted & Sorted)',\r\n\t\t\t\t\t\t\t\t\t\t\t\thref: '/NetworkPerformanceMonitoring/WorstSitesRegion'\r\n\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: 'Region Week Agg',\r\n\t\t\t\t\t\t\t\t\t\t\t\thref: '/NetworkPerformanceMonitoring/TopOffendersAggRegion'\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'Sub Regions',\r\n\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\ttitle: 'Dashboards',\r\n\t\t\t\t\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: 'Main KPIs',\r\n\t\t\t\t\t\t\t\t\t\t\t\thref: '/dashboards/inspect/58'\r\n\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: 'Worst Sites & Sleeping Cells',\r\n\t\t\t\t\t\t\t\t\t\t\t\thref: '/dashboards/inspect/59'\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\ttitle: 'Reports',\r\n\t\t\t\t\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: 'Performance Monitoring',\r\n\t\t\t\t\t\t\t\t\t\t\t\thref: '/NetworkPerformanceMonitoring/HardySubRegions'\r\n\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: 'Worst Sites (Impacted & Sorted)',\r\n\t\t\t\t\t\t\t\t\t\t\t\thref: '/NetworkPerformanceMonitoring/WorstSites'\r\n\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: 'Sub Region Week Agg',\r\n\t\t\t\t\t\t\t\t\t\t\t\thref: '/NetworkPerformanceMonitoring/TopOffendersAggSubRegion'\r\n\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: 'Capacity PRB Black List',\r\n\t\t\t\t\t\t\t\t\t\t\t\thref: '/NetworkPerformanceMonitoring/CapacityPRBBlackList'\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'Cities',\r\n\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\ttitle: 'Dashboards',\r\n\t\t\t\t\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: 'Main KPIs',\r\n\t\t\t\t\t\t\t\t\t\t\t\thref: '/dashboards/inspect/56'\r\n\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: 'Worst Sites & Sleeping Cells',\r\n\t\t\t\t\t\t\t\t\t\t\t\thref: '/dashboards/inspect/57'\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\ttitle: 'Reports',\r\n\t\t\t\t\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: 'Performance Monitoring',\r\n\t\t\t\t\t\t\t\t\t\t\t\thref: '/NetworkPerformanceMonitoring/HardyCities'\r\n\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: 'Worst Sites (Impacted & Sorted)',\r\n\t\t\t\t\t\t\t\t\t\t\t\thref: '/NetworkPerformanceMonitoring/WorstSitesCities'\r\n\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: 'City Week Agg',\r\n\t\t\t\t\t\t\t\t\t\t\t\thref: '/NetworkPerformanceMonitoring/TopOffendersAggCity'\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'Reports',\r\n\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\ttitle: 'Site Agg',\r\n\t\t\t\t\t\t\t\t\t\thref: '/NetworkPerformanceMonitoring/TopOffendersAggSite'\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\ttitle: 'Weekly Report',\r\n\t\t\t\t\t\t\t\t\t\thref: '/dashboards/inspect/87'\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t]\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Focus Occasion',\r\n\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'Dashboard',\r\n\t\t\t\t\t\t\t\thref: '/dashboards/inspect/83',\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'Events Upload',\r\n\t\t\t\t\t\t\t\thref: '/FocusOccasion/EventsUpload'\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Acceptance',\r\n\t\t\t\thref: '/acceptance',\r\n\t\t\t\ticon: SignalCellularAltIcon,\r\n\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\tprojects: ['Ran'],\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Swap',\r\n\t\t\t\t\t\thref: '/swap',\r\n\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: '2G',\r\n\t\t\t\t\t\t\t\thref: '/swap',\r\n\t\t\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\ttitle: 'Daily',\r\n\t\t\t\t\t\t\t\t\t\thref: '/dashboards/inspect/2'\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: '4G',\r\n\t\t\t\t\t\t\t\thref: '/swap',\r\n\t\t\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\ttitle: 'Daily',\r\n\t\t\t\t\t\t\t\t\t\thref: '/dashboards/inspect/6'\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\ttitle: 'Hourly',\r\n\t\t\t\t\t\t\t\t\t\thref: '/dashboards/inspect/20'\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: '5G',\r\n\t\t\t\t\t\t\t\thref: '/swap',\r\n\t\t\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\ttitle: 'Daily',\r\n\t\t\t\t\t\t\t\t\t\thref: '/dashboards/inspect/10'\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t]\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Airscale',\r\n\t\t\t\t\t\thref: '/airscale',\r\n\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: '2G',\r\n\t\t\t\t\t\t\t\thref: '/dashboards/inspect/27'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: '4G',\r\n\t\t\t\t\t\t\t\thref: '/dashboards/inspect/28'\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Reports',\r\n\t\t\t\t\t\thref: '/acceptance/reports',\r\n\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: '2CA',\r\n\t\t\t\t\t\t\t\thref: '/acceptance/reports/2ca',\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'NR',\r\n\t\t\t\t\t\t\t\thref: '/acceptance/reports/nr',\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'RF',\r\n\t\t\t\t\t\t\t\thref: '/acceptance/reports/rf',\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'Site Power Boost',\r\n\t\t\t\t\t\t\t\thref: '/acceptanceTools/reports/sitePowerBoost',\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'Sunset',\r\n\t\t\t\t\t\t\t\thref: '/acceptance/reports/sunset',\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Acceptance Tools',\r\n\t\t\t\ticon: ConstructionIcon,\r\n\t\t\t\thref: '/nr',\r\n\t\t\t\tprojects: ['Ran', 'Operations'],\r\n\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'CBO KPIs Global',\r\n\t\t\t\t\t\thref: '/dashboards/inspect/12',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'RETs Check',\r\n\t\t\t\t\t\thref: '/dashboards/inspect/95'\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'BAU Daily Work',\r\n\t\t\t\t\t\thref: '/dashboards/inspect/98'\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Assigning Teams',\r\n\t\t\t\t\t\thref: '/acceptance/management',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Site Tracker',\r\n\t\t\t\t\t\thref: '/dashboards/inspect/99'\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Incident Tracker',\r\n\t\t\t\t\t\thref: '/dashboards/inspect/104'\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Reports',\r\n\t\t\t\t\t\thref: '/acceptanceTools/reports',\r\n\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'Dumps Export',\r\n\t\t\t\t\t\t\t\thref: '/acceptanceTools/reports/dumpsExport',\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'NR (CBO)',\r\n\t\t\t\t\t\t\t\thref: '/acceptanceTools/reports/nr_cbo',\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'NR Bulk Assessment',\r\n\t\t\t\t\t\t\t\thref: '/acceptanceTools/reports/nrBulkAssessment',\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'RF Counters',\r\n\t\t\t\t\t\t\t\thref: '/acceptanceTools/reports/reportRFCounters',\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'On Demand Report',\r\n\t\t\t\ticon: AppRegistrationIcon,\r\n\t\t\t\thref: '/onDemandReport',\r\n\t\t\t\tprojects: ['Ran'],\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Overall',\r\n\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'Daily',\r\n\t\t\t\t\t\t\t\thref: '/dashboards/inspect/116'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttitle: 'Hourly',\r\n\t\t\t\t\t\t\t\thref: '/dashboards/inspect/118'\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t]\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: '2G',\r\n\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\t\t\thref: '/dashboards/inspect/32'\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: '4G',\r\n\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\t\t\thref: '/dashboards/inspect/33'\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: '5G',\r\n\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\t\t\thref: '/dashboards/inspect/34'\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'RET Enabling Checks',\r\n\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\t\t\thref: '/onDemandReport/retEnablingChecks'\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'RET Tools',\r\n\t\t\t\ticon: ManageSearchIcon,\r\n\t\t\t\thref: '/retaudit',\r\n\t\t\t\tprojects: ['Ran', 'Operations'],\r\n\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'CPM Dumps',\r\n\t\t\t\t\t\thref: '/retaudit/CPMDumps'\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'GEO Inputs',\r\n\t\t\t\t\t\thref: '/retaudit/GEOinput'\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Files Upload',\r\n\t\t\t\t\t\thref: '/retaudit/retfilesupload'\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Incidente Tracker',\r\n\t\t\t\thref: '/incidenttracker',\r\n\t\t\t\ticon: ContentPasteSearchIcon,\r\n\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t\tprojects: ['Operations'],\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Incidente Tracker',\r\n\t\t\t\t\t\thref: '/incidenttracker/incidenttracker',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Incidente Tracker Configuration',\r\n\t\t\t\t\t\thref: '/incidenttracker/incidenttrackerconfiguration',\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Dashboards',\r\n\t\t\t\thref: '/dashboards',\r\n\t\t\t\ticon: DashboardIcon,\r\n\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t\tprojects: ['Operations'],\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Rollout',\r\n\t\t\t\t\t\thref: '/dashboards/inspect/1',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'KPIs Global',\r\n\t\t\t\t\t\thref: '/dashboards/inspect/12',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'KPIs Global Hourly',\r\n\t\t\t\t\t\thref: '/dashboards/inspect/115',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'TA Detail',\r\n\t\t\t\t\t\thref: '/dashboards/inspect/23',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Data Integraty',\r\n\t\t\t\t\t\thref: '/dashboards/inspect/36',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Acceptance',\r\n\t\t\t\t\t\thref: '/dashboards/inspect/86',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'INC Tracker DB',\r\n\t\t\t\t\t\thref: '/dashboards/inspect/94',\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Rollout',\r\n\t\t\t\thref: '/dashboards/inspect/1',\r\n\t\t\t\ticon: CalendarMonthIcon,\r\n\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\tprojects: ['Operations']\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Site Tracker',\r\n\t\t\t\thref: '/sitetracker',\r\n\t\t\t\ticon: ContentPasteSearchIcon,\r\n\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t\tprojects: ['Operations'],\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Site Tracker',\r\n\t\t\t\t\t\thref: '/sitetracker/sitetracker',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t}\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\ttitle: 'Management',\r\n\t\tpages: [\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Manage',\r\n\t\t\t\thref: '/management',\r\n\t\t\t\troles: ['Administrator', 'Manager'],\r\n\t\t\t\ticon: SupervisorAccountIcon,\r\n\t\t\t\tchildren: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Operators',\r\n\t\t\t\t\t\thref: '/management/operators',\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Users',\r\n\t\t\t\t\t\thref: '/management/users',\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Hangfire',\r\n\t\t\t\thref: `${config.API_URL}hangfire?access_token={token}`,\r\n\t\t\t\ttarget: '_blank',\r\n\t\t\t\troles: ['Administrator'],\r\n\t\t\t\ticon: DesktopMacIcon\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Settings',\r\n\t\t\t\thref: '/management/settings',\r\n\t\t\t\ticon: SettingsIcon\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Data Integrity',\r\n\t\t\t\thref: '/dashboards/inspect/17',\r\n\t\t\t\ticon: QueryStatsIcon,\r\n\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: 'Statistics',\r\n\t\t\t\thref: '/dashboards/inspect/35',\r\n\t\t\t\troles: ['Administrator', 'Manager'],\r\n\t\t\t\ticon: SsidChartIcon\r\n\t\t\t}\r\n\t\t],\r\n\t}\r\n];\r\n","import React, { Fragment, useEffect } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport _ from 'underscore';\r\nimport PropTypes from 'prop-types';\r\nimport { useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Drawer, Divider, Paper, Avatar, Typography, Hidden } from '@mui/material';\r\n\r\nimport FolderIcon from '@mui/icons-material/FolderOutlined';\r\n\r\nimport useRouter from 'utils/useRouter';\r\nimport getInitials from 'utils/getInitials';\r\nimport { Navigation } from 'components';\r\nimport config from 'configuration/configuration.js';\r\nimport navigationConfig from './navigationConfig';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\theight: '100%',\r\n\t\toverflowY: 'auto',\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: theme.spacing(2),\r\n\t},\r\n\tprofile: {\r\n\t\tdisplay: 'flex',\r\n\t\tflexDirection: 'column',\r\n\t\talignItems: 'center',\r\n\t\tminHeight: 'fit-content',\r\n\t},\r\n\tavatar: {\r\n\t\twidth: 60,\r\n\t\theight: 60,\r\n\t},\r\n\tname: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\tdivider: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t},\r\n\tnavigation: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t},\r\n}));\r\n\r\nconst NavBar = (props) => {\r\n\tconst { openMobile, onMobileClose, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst router = useRouter();\r\n\tconst user = useSelector((state) => state.session.user);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (openMobile) {\r\n\t\t\t// eslint-disable-next-line no-unused-expressions\r\n\t\t\tonMobileClose && onMobileClose();\r\n\t\t}\r\n\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [router.location.pathname]);\r\n\r\n\tif (user.projects) {\r\n\t\t// replace hangfire token\r\n\t\tconst management = navigationConfig.find(item => item.title === 'Management');\r\n\t\tconst hangfire = management.pages.find(item => item.title === 'Hangfire');\r\n\t\thangfire.href = hangfire.href.replace('{token}', localStorage.getItem(config.TOKEN_KEY));\r\n\r\n\t\tconst hangfireindex = management.pages.findIndex(item => item.title === 'Hangfire');\r\n\t\tmanagement.pages.splice(hangfireindex, 1, hangfire);\r\n\r\n\t\tconst managementIndex = navigationConfig.findIndex(item => item.title === 'Management');\r\n\t\tnavigationConfig.splice(managementIndex, 1, management);\r\n\t}\r\n\r\n\tconst navbarContent = (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{getInitials(user.firstname)}\r\n\t\t\t\t\t{' '}\r\n\t\t\t\t\t{getInitials(user.lastname)}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{user.firstname}\r\n\t\t\t\t\t{' '}\r\n\t\t\t\t\t{user.lastname}\r\n\t\t\t\t\r\n\t\t\t\t{user.operator}\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{navbarContent}\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{navbarContent}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nNavBar.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tonMobileClose: PropTypes.func,\r\n\topenMobile: PropTypes.bool,\r\n};\r\n\r\nexport default NavBar;\r\n","/* eslint-disable no-unused-vars */\r\nimport React, { useState, useRef, useEffect } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { useSelector, useDispatch, shallowEqual } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tAppBar,\r\n\tBadge,\r\n\tButton,\r\n\tIconButton,\r\n\tToolbar,\r\n\tHidden,\r\n\tInput,\r\n\tcolors,\r\n\tPopper,\r\n\tPaper,\r\n\tList,\r\n\tListItem,\r\n\tListItemIcon,\r\n\tListItemText,\r\n\tClickAwayListener,\r\n} from '@mui/material';\r\nimport LockIcon from '@mui/icons-material/LockOutlined';\r\nimport NotificationsIcon from '@mui/icons-material/NotificationsOutlined';\r\nimport InputIcon from '@mui/icons-material/Input';\r\nimport MenuIcon from '@mui/icons-material/Menu';\r\nimport SearchIcon from '@mui/icons-material/Search';\r\n\r\nimport useRouter from 'utils/useRouter';\r\nimport { PricingModal, NotificationsPopover } from 'components';\r\nimport * as actions from 'actions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tboxShadow: 'none',\r\n\t},\r\n\tflexGrow: {\r\n\t\tflexGrow: 1,\r\n\t},\r\n\tsearch: {\r\n\t\tbackgroundColor: 'rgba(255,255,255, 0.1)',\r\n\t\tborderRadius: 4,\r\n\t\tflexBasis: 300,\r\n\t\theight: 36,\r\n\t\tpadding: theme.spacing(0, 2),\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tsearchIcon: {\r\n\t\tmarginRight: theme.spacing(2),\r\n\t\tcolor: 'inherit',\r\n\t},\r\n\tsearchInput: {\r\n\t\tflexGrow: 1,\r\n\t\tcolor: 'inherit',\r\n\t\t'& input::placeholder': {\r\n\t\t\topacity: 1,\r\n\t\t\tcolor: 'inherit',\r\n\t\t},\r\n\t},\r\n\tsearchPopper: {\r\n\t\tzIndex: theme.zIndex.appBar + 100,\r\n\t},\r\n\tsearchPopperContent: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\ttrialButton: {\r\n\t\tmarginLeft: theme.spacing(2),\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n\ttrialIcon: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tnotificationsButton: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n\tnotificationsBadge: {\r\n\t\tbackgroundColor: colors.orange[600],\r\n\t},\r\n\tlogoutButton: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n\tlogoutIcon: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst TopBar = (props) => {\r\n\tconst { onOpenNavBarMobile, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst { history } = useRouter();\r\n\tconst searchRef = useRef(null);\r\n\tconst dispatch = useDispatch();\r\n\tconst notificationsRef = useRef(null);\r\n\tconst [pricingModalOpen, setPricingModalOpen] = useState(false);\r\n\tconst [openSearchPopover, setOpenSearchPopover] = useState(false);\r\n\tconst [searchValue, setSearchValue] = useState('');\r\n\tconst [openNotifications, setOpenNotifications] = useState(false);\r\n\r\n\tconst notifications = useSelector((state) => state.session.notifications, shallowEqual);\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\tconst handleLogout = () => {\r\n\t\tdispatch(actions.logout());\r\n\t\thistory.push('/auth/login');\r\n\t};\r\n\r\n\tconst handlePricingOpen = () => {\r\n\t\tsetPricingModalOpen(true);\r\n\t};\r\n\r\n\tconst handlePricingClose = () => {\r\n\t\tsetPricingModalOpen(false);\r\n\t};\r\n\r\n\tconst handleNotificationsOpen = () => {\r\n\t\tsetOpenNotifications(true);\r\n\t};\r\n\r\n\tconst handleNotificationsClose = () => {\r\n\t\tsetOpenNotifications(false);\r\n\t};\r\n\r\n\tconst handleSearchChange = (event) => {\r\n\t\tsetSearchValue(event.target.value);\r\n\r\n\t\tif (event.target.value) {\r\n\t\t\tif (!openSearchPopover) {\r\n\t\t\t\tsetOpenSearchPopover(true);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tsetOpenSearchPopover(false);\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleSearchPopverClose = () => {\r\n\t\tsetOpenSearchPopover(false);\r\n\t};\r\n\r\n\tconst popularSearches = [\r\n\t\t'Devias React Dashboard',\r\n\t\t'Devias',\r\n\t\t'Admin Pannel',\r\n\t\t'Project',\r\n\t\t'Pages',\r\n\t];\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\"Logo\"\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t{/* \r\n\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{popularSearches.map((search) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
*/}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t !i.readed).length}\r\n\t\t\t\t\t\t\tclasses={{ badge: classes.notificationsBadge }}\r\n\t\t\t\t\t\t\tvariant=\"dot\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tSign out\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nTopBar.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tonOpenNavBarMobile: PropTypes.func,\r\n};\r\n\r\nexport default TopBar;\r\n","import React, { Suspense, useState, useEffect } from 'react';\r\nimport { renderRoutes } from 'react-router-config';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { LinearProgress } from '@mui/material';\r\n\r\nimport NotificationHub from 'components/NotificationHub/NotificationHub.js';\r\nimport { NavBar, TopBar, /* ChatBar */ } from './components';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n\troot: {\r\n\t\theight: '100%',\r\n\t\twidth: '100%',\r\n\t\tdisplay: 'flex',\r\n\t\tflexDirection: 'column',\r\n\t\toverflow: 'hidden',\r\n\t},\r\n\ttopBar: {\r\n\t\tzIndex: 2,\r\n\t\tposition: 'relative',\r\n\t},\r\n\tcontainer: {\r\n\t\tdisplay: 'flex',\r\n\t\tflex: '1 1 auto',\r\n\t\toverflow: 'hidden',\r\n\t},\r\n\tnavBar: {\r\n\t\tzIndex: 3,\r\n\t\twidth: 256,\r\n\t\tminWidth: 256,\r\n\t\tflex: '0 0 auto',\r\n\t},\r\n\tcontent: {\r\n\t\toverflowY: 'auto',\r\n\t\tflex: '1 1 auto',\r\n\t},\r\n}));\r\n\r\nconst Dashboard = (props) => {\r\n\tconst { route } = props;\r\n\tconst classes = useStyles();\r\n\r\n\tconst [openNavBarMobile, setOpenNavBarMobile] = useState(false);\r\n\r\n\tconst handleNavBarMobileOpen = () => {\r\n\t\tsetOpenNavBarMobile(true);\r\n\t};\r\n\r\n\tconst handleNavBarMobileClose = () => {\r\n\t\tsetOpenNavBarMobile(false);\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t}>\r\n\t\t\t\t\t\t{renderRoutes(route.routes)}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t{/* */}\r\n\t\t\t\r\n\t\t
\r\n\r\n\t);\r\n};\r\n\r\nDashboard.propTypes = {\r\n\troute: PropTypes.object,\r\n};\r\n\r\nexport default Dashboard;\r\n","import React, { Fragment, useState, useEffect } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tAvatar,\r\n\tDrawer,\r\n\tList,\r\n\tListItem,\r\n\tListItemAvatar,\r\n\tListItemText,\r\n\tListSubheader,\r\n\tTypography,\r\n\tFab,\r\n\tBadge,\r\n} from '@mui/material';\r\nimport PeopleIcon from '@mui/icons-material/PeopleOutline';\r\n\r\nimport axios from 'utils/axios';\r\nimport { StatusBullet } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\tdrawer: {\r\n\t\twidth: 280,\r\n\t},\r\n\troot: {\r\n\t\tbackgroundColor: theme.palette.white,\r\n\t},\r\n\tlist: {\r\n\t\tpadding: theme.spacing(1, 3),\r\n\t},\r\n\tlistItemText: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tlastActivity: {\r\n\t\twhiteSpace: 'nowrap',\r\n\t},\r\n\tfab: {\r\n\t\tposition: 'fixed',\r\n\t\tbottom: 32,\r\n\t\tright: 32,\r\n\t\tzIndex: theme.zIndex.drawer - 100,\r\n\t},\r\n}));\r\n\r\nconst ChatBar = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [open, setOpen] = useState(false);\r\n\tconst [data, setData] = useState(null);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchData = () => {\r\n\t\t\taxios.get('/api/chat/activity').then((response) => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetData(response.data);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfetchData();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\tconst handleOpen = () => {\r\n\t\tsetOpen(true);\r\n\t};\r\n\r\n\tconst handleClose = () => {\r\n\t\tsetOpen(false);\r\n\t};\r\n\r\n\tif (!data) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tconst onlineConnections = data.connections.filter(\r\n\t\t(connection) => connection.active\r\n\t).length;\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{data.groups.map((group) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{group.name}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{data.connections\r\n\t\t\t\t\t\t\t\t.filter(\r\n\t\t\t\t\t\t\t\t\t(connection) => group.id === connection.group\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t.map((connection) => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{connection.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t{connection.active ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{moment(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tconnection.lastActivity\r\n\t\t\t\t\t\t\t\t\t\t\t\t).fromNow()}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nChatBar.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default ChatBar;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { Doughnut } from 'react-chartjs-2';\r\nimport { makeStyles, useTheme } from '@mui/styles';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n\troot: {\r\n\t\tposition: 'relative',\r\n\t},\r\n}));\r\n\r\nconst Chart = (props) => {\r\n\tconst { data: dataProp, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst theme = useTheme();\r\n\r\n\tconst data = {\r\n\t\tdatasets: [\r\n\t\t\t{\r\n\t\t\t\tdata: [],\r\n\t\t\t\tbackgroundColor: [],\r\n\t\t\t\tborderWidth: 8,\r\n\t\t\t\tborderColor: theme.palette.white,\r\n\t\t\t\thoverBorderColor: theme.palette.white,\r\n\t\t\t},\r\n\t\t],\r\n\t\tlabels: [],\r\n\t};\r\n\r\n\t// eslint-disable-next-line no-restricted-syntax\r\n\tfor (const item of dataProp) {\r\n\t\tdata.datasets[0].data.push(item.value);\r\n\t\tdata.datasets[0].backgroundColor.push(item.color);\r\n\t\tdata.labels.push(item.label);\r\n\t}\r\n\r\n\tconst options = {\r\n\t\tresponsive: true,\r\n\t\tmaintainAspectRatio: false,\r\n\t\tanimation: false,\r\n\t\tcutoutPercentage: 80,\r\n\t\tlegend: {\r\n\t\t\tdisplay: false,\r\n\t\t},\r\n\t\tlayout: {\r\n\t\t\tpadding: 0,\r\n\t\t},\r\n\t\ttooltips: {\r\n\t\t\tenabled: true,\r\n\t\t\tmode: 'index',\r\n\t\t\tintersect: false,\r\n\t\t\tcaretSize: 10,\r\n\t\t\tyPadding: 20,\r\n\t\t\txPadding: 20,\r\n\t\t\tborderWidth: 1,\r\n\t\t\tborderColor: theme.palette.divider,\r\n\t\t\tbackgroundColor: theme.palette.white,\r\n\t\t\ttitleFontColor: theme.palette.text.primary,\r\n\t\t\tbodyFontColor: theme.palette.text.secondary,\r\n\t\t\tfooterFontColor: theme.palette.text.secondary,\r\n\t\t\tcallbacks: {\r\n\t\t\t\tlabel(tooltipItem, items) {\r\n\t\t\t\t\tconst label = items.labels[tooltipItem.index];\r\n\t\t\t\t\tconst value = items.datasets[0].data[tooltipItem.index];\r\n\r\n\t\t\t\t\treturn `${label}: ${value}%`;\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nChart.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default Chart;\r\n","import React, { useState, useEffect } from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tDivider,\r\n\tTypography,\r\n} from '@mui/material';\r\n\r\nimport axios from 'utils/axios';\r\nimport { GenericMoreButton } from 'components';\r\nimport { Chart } from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t\t'&:last-child': {\r\n\t\t\tpaddingBottom: 0,\r\n\t\t},\r\n\t},\r\n\tchartContainer: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tchart: {\r\n\t\theight: 281,\r\n\t},\r\n\tstatsContainer: {\r\n\t\tdisplay: 'flex',\r\n\t},\r\n\tstatsItem: {\r\n\t\tflexGrow: 1,\r\n\t\tdisplay: 'flex',\r\n\t\tflexDirection: 'column',\r\n\t\tjustifyContent: 'center',\r\n\t\tpadding: theme.spacing(3, 2),\r\n\t\t'&:not(:last-of-type)': {\r\n\t\t\tborderRight: `1px solid ${theme.palette.divider}`,\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst EarningsSegmentation = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [earnings, setEarnings] = useState([]);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchEarnings = () => {\r\n\t\t\taxios.get('/api/dashboard/earnings').then((response) => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetEarnings(response.data.earnings);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfetchEarnings();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t}\r\n\t\t\t\ttitle=\"Earnings Segmentation\"\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{earnings.map((earning) => (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{earning.label}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{earning.value}\r\n\t\t\t\t\t\t\t\t%\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t))}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nEarningsSegmentation.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default EarningsSegmentation;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { Bar } from 'react-chartjs-2';\r\nimport { makeStyles, useTheme } from '@mui/styles';\r\nimport { colors } from '@mui/material';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n\troot: {\r\n\t\tposition: 'relative',\r\n\t},\r\n}));\r\n\r\nconst Chart = (props) => {\r\n\tconst { data: dataProp, labels, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst theme = useTheme();\r\n\r\n\tconst data = {\r\n\t\tdatasets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'This year',\r\n\t\t\t\tbackgroundColor: theme.palette.primary.main,\r\n\t\t\t\tdata: dataProp.thisYear,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Last year',\r\n\t\t\t\tbackgroundColor: colors.grey[200],\r\n\t\t\t\tdata: dataProp.lastYear,\r\n\t\t\t},\r\n\t\t],\r\n\t\tlabels,\r\n\t};\r\n\r\n\tconst options = {\r\n\t\tresponsive: true,\r\n\t\tmaintainAspectRatio: false,\r\n\t\tanimation: false,\r\n\t\tcornerRadius: 20,\r\n\t\tlegend: {\r\n\t\t\tdisplay: false,\r\n\t\t},\r\n\t\tlayout: {\r\n\t\t\tpadding: 0,\r\n\t\t},\r\n\t\tscales: {\r\n\t\t\txAxes: [\r\n\t\t\t\t{\r\n\t\t\t\t\tbarThickness: 12,\r\n\t\t\t\t\tmaxBarThickness: 10,\r\n\t\t\t\t\tbarPercentage: 0.5,\r\n\t\t\t\t\tcategoryPercentage: 0.5,\r\n\t\t\t\t\tgridLines: {\r\n\t\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\t\tdrawBorder: false,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tticks: {\r\n\t\t\t\t\t\tpadding: 20,\r\n\t\t\t\t\t\tfontColor: theme.palette.text.secondary,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tyAxes: [\r\n\t\t\t\t{\r\n\t\t\t\t\tgridLines: {\r\n\t\t\t\t\t\tborderDash: [2],\r\n\t\t\t\t\t\tborderDashOffset: [2],\r\n\t\t\t\t\t\tcolor: theme.palette.divider,\r\n\t\t\t\t\t\tdrawBorder: false,\r\n\t\t\t\t\t\tzeroLineBorderDash: [2],\r\n\t\t\t\t\t\tzeroLineBorderDashOffset: [2],\r\n\t\t\t\t\t\tzeroLineColor: theme.palette.divider,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tticks: {\r\n\t\t\t\t\t\tpadding: 20,\r\n\t\t\t\t\t\tfontColor: theme.palette.text.secondary,\r\n\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\tmin: 0,\r\n\t\t\t\t\t\tmaxTicksLimit: 5,\r\n\t\t\t\t\t\tcallback: (value) => (value > 0 ? `${value}K` : value),\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t\ttooltips: {\r\n\t\t\tenabled: true,\r\n\t\t\tmode: 'index',\r\n\t\t\tintersect: false,\r\n\t\t\tcaretSize: 10,\r\n\t\t\tyPadding: 20,\r\n\t\t\txPadding: 20,\r\n\t\t\tborderWidth: 1,\r\n\t\t\tborderColor: theme.palette.divider,\r\n\t\t\tbackgroundColor: theme.palette.white,\r\n\t\t\ttitleFontColor: theme.palette.text.primary,\r\n\t\t\tbodyFontColor: theme.palette.text.secondary,\r\n\t\t\tfooterFontColor: theme.palette.text.secondary,\r\n\t\t\tcallbacks: {\r\n\t\t\t\ttitle: () => {},\r\n\t\t\t\tlabel: (tooltipItem) => {\r\n\t\t\t\t\tlet label = `This year: ${tooltipItem.yLabel}`;\r\n\r\n\t\t\t\t\tif (tooltipItem.yLabel > 0) {\r\n\t\t\t\t\t\tlabel += 'K';\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn label;\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nChart.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.object.isRequired,\r\n\tlabels: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default Chart;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, CardHeader, CardContent, Divider } from '@mui/material';\r\n\r\nimport { GenericMoreButton } from 'components';\r\nimport { Chart } from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\theight: '100%',\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 700,\r\n\t},\r\n\tchart: {\r\n\t\tpadding: theme.spacing(4, 2, 0, 2),\r\n\t\theight: 400,\r\n\t},\r\n}));\r\n\r\nconst FinancialStats = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst data = {\r\n\t\tthisYear: [18, 16, 5, 8, 3, 14, 14, 16, 17, 19, 18, 20],\r\n\t\tlastYear: [12, 11, 4, 6, 2, 9, 9, 10, 11, 12, 13, 13],\r\n\t};\r\n\r\n\tconst labels = [\r\n\t\t'Jan',\r\n\t\t'Feb',\r\n\t\t'Mar',\r\n\t\t'Apr',\r\n\t\t'May',\r\n\t\t'Jun',\r\n\t\t'Jul',\r\n\t\t'Aug',\r\n\t\t'Sep',\r\n\t\t'Oct',\r\n\t\t'Nov',\r\n\t\t'Dec',\r\n\t];\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t}\r\n\t\t\t\ttitle=\"Financial Stats\"\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nFinancialStats.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default FinancialStats;\r\n","import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography, Grid, Button, ButtonGroup } from '@mui/material';\r\nimport { DatePicker } from '@mui/lab';\r\nimport CalendarTodayIcon from '@mui/icons-material/CalendarTodayOutlined';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tdates: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tcalendarTodayIcon: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst Header = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [startDate, setStartDate] = useState(moment().subtract(7, 'days'));\r\n\tconst [endDate, setEndDate] = useState(moment());\r\n\tconst [selectEdge, setSelectEdge] = useState(null);\r\n\tconst [calendarDate, setCalendarDate] = useState(moment());\r\n\r\n\tconst handleCalendarOpen = (edge) => {\r\n\t\tsetSelectEdge(edge);\r\n\t};\r\n\r\n\tconst handleCalendarChange = (date) => {\r\n\t\tsetCalendarDate(date);\r\n\t};\r\n\r\n\tconst handleCalendarClose = () => {\r\n\t\tsetCalendarDate(moment());\r\n\t\tsetSelectEdge(null);\r\n\t};\r\n\r\n\tconst handleCalendarAccept = (date) => {\r\n\t\tsetCalendarDate(moment());\r\n\r\n\t\tif (selectEdge === 'start') {\r\n\t\t\tsetStartDate(date);\r\n\r\n\t\t\tif (moment(date).isAfter(endDate)) {\r\n\t\t\t\tsetEndDate(date);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tsetEndDate(date);\r\n\r\n\t\t\tif (moment(date).isBefore(startDate)) {\r\n\t\t\t\tsetStartDate(date);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tsetSelectEdge(null);\r\n\t};\r\n\r\n\tconst open = Boolean(selectEdge);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tAnalytics\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tFinance Overview\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nHeader.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nHeader.defaultProps = {};\r\n\r\nexport default Header;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\twidth: 56,\r\n\t\theight: 56,\r\n\t},\r\n\tcircle1: {\r\n\t\tstroke: 'rgba(0,0,0,0.05)',\r\n\t\tfill: 'none',\r\n\t\tstrokeWidth: 4,\r\n\t},\r\n\tcircle2: {\r\n\t\tstroke: theme.palette.primary.main,\r\n\t\tfill: 'none',\r\n\t\tstrokeWidth: 4,\r\n\t\tanimation: '$progress 1s ease-out forwards',\r\n\t},\r\n\t'@keyframes progress': {\r\n\t\t'0%': {\r\n\t\t\tstrokeDasharray: '0 100',\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst CircularProgress = (props) => {\r\n\tconst { value, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nCircularProgress.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tvalue: PropTypes.number.isRequired,\r\n};\r\n\r\nexport default CircularProgress;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tCardActions,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tDivider,\r\n\tTable,\r\n\tTableRow,\r\n\tTableCell,\r\n\tTypography,\r\n\tButton,\r\n\tcolors,\r\n\tTableBody,\r\n} from '@mui/material';\r\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward';\r\n\r\nimport axios from 'utils/axios';\r\nimport { GenericMoreButton } from 'components';\r\nimport CircularProgress from './components/CircularProgress';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t\t'&:last-child': {\r\n\t\t\tpaddingBottom: 0,\r\n\t\t},\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 700,\r\n\t},\r\n\tdetails: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\timage: {\r\n\t\tmarginRight: theme.spacing(2),\r\n\t\tflexShrink: 0,\r\n\t\theight: 56,\r\n\t\twidth: 56,\r\n\t},\r\n\tsubscriptions: {\r\n\t\tfontWeight: theme.typography.fontWeightMedium,\r\n\t},\r\n\tprice: {\r\n\t\twhiteSpace: 'nowrap',\r\n\t},\r\n\tvalue: {\r\n\t\tcolor: colors.green[600],\r\n\t\tfontWeight: theme.typography.fontWeightMedium,\r\n\t},\r\n\tconversion: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tconversionStats: {\r\n\t\twhiteSpace: 'nowrap',\r\n\t\tmarginRight: theme.spacing(2),\r\n\t},\r\n\tactions: {\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tarrowForwardIcon: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst MostProfitableProducts = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [products, setProducts] = useState([]);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchProducts = () => {\r\n\t\t\taxios.get('/api/dashboard/profitable-products').then((response) => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetProducts(response.data.products);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfetchProducts();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t}\r\n\t\t\t\ttitle=\"Most Profitable Products\"\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{products.map((product) => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{product.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tproduct.subscriptions\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tActive\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tPrice\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{product.currency}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{product.price}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\t\t\t\tmonthly\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{product.progress}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t%\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tConversion Rate\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tSee all\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nMostProfitableProducts.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default MostProfitableProducts;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, Typography, Grid, colors } from '@mui/material';\r\n\r\nimport { Label } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\titem: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\ttextAlign: 'center',\r\n\t\t[theme.breakpoints.up('md')]: {\r\n\t\t\t'&:not(:last-of-type)': {\r\n\t\t\t\tborderRight: `1px solid ${theme.palette.divider}`,\r\n\t\t\t},\r\n\t\t},\r\n\t\t[theme.breakpoints.down('md')]: {\r\n\t\t\t'&:not(:last-of-type)': {\r\n\t\t\t\tborderBottom: `1px solid ${theme.palette.divider}`,\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n\tvalueContainer: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'center',\r\n\t},\r\n\tlabel: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst Overview = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst data = {\r\n\t\tincome: '854,355.00',\r\n\t\texpanses: '373,250.50',\r\n\t\tprofit: '123,532.00',\r\n\t\tsubscriptions: '26,000',\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tTotal Income\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t$\r\n\t\t\t\t\t\t\t{data.income}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t+25%\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tTotal Expanses\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t$\r\n\t\t\t\t\t\t\t{data.expanses}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t+12%\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tNet Profit\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{data.profit}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t-20%\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tActive Subscriptions\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{data.subscriptions}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nOverview.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default Overview;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tAvatar,\r\n\tButton,\r\n\tCard,\r\n\tCardActions,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tDivider,\r\n\tList,\r\n\tListItem,\r\n\tListItemAvatar,\r\n\tListItemText,\r\n\tTypography,\r\n} from '@mui/material';\r\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward';\r\n\r\nimport axios from 'utils/axios';\r\nimport { GenericMoreButton } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: 'flex',\r\n\t\tflexDirection: 'column',\r\n\t},\r\n\tcontent: {\r\n\t\tflexGrow: 1,\r\n\t\tpadding: 0,\r\n\t},\r\n\tavatar: {\r\n\t\tfontSize: 14,\r\n\t\tfontWeight: theme.typography.fontWeightBold,\r\n\t\tcolor: theme.palette.white,\r\n\t},\r\n\tactions: {\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tarrowForwardIcon: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst TopReferrals = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [referrals, setReferrals] = useState([]);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchReferrals = () => {\r\n\t\t\taxios.get('/api/dashboard/top-referrals').then((response) => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetReferrals(response.data.referrals);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfetchReferrals();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t} title=\"Top Referrals\" />\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{referrals.map((referral, i) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{referral.initials}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{referral.value}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tSee all\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nTopReferrals.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default TopReferrals;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tDivider,\r\n\tList,\r\n\tListItem,\r\n\tListItemAvatar,\r\n\tListItemText,\r\n\tAvatar,\r\n\tTypography,\r\n\tLink,\r\n} from '@mui/material';\r\n\r\nimport axios from 'utils/axios';\r\nimport getInitials from 'utils/getInitials';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tstatsContainer: {\r\n\t\tdisplay: 'flex',\r\n\t},\r\n\tstatsItem: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\tflexGrow: 1,\r\n\t\t'&:first-of-type': {\r\n\t\t\tborderRight: `1px solid ${theme.palette.divider}`,\r\n\t\t},\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tdate: {\r\n\t\twhiteSpace: 'nowrap',\r\n\t},\r\n}));\r\n\r\nconst CustomerActivity = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [customers, setCustomers] = useState([]);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchCustomers = () => {\r\n\t\t\taxios.get('/api/dashboard/customer-activity').then((response) => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetCustomers(response.data.customers);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfetchCustomers();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tRegistered\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t15,245\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tOnline\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t357\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{customers.map((customer, i) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{getInitials(customer.author.name)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{customer.author.name}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\tsecondary={(\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{customer.description}\r\n\t\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\t\t|\r\n\t\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\t\t{customer.type === 'payment' && (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tSee invoice\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{moment(customer.created_at).fromNow()}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nCustomerActivity.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default CustomerActivity;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tCard,\r\n\tCardActions,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tDivider,\r\n\tTable,\r\n\tTableBody,\r\n\tTableCell,\r\n\tTableHead,\r\n\tTableRow,\r\n\tTableSortLabel,\r\n\tTooltip,\r\n\tcolors,\r\n} from '@mui/material';\r\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward';\r\n\r\nimport axios from 'utils/axios';\r\nimport { Label, GenericMoreButton } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 700,\r\n\t},\r\n\tprogressContainer: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'center',\r\n\t},\r\n\tactions: {\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tarrowForwardIcon: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst labelColors = {\r\n\tcomplete: colors.green[600],\r\n\tpending: colors.orange[600],\r\n\trejected: colors.red[600],\r\n};\r\n\r\nconst LatestOrders = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [orders, setOrders] = useState(null);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchOrders = () => {\r\n\t\t\taxios.get('/api/dashboard/latest-orders').then((response) => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetOrders(response.data.orders);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfetchOrders();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t} title=\"Latest Orders\" />\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{orders && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tDate\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tCustomer\r\n\t\t\t\t\t\t\t\t\t\tItems\r\n\t\t\t\t\t\t\t\t\t\tTotal\r\n\t\t\t\t\t\t\t\t\t\tStatus\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tActions\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{orders.map((order) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{order.ref}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{order.customer.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{order.items}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{order.currency}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{order.value}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{order.status}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tView\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tSee all\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nLatestOrders.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default LatestOrders;\r\n","import React from 'react';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Grid } from '@mui/material';\r\n\r\nimport { Page } from 'components';\r\nimport {\r\n\tHeader,\r\n\tOverview,\r\n\tFinancialStats,\r\n\tEarningsSegmentation,\r\n\tTopReferrals,\r\n\tMostProfitableProducts,\r\n\tCustomerActivity,\r\n\tLatestOrders,\r\n} from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\t'& > *': {\r\n\t\t\theight: '100%',\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst DashboardAnalytics = () => {\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default DashboardAnalytics;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography } from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tdates: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tstartDateButton: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tendDateButton: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n\tcalendarTodayIcon: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst Header = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst data = {\r\n\t\tname: 'Shen Zhi',\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\tHome\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\tGood Morning,\r\n\t\t\t\t{' '}\r\n\t\t\t\t{data.name}\r\n\t\t\t\r\n\t\t\tHere's what's happening\r\n\t\t
\r\n\t);\r\n};\r\n\r\nHeader.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nHeader.defaultProps = {};\r\n\r\nexport default Header;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tAvatar,\r\n\tCard,\r\n\tCardActions,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tDivider,\r\n\tButton,\r\n\tTable,\r\n\tTableBody,\r\n\tTableCell,\r\n\tTableHead,\r\n\tTableRow,\r\n\tTableSortLabel,\r\n\tTooltip,\r\n} from '@mui/material';\r\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward';\r\n\r\nimport axios from 'utils/axios';\r\nimport getInitials from 'utils/getInitials';\r\nimport { Label, GenericMoreButton } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 900,\r\n\t},\r\n\tauthor: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tavatar: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\ttags: {\r\n\t\t'& > * + *': {\r\n\t\t\tmarginLeft: theme.spacing(1),\r\n\t\t},\r\n\t},\r\n\tactions: {\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tarrowForwardIcon: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst LatestProjects = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [projects, setProjects] = useState([]);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchProjects = () => {\r\n\t\t\taxios.get('/api/dashboard/latest-projects').then((response) => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetProjects(response.data.projects);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfetchProjects();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t}\r\n\t\t\t\ttitle=\"Latest projects\"\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tName\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tOwner\r\n\t\t\t\t\t\t\t\t\tAmount\r\n\t\t\t\t\t\t\t\t\tTags\r\n\t\t\t\t\t\t\t\t\tActions\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{projects.map((project) => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{project.title}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{getInitials(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tproject.author.name\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{project.author.name}\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{project.currency}\r\n\t\t\t\t\t\t\t\t\t\t\t{project.price}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t{project.tags.map((tag) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{tag.text}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tView\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tSee all\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nLatestProjects.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default LatestProjects;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, Typography, Avatar, colors } from '@mui/material';\r\nimport FolderOpenIcon from '@mui/icons-material/FolderOpenOutlined';\r\n\r\nimport { Label } from 'components';\r\nimport gradients from 'utils/gradients';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between',\r\n\t},\r\n\tdetails: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tflexWrap: 'wrap',\r\n\t},\r\n\tlabel: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n\tavatar: {\r\n\t\tbackgroundImage: gradients.blue,\r\n\t\theight: 48,\r\n\t\twidth: 48,\r\n\t},\r\n}));\r\n\r\nconst NewProjects = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst data = {\r\n\t\tvalue: '12',\r\n\t\tdifference: '-10%',\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tNew projects\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{data.value}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{data.difference}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nNewProjects.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default NewProjects;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, Typography, Avatar } from '@mui/material';\r\nimport AttachMoneyIcon from '@mui/icons-material/AttachMoney';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: theme.palette.primary.main,\r\n\t\tpadding: theme.spacing(3),\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between',\r\n\t},\r\n\tdetails: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tflexWrap: 'wrap',\r\n\t},\r\n\tavatar: {\r\n\t\tbackgroundColor: theme.palette.white,\r\n\t\tcolor: theme.palette.primary.main,\r\n\t\theight: 48,\r\n\t\twidth: 48,\r\n\t},\r\n}));\r\n\r\nconst RoiPerCustomer = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst data = {\r\n\t\tvalue: '25.50',\r\n\t\tcurrency: '$',\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tRoi per customer\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{data.currency}\r\n\t\t\t\t\t\t{data.value}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nRoiPerCustomer.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default RoiPerCustomer;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tListItem,\r\n\tListItemIcon,\r\n\tListItemText,\r\n\tIconButton,\r\n\tTooltip,\r\n\tcolors,\r\n} from '@mui/material';\r\nimport OpenInNewIcon from '@mui/icons-material/OpenInNew';\r\n\r\nimport { StackAvatars } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcritical: {\r\n\t\t'& $indicator': {\r\n\t\t\tborderColor: colors.red[600],\r\n\t\t},\r\n\t},\r\n\tindicator: {\r\n\t\theight: 12,\r\n\t\twidth: 12,\r\n\t\tborderWidth: 4,\r\n\t\tborderStyle: 'solid',\r\n\t\tborderColor: colors.grey[100],\r\n\t\tborderRadius: '50%',\r\n\t},\r\n\tviewButton: {\r\n\t\tmarginLeft: theme.spacing(2),\r\n\t},\r\n}));\r\n\r\nconst TaskItem = (props) => {\r\n\tconst { task, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tlet deadline = 'N/A';\r\n\tlet critical = false;\r\n\r\n\tif (task.deadline) {\r\n\t\tconst now = moment();\r\n\t\tconst deadlineMoment = moment(task.deadline);\r\n\r\n\t\tif (\r\n\t\t\tdeadlineMoment.isAfter(now)\r\n\t\t\t&& deadlineMoment.diff(now, 'day') < 3\r\n\t\t) {\r\n\t\t\tdeadline = `${deadlineMoment.diff(now, 'day')} days remaining`;\r\n\t\t\tcritical = true;\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nTaskItem.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\ttask: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default TaskItem;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tCardActions,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tList,\r\n\tButton,\r\n\tDivider,\r\n} from '@mui/material';\r\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward';\r\n\r\nimport axios from 'utils/axios';\r\nimport { GenericMoreButton } from 'components';\r\nimport { TaskItem } from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 400,\r\n\t},\r\n\tactions: {\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tarrowForwardIcon: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst TeamTasks = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst [tasks, setTasks] = useState([]);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchTasks = () => {\r\n\t\t\taxios.get('/api/tasks').then((response) => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetTasks(response.data.tasks);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfetchTasks();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t} title=\"Team Tasks\" />\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{tasks.map((task, i) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tSee all\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nTeamTasks.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default TeamTasks;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, Typography, Avatar, colors } from '@mui/material';\r\nimport AttachMoneyIcon from '@mui/icons-material/AttachMoney';\r\n\r\nimport { Label } from 'components';\r\nimport gradients from 'utils/gradients';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between',\r\n\t},\r\n\tdetails: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tflexWrap: 'wrap',\r\n\t},\r\n\tlabel: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n\tavatar: {\r\n\t\tbackgroundImage: gradients.green,\r\n\t\theight: 48,\r\n\t\twidth: 48,\r\n\t},\r\n}));\r\n\r\nconst TodaysMoney = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst data = {\r\n\t\tvalue: '24,000',\r\n\t\tcurrency: '$',\r\n\t\tdifference: '+4.5%',\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tTodays money\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{data.currency}\r\n\t\t\t\t\t\t{data.value}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{data.difference}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nTodaysMoney.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default TodaysMoney;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, Typography, Avatar, LinearProgress } from '@mui/material';\r\nimport DoneIcon from '@mui/icons-material/Done';\r\n\r\nimport gradients from 'utils/gradients';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between',\r\n\t},\r\n\tcontent: {\r\n\t\tflexGrow: 1,\r\n\t},\r\n\tdetails: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tflexWrap: 'wrap',\r\n\t},\r\n\tprogress: {\r\n\t\tmargin: theme.spacing(0, 1),\r\n\t\tflexGrow: 1,\r\n\t},\r\n\tavatar: {\r\n\t\tbackgroundImage: gradients.orange,\r\n\t\theight: 48,\r\n\t\twidth: 48,\r\n\t},\r\n}));\r\n\r\nconst SystemHealth = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst data = {\r\n\t\tvalue: 97,\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tSystem Health\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{data.value}\r\n\t\t\t\t\t\t%\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nSystemHealth.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default SystemHealth;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { Bar } from 'react-chartjs-2';\r\nimport { makeStyles, useTheme } from '@mui/styles';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n\troot: {\r\n\t\tposition: 'relative',\r\n\t},\r\n}));\r\n\r\nconst Chart = (props) => {\r\n\tconst { data: dataProp, labels, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst theme = useTheme();\r\n\r\n\tconst data = {\r\n\t\tdatasets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Views',\r\n\t\t\t\tbackgroundColor: 'rgba(255,255,255,0.4)',\r\n\t\t\t\tdata: dataProp,\r\n\t\t\t},\r\n\t\t],\r\n\t\tlabels,\r\n\t};\r\n\r\n\tconst options = {\r\n\t\tresponsive: true,\r\n\t\tmaintainAspectRatio: false,\r\n\t\tanimation: false,\r\n\t\tcornerRadius: 20,\r\n\t\tlegend: {\r\n\t\t\tdisplay: false,\r\n\t\t},\r\n\t\tlayout: {\r\n\t\t\tpadding: 0,\r\n\t\t},\r\n\t\tscales: {\r\n\t\t\txAxes: [\r\n\t\t\t\t{\r\n\t\t\t\t\tstacked: false,\r\n\t\t\t\t\tbarThickness: 12,\r\n\t\t\t\t\tmaxBarThickness: 10,\r\n\t\t\t\t\tbarPercentage: 0.9,\r\n\t\t\t\t\tcategoryPercentage: 1,\r\n\t\t\t\t\tgridLines: {\r\n\t\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\t\tdrawBorder: false,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tticks: {\r\n\t\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tyAxes: [\r\n\t\t\t\t{\r\n\t\t\t\t\tstacked: true,\r\n\t\t\t\t\tgridLines: {\r\n\t\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\t\tdrawBorder: false,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tticks: {\r\n\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t\ttooltips: {\r\n\t\t\tenabled: true,\r\n\t\t\tmode: 'index',\r\n\t\t\tintersect: false,\r\n\t\t\tcaretSize: 10,\r\n\t\t\tyPadding: 20,\r\n\t\t\txPadding: 20,\r\n\t\t\tborderWidth: 1,\r\n\t\t\tborderColor: theme.palette.divider,\r\n\t\t\tbackgroundColor: theme.palette.white,\r\n\t\t\ttitleFontColor: theme.palette.text.primary,\r\n\t\t\tbodyFontColor: theme.palette.text.secondary,\r\n\t\t\tfooterFontColor: theme.palette.text.secondary,\r\n\t\t\tcallbacks: {\r\n\t\t\t\tlegend: () => {},\r\n\t\t\t\ttitle: () => {},\r\n\t\t\t\tlabel: (tooltipItem) => {\r\n\t\t\t\t\tconst label = `Views: ${tooltipItem.yLabel}`;\r\n\r\n\t\t\t\t\treturn label;\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nChart.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n\tlabels: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default Chart;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tCardActions,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tButton,\r\n\tTypography,\r\n\tList,\r\n\tListItem,\r\n\tListItemText,\r\n} from '@mui/material';\r\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward';\r\n\r\nimport gradients from 'utils/gradients';\r\nimport { Chart } from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tbackgroundImage: gradients.indigo,\r\n\t\tcolor: theme.palette.primary.contrastText,\r\n\t},\r\n\tcontent: {\r\n\t\tpaddingTop: 0,\r\n\t},\r\n\titemDivider: {\r\n\t\tborderBottomColor: 'rgba(255,255,255,0.2)',\r\n\t},\r\n\tactions: {\r\n\t\tpaddingTop: 0,\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tarrowForwardIcon: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nfunction getRandomInt(min, max) {\r\n\t// eslint-disable-next-line no-param-reassign\r\n\tmin = Math.ceil(min);\r\n\t// eslint-disable-next-line no-param-reassign\r\n\tmax = Math.floor(max);\r\n\r\n\treturn Math.floor(Math.random() * (max - min + 1)) + min;\r\n}\r\n\r\nconst RealTime = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst [data, setData] = useState([\r\n\t\t163,\r\n\t\t166,\r\n\t\t161,\r\n\t\t159,\r\n\t\t99,\r\n\t\t163,\r\n\t\t173,\r\n\t\t166,\r\n\t\t167,\r\n\t\t183,\r\n\t\t176,\r\n\t\t172,\r\n\t]);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tsetInterval(() => {\r\n\t\t\tif (mounted) {\r\n\t\t\t\tsetData((items) => {\r\n\t\t\t\t\tconst newData = [...items];\r\n\r\n\t\t\t\t\tnewData.shift();\r\n\t\t\t\t\tnewData.push(0);\r\n\r\n\t\t\t\t\treturn newData;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetData((items) => {\r\n\t\t\t\t\t\tconst newData = [...items];\r\n\t\t\t\t\t\tconst random = getRandomInt(100, 200);\r\n\r\n\t\t\t\t\t\tnewData.pop();\r\n\t\t\t\t\t\tnewData.push(random);\r\n\r\n\t\t\t\t\t\treturn newData;\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}, 500);\r\n\t\t}, 2000);\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\tconst labels = data.map((value, i) => i);\r\n\r\n\tconst pages = [\r\n\t\t{\r\n\t\t\tpathname: '/projects',\r\n\t\t\tviews: '24',\r\n\t\t},\r\n\t\t{\r\n\t\t\tpathname: '/chat',\r\n\t\t\tviews: '21',\r\n\t\t},\r\n\t\t{\r\n\t\t\tpathname: '/cart',\r\n\t\t\tviews: '15',\r\n\t\t},\r\n\t\t{\r\n\t\t\tpathname: '/cart/checkout',\r\n\t\t\tviews: '8',\r\n\t\t},\r\n\t];\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\t\t{data[data.length - 1] === 0\r\n\t\t\t\t\t\t\t? data[data.length - 2]\r\n\t\t\t\t\t\t\t: data[data.length - 1]}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\tsubheader=\"Page views per second\"\r\n\t\t\t\tsubheaderTypographyProps={{ color: 'inherit' }}\r\n\t\t\t\ttitle=\"Active users\"\r\n\t\t\t\ttitleTypographyProps={{ color: 'inherit' }}\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{pages.map((page) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{page.views}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tSee all\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nRealTime.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default RealTime;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { Line } from 'react-chartjs-2';\r\nimport { makeStyles, useTheme } from '@mui/styles';\r\nimport { alpha } from '@mui/material/styles';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n\troot: {\r\n\t\tposition: 'relative',\r\n\t},\r\n}));\r\n\r\nconst Chart = (props) => {\r\n\tconst { className, data: dataProp, labels, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst theme = useTheme();\r\n\r\n\tconst data = (canvas) => {\r\n\t\tconst ctx = canvas.getContext('2d');\r\n\t\tconst gradient = ctx.createLinearGradient(0, 0, 0, 400);\r\n\r\n\t\tgradient.addColorStop(0, alpha(theme.palette.secondary.main, 0.2));\r\n\t\tgradient.addColorStop(0.9, 'rgba(255,255,255,0)');\r\n\t\tgradient.addColorStop(1, 'rgba(255,255,255,0)');\r\n\r\n\t\treturn {\r\n\t\t\tdatasets: [\r\n\t\t\t\t{\r\n\t\t\t\t\tdata: dataProp,\r\n\t\t\t\t\tbackgroundColor: gradient,\r\n\t\t\t\t\tborderColor: theme.palette.secondary.main,\r\n\t\t\t\t\tpointBorderColor: '#FFFFFF',\r\n\t\t\t\t\tpointBorderWidth: 3,\r\n\t\t\t\t\tpointRadius: 6,\r\n\t\t\t\t\tpointBackgroundColor: theme.palette.secondary.main,\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tlabels,\r\n\t\t};\r\n\t};\r\n\r\n\tconst options = {\r\n\t\tresponsive: true,\r\n\t\tmaintainAspectRatio: false,\r\n\t\tanimation: false,\r\n\t\tlegend: {\r\n\t\t\tdisplay: false,\r\n\t\t},\r\n\t\tlayout: {\r\n\t\t\tpadding: 0,\r\n\t\t},\r\n\t\tscales: {\r\n\t\t\txAxes: [\r\n\t\t\t\t{\r\n\t\t\t\t\tgridLines: {\r\n\t\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\t\tdrawBorder: false,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tticks: {\r\n\t\t\t\t\t\tpadding: 20,\r\n\t\t\t\t\t\tfontColor: theme.palette.text.secondary,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tyAxes: [\r\n\t\t\t\t{\r\n\t\t\t\t\tgridLines: {\r\n\t\t\t\t\t\tborderDash: [2],\r\n\t\t\t\t\t\tborderDashOffset: [2],\r\n\t\t\t\t\t\tcolor: theme.palette.divider,\r\n\t\t\t\t\t\tdrawBorder: false,\r\n\t\t\t\t\t\tzeroLineBorderDash: [2],\r\n\t\t\t\t\t\tzeroLineBorderDashOffset: [2],\r\n\t\t\t\t\t\tzeroLineColor: theme.palette.divider,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tticks: {\r\n\t\t\t\t\t\tpadding: 20,\r\n\t\t\t\t\t\tfontColor: theme.palette.text.secondary,\r\n\t\t\t\t\t\tbeginAtZero: true,\r\n\t\t\t\t\t\tmin: 0,\r\n\t\t\t\t\t\tmaxTicksLimit: 7,\r\n\t\t\t\t\t\tcallback: (value) => (value > 0 ? `${value}K` : value),\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t\ttooltips: {\r\n\t\t\tenabled: true,\r\n\t\t\tmode: 'index',\r\n\t\t\tintersect: false,\r\n\t\t\tcaretSize: 10,\r\n\t\t\tyPadding: 20,\r\n\t\t\txPadding: 20,\r\n\t\t\tborderWidth: 1,\r\n\t\t\tborderColor: theme.palette.divider,\r\n\t\t\tbackgroundColor: theme.palette.white,\r\n\t\t\ttitleFontColor: theme.palette.text.primary,\r\n\t\t\tbodyFontColor: theme.palette.text.secondary,\r\n\t\t\tfooterFontColor: theme.palette.text.secondary,\r\n\t\t\tcallbacks: {\r\n\t\t\t\ttitle: () => {},\r\n\t\t\t\tlabel: (tooltipItem) => {\r\n\t\t\t\t\tlet label = `Income: ${tooltipItem.yLabel}`;\r\n\r\n\t\t\t\t\tif (tooltipItem.yLabel > 0) {\r\n\t\t\t\t\t\tlabel += 'K';\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn label;\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t},\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nChart.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n\tlabels: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default Chart;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, CardHeader, CardContent, Divider } from '@mui/material';\r\n\r\nimport { GenericMoreButton } from 'components';\r\nimport { Chart } from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {},\r\n\tbuttons: {\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'center',\r\n\t\t'& > *': {\r\n\t\t\tmarginLeft: theme.spacing(1),\r\n\t\t},\r\n\t},\r\n\tinner: {\r\n\t\theight: 375,\r\n\t\tminWidth: 500,\r\n\t},\r\n\tchart: {\r\n\t\theight: '100%',\r\n\t},\r\n}));\r\n\r\nconst PerformanceOverTime = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst data = {\r\n\t\tthisWeek: {\r\n\t\t\tdata: [],\r\n\t\t\tlabels: [],\r\n\t\t},\r\n\t\tthisMonth: {\r\n\t\t\tdata: [],\r\n\t\t\tlabels: [],\r\n\t\t},\r\n\t\tthisYear: {\r\n\t\t\tdata: [10, 5, 11, 20, 13, 28, 18, 4, 13, 12, 13, 5],\r\n\t\t\tlabels: [\r\n\t\t\t\t'Jan',\r\n\t\t\t\t'Feb',\r\n\t\t\t\t'Mar',\r\n\t\t\t\t'Apr',\r\n\t\t\t\t'May',\r\n\t\t\t\t'Jun',\r\n\t\t\t\t'Jul',\r\n\t\t\t\t'Aug',\r\n\t\t\t\t'Sep',\r\n\t\t\t\t'Oct',\r\n\t\t\t\t'Nov',\r\n\t\t\t\t'Dec',\r\n\t\t\t],\r\n\t\t},\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t}\r\n\t\t\t\ttitle=\"Performance Over Time\"\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nPerformanceOverTime.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default PerformanceOverTime;\r\n","import React from 'react';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Grid } from '@mui/material';\r\n\r\nimport { Page } from 'components';\r\nimport {\r\n\tHeader,\r\n\tLatestProjects,\r\n\tNewProjects,\r\n\tRealTime,\r\n\tRoiPerCustomer,\r\n\tTeamTasks,\r\n\tTodaysMoney,\r\n\tSystemHealth,\r\n\tPerformanceOverTime,\r\n} from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst DashboardDefault = () => {\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default DashboardDefault;\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography, Grid, Button, Hidden } from '@mui/material';\r\nimport BarChartIcon from '@mui/icons-material/BarChart';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tsummaryButton: {\r\n\t\tbackgroundColor: theme.palette.white,\r\n\t},\r\n\tbarChartIcon: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\timage: {\r\n\t\twidth: '100%',\r\n\t\tmaxHeight: 400,\r\n\t},\r\n}));\r\n\r\nconst Header = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst session = useSelector((state) => state.session);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tHome\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tGood Morning,\r\n\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t{session.user.first_name}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tHere’s what’s happening with your projects today\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tView summary\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nHeader.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default Header;\r\n","import React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, Typography, Grid, colors } from '@mui/material';\r\n\r\nimport axios from 'utils/axios';\r\nimport { Label } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\titem: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\ttextAlign: 'center',\r\n\t\t[theme.breakpoints.up('md')]: {\r\n\t\t\t'&:not(:last-of-type)': {\r\n\t\t\t\tborderRight: `1px solid ${theme.palette.divider}`,\r\n\t\t\t},\r\n\t\t},\r\n\t\t[theme.breakpoints.down('md')]: {\r\n\t\t\t'&:not(:last-of-type)': {\r\n\t\t\t\tborderBottom: `1px solid ${theme.palette.divider}`,\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n\ttitleWrapper: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'center',\r\n\t},\r\n\tlabel: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n\toverline: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst Statistics = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [statistics, setStatistics] = useState(null);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchStatistics = () => {\r\n\t\t\taxios.get('/api/account/statistics').then((response) => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetStatistics(response.data.statistics);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfetchStatistics();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\tif (!statistics) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t$\r\n\t\t\t\t\t\t{statistics.payout}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tNext payout\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t$\r\n\t\t\t\t\t\t{statistics.projects}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tTotal products\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{statistics.visitors}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tToday's Visitors\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{statistics.watching}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tLive\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tWatching now\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nStatistics.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default Statistics;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport uuid from 'uuid/v1';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tIconButton,\r\n\tList,\r\n\tListItem,\r\n\tListItemIcon,\r\n\tListItemSecondaryAction,\r\n\tListItemText,\r\n\tTypography,\r\n\tTooltip,\r\n} from '@mui/material';\r\nimport SendIcon from '@mui/icons-material/Send';\r\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForwardOutlined';\r\nimport PaymentIcon from '@mui/icons-material/PaymentOutlined';\r\nimport MailIcon from '@mui/icons-material/MailOutlineOutlined';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tvalue: {\r\n\t\tfontWeight: theme.typography.fontWeightMedium,\r\n\t},\r\n\ttype: {\r\n\t\tfontWeight: theme.typography.fontWeightMedium,\r\n\t},\r\n}));\r\n\r\nconst Notifications = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst notifications = [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tvalue: 6,\r\n\t\t\ttype: 'invite',\r\n\t\t\tmessage: 'to send service quotes',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tvalue: 2,\r\n\t\t\ttype: 'message',\r\n\t\t\tmessage: 'from clients',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tvalue: 1,\r\n\t\t\ttype: 'payout',\r\n\t\t\tmessage: 'that needs your confirmation',\r\n\t\t},\r\n\t];\r\n\r\n\tconst icons = {\r\n\t\tinvite: ,\r\n\t\tmessage: ,\r\n\t\tpayout: ,\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{notifications.map((notification, i) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{icons[notification.type]}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{notification.value}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{notification.type}\r\n\t\t\t\t\t\t\t\t\ts\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t{notification.message}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nNotifications.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default Notifications;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography, Button } from '@mui/material';\r\nimport KeyboardArrowRightIcon from '@mui/icons-material/KeyboardArrowRight';\r\n\r\nimport axios from 'utils/axios';\r\nimport { ProjectCard } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\theader: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between',\r\n\t\tmarginBottom: theme.spacing(2),\r\n\t},\r\n\ttitle: {\r\n\t\tposition: 'relative',\r\n\t\t'&:before': {\r\n\t\t\tposition: 'absolute',\r\n\t\t\tbottom: -8,\r\n\t\t\tleft: 0,\r\n\t\t\tcontent: '\" \"',\r\n\t\t\theight: 3,\r\n\t\t\twidth: 48,\r\n\t\t\tbackgroundColor: theme.palette.primary.main,\r\n\t\t},\r\n\t},\r\n\tarrowIcon: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst Projects = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [projects, setProjects] = useState([]);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchProjects = () => {\r\n\t\t\taxios.get('/api/account/projects').then((response) => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetProjects(response.data.projects);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfetchProjects();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tActive Projects\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t{projects.map((project) => (\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nProjects.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default Projects;\r\n","/* eslint-disable react/no-multi-comp */\r\nimport React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tCard,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tDivider,\r\n\tIconButton,\r\n\tList,\r\n\tListItem,\r\n\tListItemIcon,\r\n\tListItemText,\r\n\tRadio,\r\n\tTooltip,\r\n\tTypography,\r\n\tcolors,\r\n} from '@mui/material';\r\nimport AddIcon from '@mui/icons-material/Add';\r\nimport ArchiveIcon from '@mui/icons-material/ArchiveOutlined';\r\n\r\nimport axios from 'utils/axios';\r\nimport { Label } from 'components';\r\n\r\nconst getLabel = (todo) => {\r\n\tif (todo.done) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tif (moment(todo.deadline).isBefore(moment(), 'day')) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n\r\n\tif (moment(todo.deadline).isSame(moment(), 'day')) {\r\n\t\treturn ;\r\n\t}\r\n\r\n\treturn ;\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\taddIcon: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tdone: {\r\n\t\ttextDecoration: 'line-through',\r\n\t\tcolor: theme.palette.text.secondary,\r\n\t},\r\n}));\r\n\r\nconst Todos = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [todos, setTodos] = useState([]);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchTodos = () => {\r\n\t\t\taxios.get('/api/account/todos').then((response) => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetTodos(response.data.todos);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfetchTodos();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\tconst handleChange = (event, todo) => {\r\n\t\tsetTodos((items) => items.map((t) => {\r\n\t\t\tif (t.id === todo.id) {\r\n\t\t\t\treturn { ...todo, done: !todo.done };\r\n\t\t\t}\r\n\r\n\t\t\treturn t;\r\n\t\t})\r\n\t\t);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tAdd\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\ttitle=\"My todos\"\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{todos.map((todo, i) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t handleChange(event, todo)}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{todo.title}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{getLabel(todo)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nTodos.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default Todos;\r\n","import React from 'react';\r\nimport { makeStyles } from '@mui/styles';\r\n\r\nimport { Page } from 'components';\r\nimport {\r\n\tHeader,\r\n\tStatistics,\r\n\tNotifications,\r\n\tProjects,\r\n\tTodos,\r\n} from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\twidth: theme.breakpoints.values.lg,\r\n\t\tmaxWidth: '100%',\r\n\t\tmargin: '0 auto',\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tstatistics: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tnotifications: {\r\n\t\tmarginTop: theme.spacing(6),\r\n\t},\r\n\tprojects: {\r\n\t\tmarginTop: theme.spacing(6),\r\n\t},\r\n\ttodos: {\r\n\t\tmarginTop: theme.spacing(6),\r\n\t},\r\n}));\r\n\r\nconst Overview = () => {\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Overview;\r\n","import React from 'react';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography, Grid, Button } from '@mui/material';\r\nimport { Page, CustomizedDialogs } from 'components';\r\nimport Dialog from '@mui/material/Dialog';\r\nimport DialogActions from '@mui/material/DialogActions';\r\nimport DialogContent from '@mui/material/DialogContent';\r\nimport DialogContentText from '@mui/material/DialogContentText';\r\nimport DialogTitle from '@mui/material/DialogTitle';\r\nimport { useSelector } from 'react-redux';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t},\r\n\tcontent: {\r\n\t\twidth: theme.breakpoints.values.md,\r\n\t\tmaxWidth: '100%',\r\n\t\tmargin: '0 auto',\r\n\t\tpadding: '80px 24px',\r\n\t\t[theme.breakpoints.up('md')]: {\r\n\t\t\tpadding: '160px 24px',\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Home = () => {\r\n\tconst classes = useStyles();\r\n\tconst user = useSelector((state) => state.session.user);\r\n\r\n\tconst searchString = 'ran';\r\n\r\n\tconst containsString = user.projects?.some(\r\n\t\tproject => project.toLowerCase().trim() === searchString.trim().toLowerCase()\r\n\t) || false;\r\n\r\n\tconst [open, setOpen] = React.useState(containsString);\r\n\r\n\tconst handleClose = () => {\r\n\t\tsetOpen(false);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tAttention, user\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tPlease be informed that the portal will be discontinued as of August 1, 2024.\r\n\t\t\t\t\t\tPlease prepare for this change and contact BT Line Manager for more information or support.\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tCustomer focus\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tWe only find success in our customer’s success.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tExcellence\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tOur clients know that we pursue nothing less than the highest quality standards in everything we do.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tCollaboration\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tOur passion for teamwork leads to innovation, high level of effectiveness and continuous learning and improvement.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tAccountability\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tPeople who are not afraid to get their ideas off the ground are also proud to be held accountable for their results.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tPassion\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tOur passion is what keeps us relentlessly pushing for numerous game-changing innovations.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default Home;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport uuid from 'uuid/v1';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tTypography,\r\n\tList,\r\n\tListItem,\r\n\tListItemIcon,\r\n\tListItemText,\r\n} from '@mui/material';\r\nimport ContactSupportIcon from '@mui/icons-material/ContactSupportOutlined';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tbackgroundColor: theme.palette.white,\r\n\t},\r\n\tinner: {\r\n\t\tpadding: theme.spacing(6, 3),\r\n\t\twidth: theme.breakpoints.values.lg,\r\n\t\tmaxWidth: '100%',\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(6),\r\n\t},\r\n}));\r\n\r\nconst FAQ = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst faqs = [\r\n\t\t{\r\n\t\t\ttitle: 'What do we use for styling our components?',\r\n\t\t\tdescription:\r\n\t\t\t\t\"We use Material-ui's hooks api as we think it’s the best way of avoiding clutter.\",\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle:\r\n\t\t\t\t'Are the design files (sketch, figma) included in the Standard Package?',\r\n\t\t\tdescription:\r\n\t\t\t\t'No, we offer the design source file only to Standard Plus Sketch & Figma and Extended Package.',\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: 'Are you providing support for setting up my project?',\r\n\t\t\tdescription:\r\n\t\t\t\t'Yes, we offer email support for all our customers & even skype meetings for our extended license customers.',\r\n\t\t},\r\n\t];\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tFAQ\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{faqs.map((faq) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nFAQ.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default FAQ;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useDispatch } from 'react-redux';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography, Grid, Button } from '@mui/material';\r\nimport {\r\n\tenqueueSnackbar as enqueueSnackbarAction,\r\n\tcloseSnackbar as closeSnackbarAction,\r\n} from 'actions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tbackgroundColor: theme.palette.white,\r\n\t},\r\n\theader: {\r\n\t\twidth: theme.breakpoints.values.md,\r\n\t\tmaxWidth: '100%',\r\n\t\tmargin: '0 auto',\r\n\t\tpadding: '80px 24px',\r\n\t\t[theme.breakpoints.up('md')]: {\r\n\t\t\tpadding: '160px 24px',\r\n\t\t},\r\n\t},\r\n\tbuttons: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'center',\r\n\t},\r\n\tmediaContainer: {\r\n\t\tmargin: '0 auto',\r\n\t\tmaxWidth: 1600,\r\n\t\tpadding: theme.spacing(0, 2),\r\n\t\toverflow: 'hidden',\r\n\t},\r\n\tmedia: {\r\n\t\twidth: '100%',\r\n\t},\r\n\tstats: {\r\n\t\tbackgroundColor: theme.palette.primary.main,\r\n\t\tcolor: theme.palette.primary.contrastText,\r\n\t\tpadding: theme.spacing(1),\r\n\t},\r\n\tstatsInner: {\r\n\t\twidth: theme.breakpoints.values.md,\r\n\t\tmaxWidth: '100%',\r\n\t\tmargin: '0 auto',\r\n\t},\r\n}));\r\n\r\nconst Header = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst enqueueSnackbar = (...args) => dispatch(enqueueSnackbarAction(...args));\r\n\tconst closeSnackbar = (...args) => dispatch(closeSnackbarAction(...args));\r\n\r\n\tconst handleClick = () => {\r\n\t\t// NOTE:\r\n\t\t// if you want to be able to dispatch a `closeSnackbar` action later on,\r\n\t\t// you SHOULD pass your own `key` in the options. `key` can be any sequence\r\n\t\t// of number or characters, but it has to be unique for a given snackbar.\r\n\t\tenqueueSnackbar({\r\n\t\t\tmessage: 'Querias comprar mas não compras.',\r\n\t\t\toptions: {\r\n\t\t\t\tkey: new Date().getTime() + Math.random(),\r\n\t\t\t\tvariant: 'success',\r\n\t\t\t\taction: key => (\r\n\t\t\t\t\t\r\n\t\t\t\t),\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tDevias React Material Kit - PRO\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tA professional kit that comes with ready-to-use Material-UI©\r\n\t\t\t\t\tcomponents developed with one common goal in mind, help you\r\n\t\t\t\t\tbuild faster & beautiful applications. Each component is\r\n\t\t\t\t\tfully customizable, responsive and easy to integrate.\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tPurchase Devias Kit\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t30+\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tDemo Pages\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tUX\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tComplete Flows\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t300+\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tComponents\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\"React\"\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tReact Hooks API\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nHeader.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default Header;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography, Grid } from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tbackgroundColor: theme.palette.white,\r\n\t},\r\n\tinner: {\r\n\t\tpadding: theme.spacing(6, 3),\r\n\t\twidth: theme.breakpoints.values.lg,\r\n\t\tmaxWidth: '100%',\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\tmedia: {\r\n\t\t'& img': {\r\n\t\t\twidth: '100%',\r\n\t\t\theight: 'auto',\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst PluginsSupport = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tSupport for Plugins\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tThe kit provides support for multiple third-party\r\n\t\t\t\t\t\t\tplugins right out of the box like Chart.js,\r\n\t\t\t\t\t\t\tDropzone.js, Kanban Plugin and many more.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nPluginsSupport.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default PluginsSupport;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography, Grid } from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tbackgroundColor: theme.palette.background.default,\r\n\t},\r\n\tinner: {\r\n\t\tpadding: theme.spacing(6, 3),\r\n\t\twidth: theme.breakpoints.values.lg,\r\n\t\tmaxWidth: '100%',\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\tmedia: {\r\n\t\t'& img': {\r\n\t\t\twidth: '100%',\r\n\t\t\theight: 'auto',\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst SourceFiles = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tSource Files\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tWe've included the source Sketch & Figma files so\r\n\t\t\t\t\t\t\tyou can get creative! We designed all components\r\n\t\t\t\t\t\t\twith Symbols in Sketch which allows you to change\r\n\t\t\t\t\t\t\tthe main colors as you like.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nSourceFiles.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default SourceFiles;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography, Grid } from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tbackgroundColor: theme.palette.background.default,\r\n\t},\r\n\tinner: {\r\n\t\tpadding: theme.spacing(6, 3),\r\n\t\twidth: theme.breakpoints.values.lg,\r\n\t\tmaxWidth: '100%',\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\tmedia: {\r\n\t\t'& img': {\r\n\t\t\twidth: '100%',\r\n\t\t\theight: 'auto',\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst UserFlows = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tComplete User Flows\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tNot just a set of tools, the package includes the\r\n\t\t\t\t\t\t\tmost common use cases of user flows like User\r\n\t\t\t\t\t\t\tManagement, Second Level Layout, and many more.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nUserFlows.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default UserFlows;\r\n","import React from 'react';\r\nimport { makeStyles } from '@mui/styles';\r\n\r\nimport { Page } from 'components';\r\nimport {\r\n\tHeader,\r\n\tFAQ,\r\n\tPluginsSupport,\r\n\tSourceFiles,\r\n\tUserFlows,\r\n} from './components';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n\troot: {},\r\n}));\r\n\r\nconst Presentation = () => {\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Presentation;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, Typography, Avatar } from '@mui/material';\r\n\r\nimport { Label } from 'components';\r\nimport gradients from 'utils/gradients';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between',\r\n\t},\r\n\tdetails: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tflexWrap: 'wrap',\r\n\t},\r\n\tlabel: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n\tavatar: {\r\n\t\tbackgroundImage: gradients.blue,\r\n\t\theight: 48,\r\n\t\twidth: 48,\r\n\t},\r\n}));\r\n\r\nconst TodaysMoney = (props) => {\r\n\tconst { className, title, text, icon, label, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{title}\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{text}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{label && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{label.text}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t{icon}\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nTodaysMoney.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\ttitle: PropTypes.string,\r\n\ttext: PropTypes.string,\r\n\ticon: PropTypes.object,\r\n\tlabel: PropTypes.object\r\n};\r\n\r\nexport default TodaysMoney;\r\n","import React, { useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tcolors,\r\n\tIconButton,\r\n\tTooltip,\r\n} from '@mui/material';\r\n\r\nimport CreateIcon from '@mui/icons-material/Create';\r\nimport EmailIcon from '@mui/icons-material/Email';\r\nimport ExitToAppIcon from '@mui/icons-material/ExitToApp';\r\nimport DeleteIcon from '@mui/icons-material/Delete';\r\nimport Label from '../../../../../../components/Label/Label.js';\r\nimport DataTable from '../../../../../../components/DataTable/DataTable.js';\r\nimport { ToggleAddEditUserDialog, ResendConfirmationEmail, DeactivateUser, ToggleDeleteUserDialog } from '../../../../actions/UsersActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 700,\r\n\t},\r\n\tnameCell: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tavatar: {\r\n\t\theight: 42,\r\n\t\twidth: 42,\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tactions: {\r\n\t\tpadding: theme.spacing(1),\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tprimaryButton: {\r\n\t\tcolor: theme.palette.primary.main\r\n\t},\r\n\terrorButton: {\r\n\t\tcolor: theme.palette.error.main\r\n\t}\r\n}));\r\n\r\nconst UsersDataTable = (props) => {\r\n\tconst { className, data, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst classes = useStyles();\r\n\r\n\tconst _editUser = (userId) => {\r\n\t\tdispatch(ToggleAddEditUserDialog(true, userId));\r\n\t};\r\n\r\n\tconst _deleteUser = (userId) => {\r\n\t\tdispatch(ToggleDeleteUserDialog(true, userId));\r\n\t};\r\n\r\n\tconst _resendConfirmationEmail = (userId) => {\r\n\t\tdispatch(ResendConfirmationEmail(userId));\r\n\t};\r\n\r\n\tconst _deactivateUser = (userId) => {\r\n\t\tdispatch(DeactivateUser(userId, rest.user.role));\r\n\t};\r\n\r\n\tconst _renderActions = (tableMeta) => {\r\n\t\tconst { rowData } = tableMeta;\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t{rowData[5] ? (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _deactivateUser(rowData[0])}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _resendConfirmationEmail(rowData[0])}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\t _editUser(rowData[0])}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t _deleteUser(rowData[0])}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t);\r\n\t};\r\n\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'id',\r\n\t\t\t\tlabel: 'Id',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'name',\r\n\t\t\t\tlabel: 'Name',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'email',\r\n\t\t\t\tlabel: 'Email',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'role',\r\n\t\t\t\tlabel: 'Role',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'operators',\r\n\t\t\t\tlabel: 'Operators',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tcustomBodyRender: (value) => {\r\n\t\t\t\t\t\tif (value) {\r\n\t\t\t\t\t\t\tconst values = value.split(',');\r\n\t\t\t\t\t\t\tconst sortedValues = _.sortBy(values, val => val);\r\n\t\t\t\t\t\t\tconst operators = sortedValues.map((operator, index) => (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t{operator}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t));\r\n\t\t\t\t\t\t\treturn operators;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn null;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'status',\r\n\t\t\t\tlabel: 'Status',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tcustomBodyRender: (value) => {\r\n\t\t\t\t\t\tif (value !== null) {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{value\r\n\t\t\t\t\t\t\t\t\t\t? 'Email confirmed'\r\n\t\t\t\t\t\t\t\t\t\t: 'Email not confirmed'}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn null;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'online',\r\n\t\t\t\tlabel: 'Online',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tcustomBodyRender: (value) => {\r\n\t\t\t\t\t\tif (value !== null) {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{value\r\n\t\t\t\t\t\t\t\t\t\t? 'Online'\r\n\t\t\t\t\t\t\t\t\t\t: 'Offline'}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn null;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'action',\r\n\t\t\t\tlabel: 'Actions',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tsort: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => _renderActions(tableMeta)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t]\r\n\t);\r\n\r\n\tconst _getTableOptions = () => ({\r\n\t\tfilterType: 'dropdown',\r\n\t\tselectableRows: false,\r\n\t\texpandableRows: false, // Try Adding This\r\n\t});\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nUsersDataTable.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default UsersDataTable;\r\n","import React from 'react';\r\n\r\nimport MuiDialogTitle from '@mui/material/DialogTitle';\r\nimport CloseIcon from '@mui/icons-material/Close';\r\nimport Typography from '@mui/material/Typography';\r\nimport withStyles from '@mui/styles/withStyles';\r\n\r\nimport IconButton from '@mui/material/IconButton';\r\n\r\nconst DialogTitle = withStyles(theme => ({\r\n\troot: {\r\n\t\tborderBottom: `1px solid ${theme.palette.divider}`,\r\n\t\tmargin: 0,\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcloseButton: {\r\n\t\tposition: 'absolute',\r\n\t\tright: theme.spacing(1),\r\n\t\ttop: theme.spacing(1),\r\n\t\tcolor: theme.palette.grey[500],\r\n\t},\r\n}))(props => {\r\n\tconst { children, classes, onClose } = props;\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t\t{onClose ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : null}\r\n\t\t\r\n\t);\r\n});\r\n\r\nexport default DialogTitle;\r\n","import withStyles from '@mui/styles/withStyles';\r\nimport MuiDialogContent from '@mui/material/DialogContent';\r\n\r\nconst DialogContent = withStyles(theme => ({\r\n\troot: {\r\n\t\tmargin: 0,\r\n\t\tpadding: theme.spacing(2),\r\n\t},\r\n}))(MuiDialogContent);\r\n\r\nexport default DialogContent;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Dialog, DialogActions, Typography, Button } from '@mui/material';\r\n\r\nimport DialogTitle from './components/DialogTitle.js';\r\nimport DialogContent from './components/DialogContent.js';\r\n\r\nconst propTypes = {\r\n\tonClose: PropTypes.func,\r\n\tonConfirmClicked: PropTypes.func,\r\n\tcancelLabel: PropTypes.string,\r\n\tconfirmLabel: PropTypes.string,\r\n\ttitle: PropTypes.string,\r\n\topen: PropTypes.bool,\r\n\tmodal: PropTypes.bool,\r\n\tisDisabled: PropTypes.bool,\r\n\tchildren: PropTypes.object,\r\n\thasConfirm: PropTypes.bool,\r\n\tautoScrollBodyContent: PropTypes.bool,\r\n\tdialogProps: PropTypes.object,\r\n\tmaxWidth: PropTypes.string,\r\n\tid: PropTypes.string\r\n};\r\n\r\nconst ModalDialog = (props) => {\r\n\tconst {\r\n\t\tcancelLabel,\r\n\t\tconfirmLabel,\r\n\t\ttitle,\r\n\t\topen,\r\n\t\thasConfirm = true,\r\n\t\tonClose,\r\n\t\tchildren,\r\n\t\tonConfirmClicked,\r\n\t\tisDisabled,\r\n\t\tmodal = false,\r\n\t\tautoScrollBodyContent,\r\n\t\tdialogProps,\r\n\t\tmaxWidth,\r\n\t\tid = 'confirm_dialog'\r\n\t} = props;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{title}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{children}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{cancelLabel || 'Cancel'}\r\n\t\t\t\t\r\n\t\t\t\t{\r\n\t\t\t\t\thasConfirm && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{confirmLabel || 'Apply'}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nModalDialog.propTypes = propTypes;\r\n\r\nexport default ModalDialog;\r\n","/* eslint-disable no-unused-vars */\r\nimport React, { useState, useEffect, useRef } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport validate from 'validate.js';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, TextField, Typography, Grid, Select } from '@mui/material';\r\nimport useRouter from 'utils/useRouter';\r\nimport { SetFormState, GetOperatorProjects } from '../../../../../../actions/UsersActions';\r\nimport SelectField from '../../../../../../../../components/SelectField/SelectField.js';\r\n\r\nconst schema = {\r\n\tfirstname: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tlastname: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\temail: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t\temail: true,\r\n\t},\r\n\troleId: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tfields: {\r\n\t\tmargin: theme.spacing(-1),\r\n\t\tdisplay: 'flex',\r\n\t\tflexWrap: 'wrap',\r\n\t\t'& > *': {\r\n\t\t\tflexGrow: 1,\r\n\t\t\tmargin: theme.spacing(1),\r\n\t\t},\r\n\t},\r\n\tsubmitButton: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\twidth: '100%',\r\n\t},\r\n}));\r\n\r\nconst AddEditUserForm = (props) => {\r\n\tconst { className, roles, operators, projects, isEdit, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst router = useRouter();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.usersReducer.formState);\r\n\r\n\tconst usePrevious = (value) => {\r\n\t\tconst ref = useRef();\r\n\t\tuseEffect(() => {\r\n\t\t\tref.current = value;\r\n\t\t});\r\n\t\treturn ref.current;\r\n\t};\r\n\r\n\tconst useHasChanged = (val) => {\r\n\t\tconst prevVal = usePrevious(val);\r\n\t\treturn prevVal !== val;\r\n\t};\r\n\r\n\tconst hasOperatorIdsChanged = useHasChanged(formState.values.operatorIds);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\r\n\t\tif (hasOperatorIdsChanged) {\r\n\t\t\tdispatch(GetOperatorProjects(formState.values.operatorIds || []));\r\n\t\t}\r\n\t}, [formState.values]);\r\n\r\n\tconst handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n\t);\r\n};\r\n\r\nAddEditUserForm.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\troles: PropTypes.array,\r\n\toperators: PropTypes.array,\r\n\tprojects: PropTypes.array,\r\n\tisEdit: PropTypes.bool,\r\n};\r\n\r\nexport default AddEditUserForm;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tcolors,\r\n} from '@mui/material';\r\n\r\nimport ModalDialog from '../../../../../../components/ModalDialog/ModalDialog.js';\r\nimport AddEditUserForm from './components/AddEditUserForm/AddEditUserForm.js';\r\nimport { GetRoles, GetOperators, CreateUser, GetUser, EditUser } from '../../../../actions/UsersActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\twidth: 960,\r\n\t},\r\n\theader: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\tmaxWidth: 720,\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: theme.spacing(0, 2),\r\n\t\tmaxWidth: 720,\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\thelperText: {\r\n\t\ttextAlign: 'right',\r\n\t\tmarginRight: 0,\r\n\t},\r\n\tauthor: {\r\n\t\tmargin: theme.spacing(4, 0),\r\n\t\tdisplay: 'flex',\r\n\t},\r\n\tavatar: {\r\n\t\tmarginRight: theme.spacing(2),\r\n\t},\r\n\tactions: {\r\n\t\tbackgroundColor: colors.grey[100],\r\n\t\tpadding: theme.spacing(2),\r\n\t\tdisplay: 'flex',\r\n\t\talignContent: 'right',\r\n\t},\r\n\tapplyButton: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst AddEditUserDialog = (props) => {\r\n\tconst { author, open, onClose, onApply, className, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst roles = useSelector((state) => state.usersReducer.roles);\r\n\tconst operators = useSelector((state) => state.usersReducer.operators);\r\n\tconst operatorProjects = useSelector((state) => state.usersReducer.operatorProjects);\r\n\tconst formState = useSelector((state) => state.usersReducer.formState);\r\n\tconst openAddEditUserDialogId = useSelector((state) => state.usersReducer.openAddEditUserDialogId);\r\n\tconst title = openAddEditUserDialogId ? 'Edit user' : 'Add user';\r\n\r\n\tconst _onConfirmClick = () => {\r\n\t\tif (formState.isValid) {\r\n\t\t\tif (openAddEditUserDialogId) {\r\n\t\t\t\tdispatch(EditUser(formState.values, rest.user.role));\r\n\t\t\t} else {\r\n\t\t\t\tdispatch(CreateUser(formState.values, rest.user.role));\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tconst getData = useCallback(() => {\r\n\t\tdispatch(GetRoles(rest.user.role));\r\n\t\tdispatch(GetOperators());\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tgetData();\r\n\t\tif (openAddEditUserDialogId) {\r\n\t\t\tdispatch(GetUser(openAddEditUserDialogId));\r\n\t\t}\r\n\t}, [openAddEditUserDialogId]);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nAddEditUserDialog.propTypes = {\r\n\tauthor: PropTypes.object.isRequired,\r\n\tclassName: PropTypes.string,\r\n\tonApply: PropTypes.func,\r\n\tonClose: PropTypes.func,\r\n\topen: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default AddEditUserDialog;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { colors } from '@mui/material';\r\nimport { enqueueSnackbar } from 'actions';\r\nimport ModalDialog from '../../../../../../components/ModalDialog/ModalDialog.js';\r\nimport { DeleteUser } from '../../../../actions/UsersActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\twidth: 960,\r\n\t},\r\n\theader: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\tmaxWidth: 720,\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: theme.spacing(0, 2),\r\n\t\tmaxWidth: 720,\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\thelperText: {\r\n\t\ttextAlign: 'right',\r\n\t\tmarginRight: 0,\r\n\t},\r\n\tauthor: {\r\n\t\tmargin: theme.spacing(4, 0),\r\n\t\tdisplay: 'flex',\r\n\t},\r\n\tavatar: {\r\n\t\tmarginRight: theme.spacing(2),\r\n\t},\r\n\tactions: {\r\n\t\tbackgroundColor: colors.grey[100],\r\n\t\tpadding: theme.spacing(2),\r\n\t\tdisplay: 'flex',\r\n\t\talignContent: 'right',\r\n\t},\r\n\tapplyButton: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst DeleteUserDialog = (props) => {\r\n\tconst { author, open, onClose, onApply, className, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst roles = useSelector((state) => state.usersReducer.roles);\r\n\tconst openDeleteUserDialogId = useSelector((state) => state.usersReducer.openDeleteUserDialogId);\r\n\tconst title = 'Delete user';\r\n\r\n\tconst _onConfirmClick = () => {\r\n\t\tdispatch(DeleteUser(openDeleteUserDialogId, rest.user.role));\r\n\t\tdispatch(enqueueSnackbar({ message: 'User deleted', options: { variant: 'info' } }));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t

Are you sure you want to delete this User?

\r\n\t\t\r\n\t);\r\n};\r\n\r\nDeleteUserDialog.propTypes = {\r\n\tauthor: PropTypes.object.isRequired,\r\n\tclassName: PropTypes.string,\r\n\tonApply: PropTypes.func,\r\n\tonClose: PropTypes.func,\r\n\topen: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default DeleteUserDialog;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Grid, Button } from '@mui/material';\r\nimport AddIcon from '@mui/icons-material/Add';\r\nimport GroupIcon from '@mui/icons-material/Group';\r\nimport BusinessCenterIcon from '@mui/icons-material/BusinessCenter';\r\nimport AssignmentTurnedInIcon from '@mui/icons-material/AssignmentTurnedIn';\r\nimport { Page, Header } from 'components';\r\nimport Card from './components/Card/Card.js';\r\nimport UsersDataTable from './components/UsersDataTable/UsersDataTable.js';\r\nimport AddEditUsersDialog from './components/AddEditUserDialog/AddEditUserDialog.js';\r\nimport DeleteUsersDialog from './components/DeleteUserDialog/DeleteUserDialog';\r\n\r\nimport { GetUsers, GetUsersStats, ToggleAddEditUserDialog, ToggleDeleteUserDialog } from '../../actions/UsersActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst Users = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst user = useSelector((state) => state.session.user);\r\n\tconst usersStats = useSelector((state) => state.usersReducer.usersStats);\r\n\tconst users = useSelector((state) => state.usersReducer.users);\r\n\tconst openAddEditUserDialog = useSelector((state) => state.usersReducer.openAddEditUserDialog);\r\n\tconst openDeleteUserDialog = useSelector((state) => state.usersReducer.openDeleteUserDialog);\r\n\r\n\tconst _addEditUserClose = () => {\r\n\t\tdispatch(ToggleAddEditUserDialog(false));\r\n\t};\r\n\r\n\tconst _deleteUserClose = () => {\r\n\t\tdispatch(ToggleDeleteUserDialog(false));\r\n\t};\r\n\r\n\tconst _addUser = () => {\r\n\t\tdispatch(ToggleAddEditUserDialog(true));\r\n\t};\r\n\r\n\tconst _renderActions = () => (\r\n\t\t\r\n\t);\r\n\r\n\tconst getData = useCallback(() => {\r\n\t\tdispatch(GetUsers(user.role));\r\n\t\tdispatch(GetUsersStats());\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tgetData();\r\n\t}, [getData]);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t} />\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t} />\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t} />\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{openAddEditUserDialog && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{openDeleteUserDialog && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\r\n\t);\r\n};\r\n\r\nexport default Users;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tAvatar,\r\n\tButton,\r\n\tCard,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tDivider,\r\n\tGrid,\r\n\tTypography,\r\n} from '@mui/material';\r\n\r\nimport getInitials from 'utils/getInitials';\r\nimport { Label } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\theader: {\r\n\t\tpaddingBottom: 0,\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: 10,\r\n\t\t'&:last-child': {\r\n\t\t\tpaddingBottom: 0,\r\n\t\t},\r\n\t},\r\n\tdescription: {\r\n\t\tpadding: theme.spacing(2, 3, 1, 3),\r\n\t},\r\n\ttags: {\r\n\t\tpadding: theme.spacing(0, 3, 1, 3),\r\n\t\t'& > * + *': {\r\n\t\t\tmarginLeft: theme.spacing(1),\r\n\t\t},\r\n\t},\r\n\tdetailsButton: {\r\n\t\tcolor: theme.palette.primary.main\r\n\t},\r\n\tdeleteButton: {\r\n\t\tcolor: theme.palette.error.main,\r\n\t},\r\n\tdetails: {\r\n\t\tpadding: theme.spacing(1, 3),\r\n\t},\r\n\tavatar: {\r\n\t\twidth: theme.spacing(15),\r\n\t\theight: theme.spacing(15),\r\n\t\tfontSize: theme.spacing(7)\r\n\t},\r\n}));\r\n\r\nconst OperatorCard = (props) => {\r\n\tconst { operator, deleteOperator, navigateDetails, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\t\t{getInitials(operator.name)}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\tclassName={classes.header}\r\n\t\t\t\tdisableTypography\r\n\t\t\t\ttitle={(\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{operator.name}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t navigateDetails(operator.id)}\r\n\t\t\t\t\t\t\t\tclassName={classes.detailsButton}\r\n\t\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\tDetails\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t deleteOperator(operator)}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\tDelete\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nOperatorCard.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\toperator: PropTypes.object.isRequired,\r\n\tdeleteOperator: PropTypes.func,\r\n\tnavigateDetails: PropTypes.func,\r\n};\r\n\r\nexport default OperatorCard;\r\n","import React, { useState, useRef, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tGrid,\r\n} from '@mui/material';\r\n\r\nimport OperatorCard from '../OperatorCard/OperatorCard.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: { marginTop: theme.spacing(3) },\r\n\theader: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'space-between',\r\n\t\tflexWrap: 'wrap',\r\n\t\tmarginBottom: theme.spacing(2),\r\n\t},\r\n\ttitle: {\r\n\t\tposition: 'relative',\r\n\t\t'&:after': {\r\n\t\t\tposition: 'absolute',\r\n\t\t\tbottom: -8,\r\n\t\t\tleft: 0,\r\n\t\t\tcontent: '\" \"',\r\n\t\t\theight: 3,\r\n\t\t\twidth: 48,\r\n\t\t\tbackgroundColor: theme.palette.primary.main,\r\n\t\t},\r\n\t},\r\n\tactions: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tgridList: {\r\n\t\toverflowY: 'scroll',\r\n\t\tmaxHeight: '75vh'\r\n\t}\r\n}));\r\n\r\nconst Projects = (props) => {\r\n\tconst { className, operators, deleteOperator, navigateDetails, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t{operators.map((operator) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nProjects.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\toperators: PropTypes.array,\r\n\tdeleteOperator: PropTypes.func,\r\n\tnavigateDetails: PropTypes.func,\r\n};\r\n\r\nexport default Projects;\r\n","/* eslint-disable no-unused-vars */\r\nimport React, { useState, useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport validate from 'validate.js';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, TextField, Typography, Grid, Select } from '@mui/material';\r\nimport useRouter from 'utils/useRouter';\r\nimport { SetFormState } from '../../../../../../actions/OperatorsActions';\r\nimport SelectField from '../../../../../../../../components/SelectField/SelectField.js';\r\n\r\nconst schema = {\r\n\tname: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tfields: {\r\n\t\tmargin: theme.spacing(-1),\r\n\t\tdisplay: 'flex',\r\n\t\tflexWrap: 'wrap',\r\n\t\t'& > *': {\r\n\t\t\tflexGrow: 1,\r\n\t\t\tmargin: theme.spacing(1),\r\n\t\t},\r\n\t},\r\n\tsubmitButton: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\twidth: '100%',\r\n\t},\r\n}));\r\n\r\nconst AddOperatorForm = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst router = useRouter();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.operatorsReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n\t);\r\n};\r\n\r\nAddOperatorForm.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default AddOperatorForm;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tcolors,\r\n} from '@mui/material';\r\n\r\nimport ModalDialog from '../../../../../../components/ModalDialog/ModalDialog.js';\r\nimport AddOperatorForm from './components/AddOperatorForm/AddOperatorForm.js';\r\nimport { CreateOperator } from '../../../../actions/OperatorsActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\twidth: 960,\r\n\t},\r\n\theader: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\tmaxWidth: 720,\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: theme.spacing(0, 2),\r\n\t\tmaxWidth: 720,\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\thelperText: {\r\n\t\ttextAlign: 'right',\r\n\t\tmarginRight: 0,\r\n\t},\r\n\tauthor: {\r\n\t\tmargin: theme.spacing(4, 0),\r\n\t\tdisplay: 'flex',\r\n\t},\r\n\tavatar: {\r\n\t\tmarginRight: theme.spacing(2),\r\n\t},\r\n\tactions: {\r\n\t\tbackgroundColor: colors.grey[100],\r\n\t\tpadding: theme.spacing(2),\r\n\t\tdisplay: 'flex',\r\n\t\talignContent: 'right',\r\n\t},\r\n\tapplyButton: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst AddOperatorDialog = (props) => {\r\n\tconst { open, onClose, onApply, className, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst formState = useSelector((state) => state.operatorsReducer.formState);\r\n\tconst title = 'Add operator';\r\n\r\n\tconst _onConfirmClick = () => {\r\n\t\tif (formState.isValid) {\r\n\t\t\tdispatch(CreateOperator(formState.values));\r\n\t\t}\r\n\t};\r\n\r\n\tconst getData = useCallback(() => {\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nAddOperatorDialog.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tonApply: PropTypes.func,\r\n\tonClose: PropTypes.func,\r\n\topen: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default AddOperatorDialog;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Grid, Button } from '@mui/material';\r\nimport AddIcon from '@mui/icons-material/Add';\r\nimport useRouter from 'utils/useRouter';\r\nimport { Page, Header } from '../../../../components';\r\nimport OperatorsList from './components/OperatorsList/OperatorsList.js';\r\nimport AddOperatorDialog from './components/AddOperatorDialog/AddOperatorDialog.js';\r\n\r\nimport { GetOperators, ToggleAddOperatorDialog, DeleteOperator, NavigateDetails } from '../../actions/OperatorsActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst Operators = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst { history } = useRouter();\r\n\tconst user = useSelector((state) => state.session.user);\r\n\tconst openAddOperatorDialog = useSelector((state) => state.operatorsReducer.openAddOperatorDialog);\r\n\tconst operators = useSelector((state) => state.operatorsReducer.operators);\r\n\r\n\tconst _addOperatorClose = () => {\r\n\t\tdispatch(ToggleAddOperatorDialog(false));\r\n\t};\r\n\r\n\tconst _deleteOperator = (operator) => {\r\n\t\tdispatch(DeleteOperator(operator));\r\n\t};\r\n\r\n\tconst _addOperator = () => {\r\n\t\tdispatch(ToggleAddOperatorDialog(true));\r\n\t};\r\n\r\n\tconst _renderActions = () => (\r\n\t\t\r\n\t);\r\n\r\n\tconst _navigateDetails = (operatorId) => {\r\n\t\tdispatch(NavigateDetails(operatorId));\r\n\t\thistory.push('/management/operators/details');\r\n\t};\r\n\r\n\tconst getData = useCallback(() => {\r\n\t\tdispatch(GetOperators());\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tgetData();\r\n\t}, [getData]);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{openAddOperatorDialog && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Operators;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport validate from 'validate.js';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tCard,\r\n\tCardActions,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tGrid,\r\n\tDivider,\r\n\tSwitch,\r\n\tTextField,\r\n\tTypography,\r\n\tcolors,\r\n} from '@mui/material';\r\n\r\nimport { SetFormState, UpdateOperator } from '../../../../../../actions/OperatorsActions';\r\n\r\nconst schema = {\r\n\tname: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tsaveButton: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Details = (props) => {\r\n\tconst { operator, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.operatorsReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\r\n\tconst save = () => {\r\n\t\tdispatch(UpdateOperator(formState.values));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tSave Changes\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nDetails.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\toperator: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default Details;\r\n","import React, { useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useDispatch } from 'react-redux';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tCardContent,\r\n\tCardActions,\r\n\tAvatar,\r\n\tTypography,\r\n\tButton,\r\n\tcolors\r\n} from '@mui/material';\r\nimport getInitials from 'utils/getInitials';\r\nimport { UpdateImage } from '../../../../../../actions/OperatorsActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tflexDirection: 'column',\r\n\t\ttextAlgin: 'center',\r\n\t},\r\n\tname: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\tavatar: {\r\n\t\theight: 120,\r\n\t\twidth: 120,\r\n\t},\r\n\tremoveButton: {\r\n\t\twidth: '100%',\r\n\t\tcolor: theme.palette.error.main\r\n\t},\r\n\taddButton: {\r\n\t\twidth: '100%',\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Picture = (props) => {\r\n\tconst { operator, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst inputFile = useRef(null);\r\n\r\n\tconst _removeImage = () => {\r\n\t\tconst updateOperator = { ...operator };\r\n\t\tupdateOperator.avatar = null;\r\n\t\tdispatch(UpdateImage(updateOperator));\r\n\t};\r\n\r\n\tconst _addImage = () => {\r\n\t\tinputFile.current.click();\r\n\t};\r\n\r\n\tconst _onChangeInput = (event) => {\r\n\t\tif (event.target.files && event.target.files.length > 0) {\r\n\t\t\tconst file = event.target.files[0];\r\n\t\t\tconst reader = new FileReader();\r\n\t\t\treader.addEventListener('load', () => {\r\n\t\t\t\tconst updateOperator = { ...operator };\r\n\t\t\t\tupdateOperator.avatar = reader.result;\r\n\t\t\t\tdispatch(UpdateImage(updateOperator));\r\n\t\t\t}\r\n\t\t\t);\r\n\t\t\treader.readAsDataURL(event.target.files[0]);\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{getInitials(operator.name)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{operator.avatar === null ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\t { inputFile.current = ref; }} onChange={_onChangeInput} style={{ display: 'none' }} />\r\n\t\t\r\n\t);\r\n};\r\n\r\nPicture.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\toperator: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default Picture;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Grid } from '@mui/material';\r\n\r\nimport { Picture, Details } from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tdeliverables: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tmembers: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst Overview = (props) => {\r\n\tconst { operator, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nOverview.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\toperator: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default Overview;\r\n","import React, { Fragment, useRef, useState, memo } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tListItemIcon,\r\n\tListItemText,\r\n\tTooltip,\r\n\tIconButton,\r\n\tMenu,\r\n\tMenuItem,\r\n} from '@mui/material';\r\nimport AddIcon from '@mui/icons-material/Add';\r\nimport MoreIcon from '@mui/icons-material/MoreVert';\r\n\r\nimport { ToggleAddProjectDialog } from '../../../../../../../../actions/OperatorsActions.js';\r\n\r\nconst useStyles = makeStyles(() => ({}));\r\n\r\nconst ActionsButton = (props) => {\r\n\tconst classes = useStyles();\r\n\tconst moreRef = useRef(null);\r\n\tconst [openMenu, setOpenMenu] = useState(false);\r\n\tconst dispatch = useDispatch();\r\n\tconst handleMenuOpen = () => {\r\n\t\tsetOpenMenu(true);\r\n\t};\r\n\r\n\tconst handleMenuClose = () => {\r\n\t\tsetOpenMenu(false);\r\n\t};\r\n\r\n\tconst _add = () => {\r\n\t\tdispatch(ToggleAddProjectDialog(true));\r\n\t\tsetOpenMenu(false);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nActionsButton.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default memo(ActionsButton);\r\n","import React, { useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tcolors,\r\n\tIconButton,\r\n\tTooltip,\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tDivider\r\n} from '@mui/material';\r\n\r\nimport CreateIcon from '@mui/icons-material/Create';\r\nimport EmailIcon from '@mui/icons-material/Email';\r\nimport ExitToAppIcon from '@mui/icons-material/ExitToApp';\r\nimport DeleteIcon from '@mui/icons-material/Delete';\r\nimport ActionsButton from './components/ActionsButton/ActionsButton.js';\r\nimport DataTable from '../../../../../../../../components/DataTable/DataTable.js';\r\nimport { DeleteProject } from '../../../../../../actions/OperatorsActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 10,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 700,\r\n\t},\r\n\tnameCell: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tavatar: {\r\n\t\theight: 42,\r\n\t\twidth: 42,\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tactions: {\r\n\t\tpadding: theme.spacing(1),\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tprimaryButton: {\r\n\t\tcolor: theme.palette.primary.main\r\n\t},\r\n\terrorButton: {\r\n\t\tcolor: theme.palette.error.main\r\n\t}\r\n}));\r\n\r\nconst ProjectsDataTable = (props) => {\r\n\tconst { className, data, operatorId, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst classes = useStyles();\r\n\r\n\tconst _deleteProject = (projectId) => {\r\n\t\tdispatch(DeleteProject(projectId, operatorId));\r\n\t};\r\n\r\n\tconst _renderActions = (tableMeta) => {\r\n\t\tconst { rowData } = tableMeta;\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t _deleteProject(rowData[0])}>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'id',\r\n\t\t\t\tlabel: 'Id',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'name',\r\n\t\t\t\tlabel: 'Name',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'users',\r\n\t\t\t\tlabel: 'Users',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'action',\r\n\t\t\t\tlabel: 'Actions',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tsort: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => _renderActions(tableMeta)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t]\r\n\t);\r\n\r\n\tconst _getTableOptions = () => ({\r\n\t\tfilterType: 'dropdown',\r\n\t\tselectableRows: false,\r\n\t\texpandableRows: false, // Try Adding This\r\n\t});\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\t\ttitle=\"All projects\"\r\n\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nProjectsDataTable.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n\toperatorId: PropTypes.string\r\n};\r\n\r\nexport default ProjectsDataTable;\r\n","/* eslint-disable no-unused-vars */\r\nimport React, { useState, useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport validate from 'validate.js';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, TextField, Typography, Grid, Select } from '@mui/material';\r\nimport useRouter from 'utils/useRouter';\r\nimport { SetFormState } from '../../../../../../../../actions/OperatorsActions';\r\n\r\nconst schema = {\r\n\tname: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tfields: {\r\n\t\tmargin: theme.spacing(-1),\r\n\t\tdisplay: 'flex',\r\n\t\tflexWrap: 'wrap',\r\n\t\t'& > *': {\r\n\t\t\tflexGrow: 1,\r\n\t\t\tmargin: theme.spacing(1),\r\n\t\t},\r\n\t},\r\n\tsubmitButton: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\twidth: '100%',\r\n\t},\r\n}));\r\n\r\nconst AddProjectForm = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst router = useRouter();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.operatorsReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n\t);\r\n};\r\n\r\nAddProjectForm.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default AddProjectForm;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tcolors,\r\n} from '@mui/material';\r\n\r\nimport ModalDialog from '../../../../../../../../components/ModalDialog/ModalDialog.js';\r\nimport AddProjectForm from './components/AddProjectForm/AddProjectForm.js';\r\nimport { CreateProject } from '../../../../../../actions/OperatorsActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\twidth: 960,\r\n\t},\r\n\theader: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\tmaxWidth: 720,\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: theme.spacing(0, 2),\r\n\t\tmaxWidth: 720,\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\thelperText: {\r\n\t\ttextAlign: 'right',\r\n\t\tmarginRight: 0,\r\n\t},\r\n\tauthor: {\r\n\t\tmargin: theme.spacing(4, 0),\r\n\t\tdisplay: 'flex',\r\n\t},\r\n\tavatar: {\r\n\t\tmarginRight: theme.spacing(2),\r\n\t},\r\n\tactions: {\r\n\t\tbackgroundColor: colors.grey[100],\r\n\t\tpadding: theme.spacing(2),\r\n\t\tdisplay: 'flex',\r\n\t\talignContent: 'right',\r\n\t},\r\n\tapplyButton: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst AddProjectDialog = (props) => {\r\n\tconst { operatorId, open, onClose, onApply, className, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst formState = useSelector((state) => state.operatorsReducer.formState);\r\n\tconst title = 'Add project';\r\n\tconst _onConfirmClick = () => {\r\n\t\tif (formState.isValid) {\r\n\t\t\tdispatch(CreateProject({ name: formState.values.name, operatorId }));\r\n\t\t}\r\n\t};\r\n\r\n\tconst getData = useCallback(() => {\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nAddProjectDialog.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tonApply: PropTypes.func,\r\n\tonClose: PropTypes.func,\r\n\topen: PropTypes.bool.isRequired,\r\n\toperatorId: PropTypes.number.isRequired\r\n};\r\n\r\nexport default AddProjectDialog;\r\n","import React from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Grid } from '@mui/material';\r\n\r\nimport ProjectsDataTable from './components/ProjectsDataTable/ProjectsDataTable';\r\n\r\nimport AddProjectDialog from './components/AddProjectDialog/AddProjectDialog';\r\n\r\nimport { ToggleAddProjectDialog } from '../../../../actions/OperatorsActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tdeliverables: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tmembers: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst Projects = (props) => {\r\n\tconst { operator, className, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst openAddProjectDialog = useSelector((state) => state.operatorsReducer.openAddProjectDialog);\r\n\r\n\tconst _addProjectClose = () => {\r\n\t\tdispatch(ToggleAddProjectDialog(false));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{openAddProjectDialog && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nProjects.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\toperator: PropTypes.object\r\n};\r\n\r\nexport default Projects;\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\n\r\nimport DataTable from '../../../../../../../../components/DataTable/DataTable.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 700,\r\n\t},\r\n\tnameCell: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tavatar: {\r\n\t\theight: 42,\r\n\t\twidth: 42,\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tactions: {\r\n\t\tpadding: theme.spacing(1),\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tprimaryButton: {\r\n\t\tcolor: theme.palette.primary.main\r\n\t},\r\n\terrorButton: {\r\n\t\tcolor: theme.palette.error.main\r\n\t}\r\n}));\r\n\r\nconst UsersDataTable = (props) => {\r\n\tconst { className, data, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'id',\r\n\t\t\t\tlabel: 'Id',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'name',\r\n\t\t\t\tlabel: 'Name',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t]\r\n\t);\r\n\r\n\tconst _getTableOptions = () => ({\r\n\t\tfilterType: 'dropdown',\r\n\t\tselectableRows: false,\r\n\t\texpandableRows: false, // Try Adding This\r\n\t});\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nUsersDataTable.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default UsersDataTable;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Grid } from '@mui/material';\r\n\r\nimport UsersDataTable from './components/UsersDataTable/UsersDataTable';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tdeliverables: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tmembers: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst Users = (props) => {\r\n\tconst { users, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nUsers.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tusers: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default Users;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Tabs, Tab, Divider, colors } from '@mui/material';\r\n\r\nimport axios from 'utils/axios';\r\nimport { Page, Header } from 'components';\r\nimport { Overview, Projects, Users } from './components';\r\nimport { GetOperator } from '../../actions/OperatorsActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmaxWidth: '100%',\r\n\t\tmargin: '0 auto',\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tdivider: {\r\n\t\tbackgroundColor: colors.grey[300],\r\n\t},\r\n\talert: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst OperatorDetails = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst [tab, setTab] = useState('overview');\r\n\r\n\tconst operatorId = useSelector((state) => state.operatorsReducer.detailsOperatorId);\r\n\tconst operator = useSelector((state) => state.operatorsReducer.operator);\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchoperator = () => {\r\n\t\t\tdispatch(GetOperator(operatorId));\r\n\t\t};\r\n\r\n\t\tfetchoperator();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, [operatorId]);\r\n\r\n\tconst handleTabsChange = (event, value) => {\r\n\t\tsetTab(value);\r\n\t};\r\n\r\n\tconst tabs = [\r\n\t\t{ value: 'overview', label: 'Overview' },\r\n\t\t{ value: 'projects', label: 'Projects' },\r\n\t\t{ value: 'users', label: 'Users' },\r\n\t];\r\n\r\n\tif (!tab) {\r\n\t\treturn ;\r\n\t}\r\n\r\n\tif (!tabs.find((t) => t.value === tab)) {\r\n\t\treturn ;\r\n\t}\r\n\r\n\tif (!operatorId) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t{tabs.map((item) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t{tab === 'overview' && }\r\n\t\t\t\t{tab === 'projects' && }\r\n\t\t\t\t{tab === 'users' && }\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default OperatorDetails;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport validate from 'validate.js';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tCard,\r\n\tCardActions,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tGrid,\r\n\tDivider,\r\n\tSwitch,\r\n\tTextField,\r\n\tTypography,\r\n\tcolors,\r\n} from '@mui/material';\r\n\r\nimport SelectField from '../../../../../../../../components/SelectField/SelectField.js';\r\n\r\nimport { SetFormState, UpdateSettings } from '../../../../../../actions/SettingsActions';\r\n\r\nconst schema = {\r\n\tfirstname: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tlastname: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\toperatorId: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tsaveButton: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst GeneralForm = (props) => {\r\n\tconst { className, role, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst operators = useSelector((state) => state.settingsReducer.operators);\r\n\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.settingsReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tdispatch(SetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t}));\r\n\t}, [formState.values]);\r\n\r\n\tconst handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _onConfirmClick = () => {\r\n\t\tif (formState.isValid) {\r\n\t\t\tdispatch(UpdateSettings(formState.values));\r\n\t\t}\r\n\t};\r\n\r\n\tconst hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tSave Changes\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nGeneralForm.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\trole: PropTypes.string\r\n};\r\n\r\nexport default GeneralForm;\r\n","import React, { useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Grid } from '@mui/material';\r\n\r\nimport { GeneralForm } from './components';\r\nimport { SetFormState, GetOperators } from '../../../../actions/SettingsActions';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n\troot: {},\r\n}));\r\n\r\nconst General = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst formState = useSelector((state) => state.settingsReducer.formState);\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tdispatch(SetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: { ...user }\r\n\t\t}));\r\n\r\n\t\tif (user && user.id) {\r\n\t\t\tdispatch(GetOperators(user.id));\r\n\t\t}\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\tif (!user) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nGeneral.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default General;\r\n","import React, { Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tCardActions,\r\n\tGrid,\r\n\tFormControlLabel,\r\n\tCheckbox,\r\n\tTypography,\r\n\tButton,\r\n\tDivider,\r\n\tcolors,\r\n} from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\titem: {\r\n\t\tdisplay: 'flex',\r\n\t\tflexDirection: 'column',\r\n\t},\r\n\tsaveButton: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Notifications = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tSystem\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tYou will recieve emails in your business email\r\n\t\t\t\t\t\t\t\taddress\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\tlabel=\"Email alerts\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tlabel=\"Push Notifications\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\tlabel=\"Text message\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\tlabel={(\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tPhone calls\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tShort voice phone updating you\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tChat App\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tYou will recieve emails in your business email\r\n\t\t\t\t\t\t\t\taddress\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\tlabel=\"Email\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\tlabel=\"Push notifications\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nNotifications.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default Notifications;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport validate from 'validate.js';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tCardActions,\r\n\tGrid,\r\n\tButton,\r\n\tDivider,\r\n\tTextField,\r\n\tcolors,\r\n} from '@mui/material';\r\n\r\nimport { SetFormState, ChangePassword } from '../../../../actions/SettingsActions';\r\n\r\nconst schema = {\r\n\toldpassword: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tnewpassword: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tconfirmnewpassword: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t\tequality: 'newpassword',\r\n\t}\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tsaveButton: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Security = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.settingsReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tdispatch(SetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t}));\r\n\t}, [formState.values]);\r\n\r\n\tconst handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _onConfirmClick = () => {\r\n\t\tif (formState.isValid) {\r\n\t\t\tdispatch(ChangePassword(formState.values));\r\n\t\t}\r\n\t};\r\n\r\n\tconst hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tSave changes\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nSecurity.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default Security;\r\n","import React, { useState } from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Tabs, Tab, Divider, colors } from '@mui/material';\r\n\r\nimport { Page, Header } from 'components';\r\nimport {\r\n\tGeneral,\r\n\tSubscription,\r\n\tNotifications,\r\n\tSecurity,\r\n} from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmaxWidth: '100%',\r\n\t\tmargin: '0 auto',\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tdivider: {\r\n\t\tbackgroundColor: colors.grey[300],\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst Settings = (props) => {\r\n\tconst classes = useStyles();\r\n\tconst [tab, setTab] = useState('general');\r\n\r\n\tconst handleTabsChange = (event, value) => {\r\n\t\tsetTab(value);\r\n\t};\r\n\r\n\tconst tabs = [\r\n\t\t{ value: 'general', label: 'General' },\r\n\t\t// { value: 'subscription', label: 'Subscription' },\r\n\t\t// { value: 'notifications', label: 'Notifications' },\r\n\t\t{ value: 'security', label: 'Security' },\r\n\t];\r\n\r\n\tif (!tab) {\r\n\t\treturn ;\r\n\t}\r\n\r\n\tif (!tabs.find((t) => t.value === tab)) {\r\n\t\treturn ;\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t{tabs.map((item) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t{tab === 'general' && }\r\n\t\t\t\t{/* {tab === 'subscription' && }\r\n\t\t\t\t{tab === 'notifications' && } */}\r\n\t\t\t\t{tab === 'security' && }\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n\r\nSettings.propTypes = {\r\n};\r\n\r\nexport default Settings;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tButton,\r\n\tCard,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tDivider,\r\n\tLink,\r\n\tTypography,\r\n} from '@mui/material';\r\n\r\nimport axios from 'utils/axios';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\taction: {\r\n\t\tmarginRight: 0,\r\n\t\tmarginTop: 0,\r\n\t},\r\n\toverview: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tflexWrap: 'wrap',\r\n\t\tjustifyContent: 'space-between',\r\n\t\t[theme.breakpoints.down('lg')]: {\r\n\t\t\tflexDirection: 'column-reverse',\r\n\t\t\talignItems: 'flex-start',\r\n\t\t},\r\n\t},\r\n\tproduct: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tproductImage: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t\theight: 48,\r\n\t\twidth: 48,\r\n\t},\r\n\tdetails: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t\tflexWrap: 'wrap',\r\n\t\tjustifyContent: 'space-between',\r\n\t\t[theme.breakpoints.down('lg')]: {\r\n\t\t\tflexDirection: 'column',\r\n\t\t\talignItems: 'flex-start',\r\n\t\t},\r\n\t},\r\n\tnotice: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t},\r\n}));\r\n\r\nconst Subscription = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst [subscription, setSubscription] = useState(null);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet mounted = true;\r\n\r\n\t\tconst fetchSubscription = () => {\r\n\t\t\taxios.get('/api/account/subscription').then((response) => {\r\n\t\t\t\tif (mounted) {\r\n\t\t\t\t\tsetSubscription(response.data.subscription);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tfetchSubscription();\r\n\r\n\t\treturn () => {\r\n\t\t\tmounted = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\tif (!subscription) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\t\tUpgrade plan\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\tclasses={{ action: classes.action }}\r\n\t\t\t\ttitle=\"Manage your subscription\"\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{subscription.currency}\r\n\t\t\t\t\t\t\t\t{subscription.price}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t/mo\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{subscription.name}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{subscription.proposalsLeft}\r\n\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\tproposals left\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{subscription.templatesLeft}\r\n\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\ttemplates\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{subscription.invitesLeft}\r\n\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\tinvites left\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{subscription.adsLeft}\r\n\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\tads left\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{subscription.hasAnalytics && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tAnalytics dashboard\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{subscription.hasEmailAlerts && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tEmail alerts\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tThe refunds don't work once you have the subscription, but\r\n\t\t\t\t\tyou can always\r\n\t\t\t\t\t{' '}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tCancel your subscription\r\n\t\t\t\t\t\r\n\t\t\t\t\t.\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nSubscription.propTypes = {\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default Subscription;\r\n","import React, { Fragment, useRef, useState, memo } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport {\r\n\tListItemIcon,\r\n\tListItemText,\r\n\tTooltip,\r\n\tIconButton,\r\n\tMenu,\r\n\tMenuItem,\r\n} from '@mui/material';\r\nimport MoreIcon from '@mui/icons-material/MoreVert';\r\nimport FullscreenIcon from '@mui/icons-material/Fullscreen';\r\nimport FileCopyIcon from '@mui/icons-material/FileCopy';\r\nimport PrintIcon from '@mui/icons-material/Print';\r\nimport PictureAsPdfIcon from '@mui/icons-material/PictureAsPdf';\r\nimport AchiveIcon from '@mui/icons-material/ArchiveOutlined';\r\n\r\nconst useStyles = makeStyles(() => ({}));\r\n\r\nconst OptionsButton = (props) => {\r\n\tconst { exportPdf, fullScreen } = props;\r\n\tconst classes = useStyles();\r\n\tconst moreRef = useRef(null);\r\n\tconst [openMenu, setOpenMenu] = useState(false);\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst handleMenuOpen = () => {\r\n\t\tsetOpenMenu(true);\r\n\t};\r\n\r\n\tconst handleMenuClose = () => {\r\n\t\tsetOpenMenu(false);\r\n\t};\r\n\r\n\tconst _exportPdf = () => {\r\n\t\tsetOpenMenu(false);\r\n\t\texportPdf();\r\n\t};\r\n\r\n\tconst _fullScreen = () => {\r\n\t\tsetOpenMenu(false);\r\n\t\tfullScreen();\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{exportPdf && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nOptionsButton.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\texportPdf: PropTypes.func,\r\n\tfullScreen: PropTypes.func\r\n};\r\n\r\nexport default memo(OptionsButton);\r\n","import React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Tabs, Tab, Divider, colors } from '@mui/material';\r\nimport { FullScreen, useFullScreenHandle } from 'react-full-screen';\r\nimport { Header, Page, PowerBIDashboard } from 'components';\r\nimport TableauDashboard, { ShowExportPDFDialog } from '../../../../components/TableauDashboard/TableauDashboard.js';\r\nimport OptionsButton from './components/OptionsButton/OptionsButton.js';\r\nimport * as actions from '../../actions/DashboardInspectActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmaxWidth: '100%',\r\n\t\tmargin: '0 auto',\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tdivider: {\r\n\t\tbackgroundColor: colors.grey[300],\r\n\t},\r\n\talert: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst DashboardInspect = (props) => {\r\n\tconst { match } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst handle = useFullScreenHandle();\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst dashboard = useSelector(state => state.dashboardInspectReducer.dashboard);\r\n\r\n\tconst _getDashboard = () => {\r\n\t\tdispatch(actions.DashboardInspect(match.params.id, user.id));\r\n\t};\r\n\r\n\tconst _exportPdf = () => {\r\n\t\tShowExportPDFDialog();\r\n\t};\r\n\r\n\tconst _fullScreen = () => {\r\n\t\thandle.enter();\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\t_getDashboard();\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{dashboard.type === 'Tableau' ?
} /> : null}\r\n\t\t\t{dashboard.type === 'PowerBI' ?
} /> : null}\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{dashboard.type === 'Tableau' ? : null}\r\n\t\t\t\t\t{dashboard.type === 'PowerBI' ? : null}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n\r\nDashboardInspect.propTypes = {\r\n\tmatch: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default DashboardInspect;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const ProcessFilesRequest = (fileLocation) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}ReportKpis/ProcessFiles`,\r\n\tparams: { fileLocation }\r\n});\r\n\r\nexport const GetSiteStringRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}ReportKpis/GetSiteString`,\r\n\tparams: { }\r\n});\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, CardContent, Button, colors, CardHeader, Divider } from '@mui/material';\r\n\r\nimport { GetSiteString } from '../../../actions/UploadsActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst SiteString = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst _generate = () => {\r\n\t\tdispatch(GetSiteString());\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default SiteString;\r\n","import { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\n\r\nimport {\r\n\tProcessFilesRequest,\r\n\tGetSiteStringRequest\r\n} from '../requests/UploadsRequests.js';\r\n\r\nexport const ProcessFile = (fileLocation) => async (dispatch) => {\r\n\tawait ProcessFilesRequest(fileLocation).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'Files uploaded with success!', options: { variant: 'success' } }));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const Upload = (file) => async (dispatch) => {\r\n\tawait UploadFile(file).then(response => {\r\n\t\tdispatch(ProcessFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetSiteString = () => async (dispatch) => {\r\n\tawait GetSiteStringRequest().then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import React from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, CardContent } from '@mui/material';\r\nimport { Page, FilesDropzone, Header } from 'components';\r\nimport { enqueueSnackbar } from 'actions';\r\n\r\nimport { Upload } from '../../actions/UploadsActions.js';\r\nimport { SiteString } from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst Uploads = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst _upload = (file) => {\r\n\t\tif (file[0].size > 200000000) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'File size cannot be superior to 200MB', options: { variant: 'warning' } }));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tdispatch(Upload(file[0]));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Uploads;\r\n","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport _ from 'underscore';\r\nimport uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tList,\r\n\tListItem,\r\n\tListItemIcon,\r\n\tListItemText,\r\n\tTypography,\r\n\tTooltip,\r\n\tDivider,\r\n\tCardActions,\r\n\tcolors,\r\n\tGrid,\r\n\tButton,\r\n} from '@mui/material';\r\nimport WarningRoundedIcon from '@mui/icons-material/WarningRounded';\r\nimport DatePicker from 'components/DatePicker/DatePicker.js';\r\nimport { SelectField, Checkbox } from 'components';\r\n\r\nimport { GenerateReport, SetSelectedSites } from '../../../actions/ReportsActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tvalue: {\r\n\t\tfontWeight: theme.typography.fontWeightMedium,\r\n\t\talign: 'center'\r\n\t},\r\n\ttype: {\r\n\t\tfontWeight: theme.typography.fontWeightMedium,\r\n\t},\r\n\twarning: {\r\n\t\tcolor: colors.orange[500]\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst reportTypes = [\r\n\t{ value: 'hourly24', text: '24 Hours' },\r\n\t{ value: 'hourly48', text: '48 Hours' },\r\n\t{ value: 'daily7', text: '7 Days' },\r\n\t{ value: 'daily7ac', text: '7 Days AC' },\r\n];\r\n\r\nconst SiteList = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst classes = useStyles();\r\n\tconst siteList = useSelector((state) => state.reportsReducer.selectedSites);\r\n\tconst user = useSelector((state) => state.session.user);\r\n\r\n\tconst _generate = () => {\r\n\t\tconst username = `${user.firstname} ${user.lastname}`;\r\n\t\tdispatch(GenerateReport(siteList, username, user.id));\r\n\t};\r\n\r\n\tconst _checkWarning = (site) => {\r\n\t\tif (site.scheduleStatus === 'Complete' && _.isUndefined(site.commissioningDate)) {\r\n\t\t\treturn ;\r\n\t\t}\r\n\t\tif (site.scheduleStatus !== 'Complete' && moment(site.scheduleDate).format('YYYY-MM-DD') < moment().format('YYYY-MM-DD')) {\r\n\t\t\treturn ;\r\n\t\t}\r\n\t\tif (site.scheduleDate\r\n\t\t\t&& site.commissioningDate\r\n\t\t\t&& moment(site.scheduleDate).format('YYYY-MM-DD') !== moment(site.commissioningDate).format('YYYY-MM-DD')) {\r\n\t\t\treturn ;\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t};\r\n\r\n\tconst _dateChange = (value, site, type) => {\r\n\t\tconst newSite = _.findWhere(siteList, { siteId: site.siteId, sow: site.sow });\r\n\t\tnewSite[type] = value.format('YYYY-MM-DD');\r\n\t\t// Find item index using _.findIndex (thanks @AJ Richardson for comment)\r\n\t\tconst index = _.findIndex(siteList, { siteId: site.siteId, sow: site.sow });\r\n\r\n\t\t// Replace item at index using native splice\r\n\t\tconst newSiteList = [...siteList];\r\n\t\tnewSiteList.splice(index, 1, newSite);\r\n\t\tdispatch(SetSelectedSites(newSiteList));\r\n\t};\r\n\r\n\tconst _checkboxChange = (value, site, type) => {\r\n\t\tconst newSite = _.findWhere(siteList, { siteId: site.siteId, sow: site.sow });\r\n\t\tnewSite[type] = value;\r\n\t\t// Find item index using _.findIndex (thanks @AJ Richardson for comment)\r\n\t\tconst index = _.findIndex(siteList, { siteId: site.siteId, sow: site.sow });\r\n\r\n\t\t// Replace item at index using native splice\r\n\t\tconst newSiteList = [...siteList];\r\n\t\tnewSiteList.splice(index, 1, newSite);\r\n\t\tdispatch(SetSelectedSites(newSiteList));\r\n\t};\r\n\r\n\tconst _handleChange = (event, site) => {\r\n\t\tconst newSite = _.findWhere(siteList, { siteId: site.siteId, sow: site.sow });\r\n\t\tnewSite.reportType = event.target.value;\r\n\t\tif (event.target.value !== 'hourly24') {\r\n\t\t\tnewSite.bis = false;\r\n\t\t}\r\n\t\t// Find item index using _.findIndex (thanks @AJ Richardson for comment)\r\n\t\tconst index = _.findIndex(siteList, { siteId: site.siteId, sow: site.sow });\r\n\r\n\t\t// Replace item at index using native splice\r\n\t\tconst newSiteList = [...siteList];\r\n\t\tnewSiteList.splice(index, 1, newSite);\r\n\t\tdispatch(SetSelectedSites(newSiteList));\r\n\t};\r\n\r\n\tconst _getDefaultReportType = (site) => {\r\n\t\tconst diff = moment().diff(moment(site.commissioningDate), 'hours');\r\n\t\tlet type = 'daily7';\r\n\t\tif (diff < 48) {\r\n\t\t\ttype = 'hourly24';\r\n\t\t}\r\n\t\tif (diff >= 48 && diff < 168) {\r\n\t\t\ttype = 'hourly48';\r\n\t\t}\r\n\r\n\t\tconst newSite = _.findWhere(siteList, { siteId: site.siteId, sow: site.sow });\r\n\t\tnewSite.reportType = type;\r\n\t\t// Find item index using _.findIndex (thanks @AJ Richardson for comment)\r\n\t\tconst index = _.findIndex(siteList, { siteId: site.siteId, sow: site.sow });\r\n\r\n\t\t// Replace item at index using native splice\r\n\t\tconst newSiteList = [...siteList];\r\n\t\tnewSiteList.splice(index, 1, newSite);\r\n\t\tdispatch(SetSelectedSites(newSiteList));\r\n\t\treturn type;\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{siteList.map((site, i) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{_checkWarning(site)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{site.siteId}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\tsecondary={(\r\n\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{site.siteName}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{site.scheduleStatus}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\tsecondary={(\r\n\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tSchedule Status\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{site.actionStatus}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\tsecondary={(\r\n\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tAction Status\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{site.sow}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\tsecondary={(\r\n\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tSOW\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t _dateChange(value, site, 'scheduleDate')}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t _dateChange(value, site, 'commissioningDate')}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t _handleChange(value, site)}\r\n\t\t\t\t\t\t\t\t\thintText=\"Report Type\"\r\n\t\t\t\t\t\t\t\t\tmenuItems={reportTypes}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t _checkboxChange(event.target.checked, site, 'bis')}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t _checkboxChange(event.target.checked, site, 'disableDDay')}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nSiteList.propTypes = {\r\n\tclassName: PropTypes.string\r\n};\r\n\r\nexport default SiteList;\r\n","import React, { useRef, useState, memo } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tListItemIcon,\r\n\tListItemText,\r\n\tTooltip,\r\n\tIconButton,\r\n\tMenu,\r\n\tMenuItem,\r\n} from '@mui/material';\r\nimport { MoreVert, Sync } from '@mui/icons-material';\r\n\r\nconst useStyles = makeStyles(() => ({}));\r\n\r\nconst ActionsButton = (props) => {\r\n\tconst { syncTracker } = props;\r\n\tconst classes = useStyles();\r\n\tconst moreRef = useRef(null);\r\n\tconst [openMenu, setOpenMenu] = useState(false);\r\n\r\n\tconst handleMenuOpen = () => {\r\n\t\tsetOpenMenu(true);\r\n\t};\r\n\r\n\tconst handleMenuClose = () => {\r\n\t\tsetOpenMenu(false);\r\n\t};\r\n\r\n\tconst _syncTracker = () => {\r\n\t\tsetOpenMenu(false);\r\n\t\tsyncTracker();\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nActionsButton.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tsyncTracker: PropTypes.func,\r\n};\r\n\r\nexport default memo(ActionsButton);\r\n","import React from 'react';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport { useDispatch } from 'react-redux';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Avatar, Card, Typography, Link } from '@mui/material';\r\nimport DownloadIcon from '@mui/icons-material/Download';\r\n\r\nimport gradients from 'utils/gradients';\r\n\r\nimport { DownloadFile } from 'actions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tcard: {\r\n\t\tcursor: 'pointer',\r\n\t\tmarginLeft: theme.spacing(2),\r\n\t\tflexGrow: 1,\r\n\t\tdisplay: 'flex',\r\n\t\tpadding: theme.spacing(2),\r\n\t\talignItems: 'center',\r\n\t},\r\n\tdate: {\r\n\t\tmarginLeft: 'auto',\r\n\t\tflexShrink: 0,\r\n\t},\r\n\tavatarBlue: {\r\n\t\tbackgroundImage: gradients.blue,\r\n\t},\r\n\tavatarGreen: {\r\n\t\tbackgroundImage: gradients.green,\r\n\t},\r\n\tavatarOrange: {\r\n\t\tbackgroundImage: gradients.orange,\r\n\t},\r\n\tavatarRed: {\r\n\t\tbackgroundImage: gradients.red,\r\n\t},\r\n}));\r\n\r\nconst DownloadListItem = (props) => {\r\n\tconst { file, className, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst avatars = {\r\n\t\tfinished: (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t),\r\n\t\trunning: (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t),\r\n\t};\r\n\r\n\tconst _downloadFile = (subPath) => {\r\n\t\tdispatch(DownloadFile(subPath));\r\n\t};\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{avatars[file.status === 'Finished' || file.status === 'Finished!' || file.status === 'Finish' ? 'finished' : 'running']}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t _downloadFile(file.subPath) : null}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{file.filename}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{' '}\r\n\t\t\t\t\t{file.key}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{file.status}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{moment(file.addedDate).format('DD-MM-YYYY HH:mm:SS').toString()}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nDownloadListItem.propTypes = {\r\n\tfile: PropTypes.object.isRequired,\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default DownloadListItem;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography } from '@mui/material';\r\n\r\nimport { DownloadListItem } from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\ttitle: {\r\n\t\tmarginBottom: theme.spacing(3),\r\n\t\tmarginTop: theme.spacing(4),\r\n\t},\r\n\tgroup: {\r\n\t\t'& + &': {\r\n\t\t\tmarginTop: theme.spacing(4),\r\n\t\t},\r\n\t},\r\n\tfile: {\r\n\t\tposition: 'relative',\r\n\t\t'& + &': {\r\n\t\t\tmarginTop: theme.spacing(3),\r\n\t\t\t'&:before': {\r\n\t\t\t\tposition: 'absolute',\r\n\t\t\t\tcontent: '\" \"',\r\n\t\t\t\theight: 20,\r\n\t\t\t\twidth: 1,\r\n\t\t\t\ttop: -20,\r\n\t\t\t\tleft: 20,\r\n\t\t\t\tbackgroundColor: theme.palette.divider,\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst DownloadList = (props) => {\r\n\tconst { files, className, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst todayItems = files.filter(item => moment(item.addedDate).isSame(moment(), 'day'));\r\n\tconst yesterdayItems = files.filter(item => moment(item.addedDate).isSame(moment().subtract(1, 'day'), 'day'));\r\n\tconst olderItems = files.filter(item => moment(item.addedDate).isBefore(moment().subtract(1, 'day'), 'day'));\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{todayItems.length > 0 && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tToday\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{todayItems.map((file) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{yesterdayItems.length > 0 && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tYesterday\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{yesterdayItems.map((file) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{olderItems.length > 0 && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tOlder\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{olderItems.map((file) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nDownloadList.propTypes = {\r\n\tfiles: PropTypes.array.isRequired,\r\n\tclassName: PropTypes.string,\r\n};\r\n\r\nexport default DownloadList;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport _ from 'underscore';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tcolors,\r\n} from '@mui/material';\r\nimport { FetchDownloads } from 'actions';\r\nimport DownloadList from '../../../../Downloads/components/DownloadList';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmarginTop: theme.spacing(4),\r\n\t\tpadding: theme.spacing(2),\r\n\t},\r\n}));\r\n\r\nconst reportTypes = [\r\n\t{ value: 'hourly24', text: '24 Hours' },\r\n\t{ value: 'hourly48', text: '48 Hours' },\r\n\t{ value: 'daily7', text: '7 Days' },\r\n];\r\n\r\nconst SiteList = (props) => {\r\n\tconst { className, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst classes = useStyles();\r\n\tconst user = useSelector((state) => state.session.user);\r\n\tconst files = useSelector(state => state.session.downloads);\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatch(FetchDownloads(user.id, 'reportKpis'));\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nSiteList.propTypes = {\r\n\tclassName: PropTypes.string\r\n};\r\n\r\nexport default SiteList;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport uuid from 'uuid/v1';\r\nimport { Card, CardHeader, CardContent, CardActions, Divider, Button, Grid, TextField, Checkbox, Autocomplete, createFilterOptions } from '@mui/material';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { Page, Header, Alert } from 'components';\r\nimport CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank';\r\nimport CheckBoxIcon from '@mui/icons-material/CheckBox';\r\nimport { SiteList, ActionsButton, Downloads } from './components';\r\nimport { GetSites, SetSelectedSites, SyncTracker, GetTrackerLastUpdate } from '../../actions/ReportsActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tsitelist: {\r\n\t\tmarginTop: theme.spacing(6),\r\n\t},\r\n}));\r\n\r\nconst Reports = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst sites = useSelector((state) => state.reportsReducer.sites);\r\n\tconst selectedSites = useSelector((state) => state.reportsReducer.selectedSites);\r\n\tconst lastUpdate = useSelector((state) => state.reportsReducer.lastUpdate);\r\n\r\n\tconst _handleChange = (option) => {\r\n\t\tdispatch(SetSelectedSites(option));\r\n\t};\r\n\r\n\tconst getData = useCallback(() => {\r\n\t\tdispatch(GetSites());\r\n\t\tdispatch(GetTrackerLastUpdate());\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tgetData();\r\n\t}, []);\r\n\r\n\tconst _syncTracker = () => {\r\n\t\tdispatch(SyncTracker());\r\n\t};\r\n\r\n\tconst filterOptions = createFilterOptions({\r\n\t\tlimit: 20\r\n\t});\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t/>\r\n\t\t\t { }}\r\n\t\t\t\tmessage={_.isUndefined(lastUpdate) ? 'Tracker last update date unavailable!' : `Tracker last update ${moment(lastUpdate).format('DD-MM-YYYY HH:mm:SS').toString()}`}\r\n\t\t\t/>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t `${option.siteId} [${option.sow}]`}\r\n\t\t\t\t\t\t\t\trenderInput={(params) => }\r\n\t\t\t\t\t\t\t\tonChange={(event, value) => { _handleChange(value); }}\r\n\t\t\t\t\t\t\t\trenderTags={(value, getTagProps) => value.slice(0, 2).map((option, index) => `${option.siteId} [${option.sow}]`).join(', ')}\r\n\t\t\t\t\t\t\t\trenderOption={(props, option, { selected }) => (\r\n\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tcheckedIcon={}\r\n\t\t\t\t\t\t\t\t\t\t\tstyle={{ marginRight: 4 }}\r\n\t\t\t\t\t\t\t\t\t\t\tchecked={!!(selected || _.findWhere(selectedSites, option) !== undefined)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t{`${option.siteId} [${option.sow}]`}\r\n\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\tmultiple\r\n\t\t\t\t\t\t\t\tfilterOptions={filterOptions}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t{selectedSites.length > 0 ? : null}\r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default Reports;\r\n","import React, { useRef, useEffect, useCallback } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, colors } from '@mui/material';\r\nimport { Page, Header, SelectField, FilePicker } from 'components';\r\nimport validate from 'validate.js';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\nimport Checkbox from '@mui/material/Checkbox';\r\nimport TextField from '@mui/material/TextField';\r\nimport Autocomplete from '@mui/material/Autocomplete';\r\nimport CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank';\r\nimport CheckBoxIcon from '@mui/icons-material/CheckBox';\r\nimport { SetFormState, GenerateTemplate } from '../../../actions/TechAddActions.js';\r\n\r\nconst icon = ;\r\nconst checkedIcon = ;\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tselectedFile: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tselectedTemplates: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n};\r\n\r\nconst TechAddForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.techAddReducer.formState.techAdd);\r\n\tconst templates = useSelector((state) => state.techAddReducer.templates);\r\n\tconst user = useSelector((state) => state.session.user);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\t\tsetFormState({\r\n\t\t\ttechAdd: {\r\n\t\t\t\t...formState,\r\n\t\t\t\tisValid: !errors,\r\n\t\t\t\terrors: errors || {},\r\n\t\t\t}\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event, value) => {\r\n\t\tsetFormState({\r\n\t\t\ttechAdd: {\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...formState.values,\r\n\t\t\t\t\t[event.target.name]:\r\n\t\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t\t: event.target.value,\r\n\t\t\t\t\tselectedTemplates: value.map(u => u.value).join('+')\r\n\t\t\t\t},\r\n\t\t\t\ttouched: {\r\n\t\t\t\t\t...formState.touched,\r\n\t\t\t\t\t[event.target.name]: true,\r\n\t\t\t\t},\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\t// const hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\r\n\tconst _onChangeInput = (event) => {\r\n\t\tif (event.target.files && event.target.files.length > 0) {\r\n\t\t\tconst file = event.target.files[0];\r\n\t\t\tsetFormState({\r\n\t\t\t\ttechAdd: {\r\n\t\t\t\t\t...formState,\r\n\t\t\t\t\tvalues: {\r\n\t\t\t\t\t\t...formState.values,\r\n\t\t\t\t\t\tselectedFile: file,\r\n\t\t\t\t\t},\r\n\t\t\t\t\ttouched: {\r\n\t\t\t\t\t\t...formState.touched,\r\n\t\t\t\t\t\tselectedFile: true,\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tconst _generate = () => {\r\n\t\tif (formState.values.selectedFile.size > 100000000) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'File size cannot be superior to 100MB', options: { variant: 'warning' } }));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tdispatch(GenerateTemplate(formState.values.selectedFile, user.id, formState.values.selectedTemplates));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t (option.value.slice(0, 3) === 'L8_' ? option.value.slice(0, 2) : option.value.slice(0, 3))}\r\n\t\t\t\t\t\t\tdisableCloseOnSelect\r\n\t\t\t\t\t\t\tonChange={_handleChange}\r\n\t\t\t\t\t\t\tgetOptionLabel={(option) => option.value}\r\n\t\t\t\t\t\t\trenderOption={(props, option, { selected }) => (\r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{option.value}\r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t// style={{ width: 750 }}\r\n\t\t\t\t\t\t\trenderInput={(params) => ()}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default TechAddForm;\r\n","import React, { useRef, useEffect, useCallback } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, colors } from '@mui/material';\r\nimport { Page, Header, SelectField, FilePicker } from 'components';\r\nimport validate from 'validate.js';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { SetFormState, GenerateCellInfo } from '../../../actions/TechAddActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tcellInfoInput: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n};\r\n\r\nconst CellInfoForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.techAddReducer.formState.cellInfo);\r\n\tconst user = useSelector((state) => state.session.user);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\tcellInfo: {\r\n\t\t\t\t...formState,\r\n\t\t\t\tisValid: !errors,\r\n\t\t\t\terrors: errors || {},\r\n\t\t\t}\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\r\n\tconst _onChangeInput = (event) => {\r\n\t\tif (event.target.files && event.target.files.length > 0) {\r\n\t\t\tconst file = event.target.files[0];\r\n\t\t\tsetFormState({\r\n\t\t\t\tcellInfo: {\r\n\t\t\t\t\t...formState,\r\n\t\t\t\t\tvalues: {\r\n\t\t\t\t\t\t...formState.values,\r\n\t\t\t\t\t\tcellInfoInput: file,\r\n\t\t\t\t\t},\r\n\t\t\t\t\ttouched: {\r\n\t\t\t\t\t\t...formState.touched,\r\n\t\t\t\t\t\tcellInfoInput: true,\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tconst _generate = () => {\r\n\t\tif (formState.values.cellInfoInput.size > 100000000) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'File size cannot be superior to 100MB', options: { variant: 'warning' } }));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tdispatch(GenerateCellInfo(formState.values.cellInfoInput, user.id, formState.values.template));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default CellInfoForm;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { colors } from '@mui/material';\r\nimport { Page, Header } from 'components';\r\n\r\nimport TechAddForm from './components/TechAddForm.js';\r\nimport CellInfoForm from './components/CellInfoForm.js';\r\nimport { GetTemplates } from '../../actions/TechAddActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst TechAdd = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst getData = useCallback(() => {\r\n\t\tdispatch(GetTemplates());\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tgetData();\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default TechAdd;\r\n","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport useRouter from 'utils/useRouter';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tcolors,\r\n\tIconButton,\r\n\tTooltip,\r\n} from '@mui/material';\r\n\r\nimport CreateIcon from '@mui/icons-material/Create';\r\nimport EmailIcon from '@mui/icons-material/Email';\r\nimport ExitToAppIcon from '@mui/icons-material/ExitToApp';\r\nimport DeleteIcon from '@mui/icons-material/Delete';\r\nimport { Label, DataTable } from 'components';\r\nimport { DeleteTicket } from '../../../../actions/TicketsActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 700,\r\n\t},\r\n\tnameCell: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tavatar: {\r\n\t\theight: 42,\r\n\t\twidth: 42,\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tactions: {\r\n\t\tpadding: theme.spacing(1),\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tprimaryButton: {\r\n\t\tcolor: theme.palette.primary.main\r\n\t},\r\n\terrorButton: {\r\n\t\tcolor: theme.palette.error.main\r\n\t}\r\n}));\r\n\r\nconst TicketsDataTable = (props) => {\r\n\tconst { className, data, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst classes = useStyles();\r\n\tconst { history } = useRouter();\r\n\tconst user = useSelector(state => state.session.user);\r\n\r\n\tconst _details = (ticketId) => {\r\n\t\thistory.push(`/tickets/details/${ticketId}`);\r\n\t};\r\n\r\n\tconst _delete = (ticketId) => {\r\n\t\tdispatch(DeleteTicket(ticketId));\r\n\t};\r\n\r\n\tconst _renderActions = (tableMeta) => {\r\n\t\tconst { rowData } = tableMeta;\r\n\t\tconst ticket = _.findWhere(data, { id: rowData[0] });\r\n\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t\r\n\t\t\t\t\t _details(rowData[0])}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t _delete(rowData[0])}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t);\r\n\t};\r\n\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'id',\r\n\t\t\t\tlabel: 'Id',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'subject',\r\n\t\t\t\tlabel: 'Subject',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'activityName',\r\n\t\t\t\tlabel: 'Activity',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'typeName',\r\n\t\t\t\tlabel: 'Type',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'targetExecutionDate',\r\n\t\t\t\tlabel: 'Target Execution Date',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => <>{moment(value).format('DD-MM-YYYY HH:mm:ss').toString()}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'teamName',\r\n\t\t\t\tlabel: 'Team',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'stageName',\r\n\t\t\t\tlabel: 'Stage',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'action',\r\n\t\t\t\tlabel: 'Actions',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tsort: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => _renderActions(tableMeta)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t]\r\n\t);\r\n\r\n\tconst _getTableOptions = () => ({\r\n\t\tfilter: false,\r\n\t\tselectableRows: false,\r\n\t\texpandableRows: false, // Try Adding This\r\n\t});\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nTicketsDataTable.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default TicketsDataTable;\r\n","import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { TextField } from '@mui/material';\r\nimport { DateTimePicker as MuiDateTimePicker } from '@mui/lab';\r\n\r\nconst DateTimePicker = (props) => {\r\n\tconst { value,\r\n\t\tonChange,\r\n\t\tlabel,\r\n\t\tminutesStep,\r\n\t\t...rest } = props;\r\n\r\n\tconst [open, setOpen] = useState(false);\r\n\r\n\treturn (\r\n\t\t setOpen(true)}\r\n\t\t\tonClose={() => setOpen(false)}\r\n\t\t\trenderInput={(p) => (\r\n\t\t\t\t setOpen(true)}\r\n\t\t\t\t\t{...rest}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t\tinputFormat=\"yyyy-MM-DD HH:mm\"\r\n\t\t\tvalue={value || null}\r\n\t\t\tonChange={onChange}\r\n\t\t\tampm={false}\r\n\t\t\tvariant=\"inline\"\r\n\t\t\tinputVariant=\"outlined\"\r\n\t\t\tlabel={label}\r\n\t\t\tminutesStep={minutesStep ?? 30}\r\n\t\t\t{...rest}\r\n\t\t/>\r\n\t);\r\n};\r\nDateTimePicker.propTypes = {\r\n\tvalue: PropTypes.any,\r\n\tonChange: PropTypes.func.isRequired,\r\n\tlabel: PropTypes.string,\r\n\tminutesStep: PropTypes.number\r\n};\r\n\r\nexport default DateTimePicker;\r\n","/* eslint-disable no-unused-vars */\r\nimport React, { useState, useEffect, useRef } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport validate from 'validate.js';\r\nimport _ from 'underscore';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { TextField, Grid } from '@mui/material';\r\nimport { SelectField, FilePicker } from 'components';\r\nimport DateTimePicker from 'components/DatePicker/DateTimePicker.js';\r\nimport { SetFormState, GetTypes, GetTeamsByType } from '../../../../../../actions/TicketsActions.js';\r\n\r\nconst schema = {\r\n\tsubject: {\r\n\t\tpresence: { allowEmpty: false, message: 'Subject is required' },\r\n\t},\r\n\ttypeId: {\r\n\t\tpresence: { allowEmpty: false, message: 'Type is required' },\r\n\t},\r\n\tactivityId: {\r\n\t\tpresence: { allowEmpty: false, message: 'Activity is required' },\r\n\t},\r\n\ttargetExecutionDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'Target Execution Date is required' },\r\n\t},\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tfields: {\r\n\t\tmargin: theme.spacing(-1),\r\n\t\tdisplay: 'flex',\r\n\t\tflexWrap: 'wrap',\r\n\t\t'& > *': {\r\n\t\t\tflexGrow: 1,\r\n\t\t\tmargin: theme.spacing(1),\r\n\t\t},\r\n\t},\r\n\tsubmitButton: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\twidth: '100%',\r\n\t},\r\n}));\r\n\r\nconst AddEditUserForm = (props) => {\r\n\tconst { className, types, teams, activities, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.ticketsReducer.formState);\r\n\r\n\tconst _usePrevious = (value) => {\r\n\t\tconst ref = useRef();\r\n\t\tuseEffect(() => {\r\n\t\t\tref.current = value;\r\n\t\t});\r\n\t\treturn ref.current;\r\n\t};\r\n\r\n\tconst _useHasChanged = (val) => {\r\n\t\tconst prevVal = _usePrevious(val);\r\n\t\treturn prevVal !== val;\r\n\t};\r\n\r\n\tconst hasActivityChanged = _useHasChanged(formState.values.activityId);\r\n\tconst hasTypeChanged = _useHasChanged(formState.values.typeId);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst newTouched = {};\r\n\t\tif (formState.values.submit) {\r\n\t\t\t_.each(_.keys(schema), (item => {\r\n\t\t\t\tnewTouched[item] = true;\r\n\t\t\t}));\r\n\t\t}\r\n\r\n\t\tconst errors = validate(formState.values, schema, { fullMessages: false });\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t...newTouched\r\n\t\t\t},\r\n\t\t});\r\n\r\n\t\tif (hasActivityChanged) {\r\n\t\t\tdispatch(GetTypes(formState.values.activityId, 1));\r\n\t\t}\r\n\r\n\t\tif (hasTypeChanged && formState.values.typeId !== '') {\r\n\t\t\tdispatch(GetTeamsByType(formState.values.typeId, 1));\r\n\t\t}\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleChangeActivity = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\ttypeId: '',\r\n\t\t\t\tteamId: '',\r\n\t\t\t\tactivityId: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\tactivityId: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateTimeChange = (value) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\ttargetExecutionDate: value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\ttargetExecutionDate: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _onChangeInput = (event) => {\r\n\t\tif (event.target.files && event.target.files.length > 0) {\r\n\t\t\tconst file = event.target.files[0];\r\n\t\t\tsetFormState({\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...formState.values,\r\n\t\t\t\t\tselectedFile: file,\r\n\t\t\t\t},\r\n\t\t\t\ttouched: {\r\n\t\t\t\t\t...formState.touched,\r\n\t\t\t\t\tselectedFile: true,\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\treturn (\r\n\t\t
    \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\r\n\t);\r\n};\r\n\r\nAddEditUserForm.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\ttypes: PropTypes.array.isRequired,\r\n\tteams: PropTypes.array.isRequired,\r\n\tactivities: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default AddEditUserForm;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tcolors,\r\n} from '@mui/material';\r\n\r\nimport { UploadFile } from 'actions';\r\nimport ModalDialog from '../../../../../../components/ModalDialog/ModalDialog.js';\r\nimport AddTicketForm from './components/AddTicketForm/AddTicketForm.js';\r\n\r\nimport { GetActivities, SetFormState, AddTicket } from '../../../../actions/TicketsActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\twidth: 960,\r\n\t},\r\n\theader: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\tmaxWidth: 720,\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: theme.spacing(0, 2),\r\n\t\tmaxWidth: 720,\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\thelperText: {\r\n\t\ttextAlign: 'right',\r\n\t\tmarginRight: 0,\r\n\t},\r\n\tauthor: {\r\n\t\tmargin: theme.spacing(4, 0),\r\n\t\tdisplay: 'flex',\r\n\t},\r\n\tavatar: {\r\n\t\tmarginRight: theme.spacing(2),\r\n\t},\r\n\tactions: {\r\n\t\tbackgroundColor: colors.grey[100],\r\n\t\tpadding: theme.spacing(2),\r\n\t\tdisplay: 'flex',\r\n\t\talignContent: 'right',\r\n\t},\r\n\tapplyButton: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst AddTicketDialog = (props) => {\r\n\tconst { open, onClose, onApply, className, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst user = useSelector((state) => state.session.user);\r\n\tconst teams = useSelector((state) => state.ticketsReducer.teams);\r\n\tconst activities = useSelector((state) => state.ticketsReducer.activities);\r\n\tconst types = useSelector((state) => state.ticketsReducer.types);\r\n\tconst formState = useSelector((state) => state.ticketsReducer.formState);\r\n\r\n\tconst _onConfirmClick = () => {\r\n\t\tsetFormState({ ...formState, values: { ...formState.values, submit: true } });\r\n\t\tif (formState.isValid) {\r\n\t\t\tconst newTicket = { ...formState.values, userId: user.id };\r\n\t\t\tnewTicket.comments = [];\r\n\t\t\tnewTicket.attachedFiles = [];\r\n\t\t\tnewTicket.comments.push({ comment: newTicket.comment });\r\n\t\t\tif (formState.values.selectedFile) {\r\n\t\t\t\tUploadFile(formState.values.selectedFile).then(response => {\r\n\t\t\t\t\tnewTicket.attachedFiles.push({ fileName: response.data });\r\n\t\t\t\t\tdispatch(AddTicket(newTicket));\r\n\t\t\t\t\tonClose();\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tdispatch(AddTicket(newTicket));\r\n\t\t\t\tonClose();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tconst getData = useCallback(() => {\r\n\t\tdispatch(GetActivities(1));\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tgetData();\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nAddTicketDialog.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tonApply: PropTypes.func,\r\n\tonClose: PropTypes.func,\r\n\topen: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default AddTicketDialog;\r\n","import React, { useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport useRouter from 'utils/useRouter';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tcolors,\r\n\tIconButton,\r\n\tTooltip,\r\n} from '@mui/material';\r\n\r\nimport CreateIcon from '@mui/icons-material/Create';\r\nimport EmailIcon from '@mui/icons-material/Email';\r\nimport ExitToAppIcon from '@mui/icons-material/ExitToApp';\r\nimport DeleteIcon from '@mui/icons-material/Delete';\r\nimport { Label, DataTable, FiltersDrawer } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 700,\r\n\t},\r\n\tnameCell: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tavatar: {\r\n\t\theight: 42,\r\n\t\twidth: 42,\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tactions: {\r\n\t\tpadding: theme.spacing(1),\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tprimaryButton: {\r\n\t\tcolor: theme.palette.primary.main\r\n\t},\r\n\terrorButton: {\r\n\t\tcolor: theme.palette.error.main\r\n\t}\r\n}));\r\n\r\nconst Filters = (props) => {\r\n\tconst { className, open, onClose, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst classes = useStyles();\r\n\tconst { history } = useRouter();\r\n\r\n\treturn (\r\n\t\t\r\n\t);\r\n};\r\n\r\nFilters.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\topen: PropTypes.bool.isRequired,\r\n\tonClose: PropTypes.func.isRequired\r\n};\r\n\r\nexport default Filters;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, colors, Grid } from '@mui/material';\r\nimport { Page, Header } from 'components';\r\nimport AddIcon from '@mui/icons-material/Add';\r\nimport FilterListIcon from '@mui/icons-material/FilterList';\r\n\r\nimport TicketsDataTable from './components/TicketsDataTable/TicketsDataTable.js';\r\nimport AddTicketDialog from './components/AddTicketDialog/AddTicketDialog.js';\r\nimport Filters from './components/Filters/Filters.js';\r\n\r\nimport { ToggleAddTicketDialog, ToggleFilters, GetTickets } from '../../actions/TicketsActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n\tfilterButton: {\r\n\t\tmarginLeft: theme.spacing(1),\r\n\t},\r\n\tfilterIcon: {\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst Tickets = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst tickets = useSelector(state => state.ticketsReducer.tickets);\r\n\tconst openAddTicketDialog = useSelector(state => state.ticketsReducer.openAddTicketDialog);\r\n\tconst openFilters = useSelector(state => state.ticketsReducer.openFilters);\r\n\r\n\tconst _addTicketClose = () => {\r\n\t\tdispatch(ToggleAddTicketDialog(false));\r\n\t};\r\n\r\n\tconst _addTicket = () => {\r\n\t\tdispatch(ToggleAddTicketDialog(true));\r\n\t};\r\n\r\n\tconst _handleFilterOpen = () => {\r\n\t\tdispatch(ToggleFilters(true));\r\n\t};\r\n\r\n\tconst _handleFilterClose = () => {\r\n\t\tdispatch(ToggleFilters(false));\r\n\t};\r\n\r\n\tconst _renderActions = () => (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{' '}\r\n\t\t\t\tShow filters\r\n\t\t\t\r\n\t\t\r\n\t);\r\n\r\n\tconst _getData = useCallback(() => {\r\n\t\tdispatch(GetTickets(0, 1));\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\t_getData();\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t{openAddTicketDialog && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Tickets;\r\n","import React, { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard,\r\n\tCardActions,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tGrid,\r\n\tDivider,\r\n\tcolors, List, ListItem, ListItemText, Typography,\r\n\tIconButton,\r\n\tInput,\r\n\tPaper,\r\n\tTooltip,\r\n} from '@mui/material';\r\n\r\nimport SendIcon from '@mui/icons-material/Send';\r\n\r\nimport { AddComment } from '../../../../../actions/TicketsActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n\tpaper: {\r\n\t\tflexGrow: 1,\r\n\t\tpadding: theme.spacing(0.5, 2),\r\n\t},\r\n\tinput: {\r\n\t\twidth: '100%',\r\n\t},\r\n}));\r\n\r\nconst Comments = (props) => {\r\n\tconst { className, ticketId, comments, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst [commentValue, setCommentValue] = useState('');\r\n\tconst user = useSelector(state => state.session.user);\r\n\r\n\tconst _handleCommentInputChange = (event) => {\r\n\t\tlet comment = event.target.value;\r\n\t\tcomment = comment.trim();\r\n\t\tif (comment.length >= 0) {\r\n\t\t\tsetCommentValue(event.target.value);\r\n\t\t}\r\n\t};\r\n\r\n\tconst _postComment = () => {\r\n\t\tdispatch(AddComment(ticketId, user.id, commentValue));\r\n\t\tsetCommentValue('');\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{comments && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{comments.length > 0 ? comments.map(comment => (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{`${comment.userName} at ${moment(comment.creationTimestamp).format('DD-MM-YYYY HH:mm:ss').toString()}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\tsecondary={(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{comment.comment}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)) : (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tNo comments added\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t 0 ? 'primary' : 'default'}\r\n\t\t\t\t\t\tdisabled={!commentValue.length > 0}\r\n\t\t\t\t\t\tonClick={_postComment}\r\n\t\t\t\t\t\tsize=\"large\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nComments.propTypes = {\r\n\tclassName: PropTypes.object,\r\n\tticketId: PropTypes.number,\r\n\tcomments: PropTypes.array\r\n};\r\n\r\nexport default Comments;\r\n","import React, { useEffect, useRef, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport validate from 'validate.js';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport {\r\n\tButton,\r\n\tCard,\r\n\tCardActions,\r\n\tCardContent,\r\n\tCardHeader,\r\n\tGrid,\r\n\tDivider,\r\n\tcolors,\r\n\tTextField\r\n} from '@mui/material';\r\nimport DateTimePicker from 'components/DatePicker/DateTimePicker.js';\r\n\r\nimport { SelectField } from 'components';\r\n\r\nimport { SetFormState, GetTypes, GetTeamsByType, GetStages, EditTicket } from '../../../../../actions/TicketsActions.js';\r\n\r\nconst schema = {\r\n\tfield: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst DetailsForm = (props) => {\r\n\tconst { className, details, ticketId, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.ticketsReducer.formState);\r\n\tconst user = useSelector((state) => state.session.user);\r\n\tconst types = useSelector((state) => state.ticketsReducer.types);\r\n\tconst teams = useSelector((state) => state.ticketsReducer.teams);\r\n\tconst activities = useSelector((state) => state.ticketsReducer.activities);\r\n\tconst stages = useSelector((state) => state.ticketsReducer.stages);\r\n\r\n\tconst _usePrevious = (value) => {\r\n\t\tconst ref = useRef();\r\n\t\tuseEffect(() => {\r\n\t\t\tref.current = value;\r\n\t\t});\r\n\t\treturn ref.current;\r\n\t};\r\n\r\n\tconst _useHasChanged = (val) => {\r\n\t\tconst prevVal = _usePrevious(val);\r\n\t\treturn prevVal !== val;\r\n\t};\r\n\r\n\tconst hasActivityChanged = _useHasChanged(formState.values.activityId);\r\n\tconst hasTypeChanged = _useHasChanged(formState.values.typeId);\r\n\tconst hasStageChanged = _useHasChanged(formState.values.stageId);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema, { fullMessages: false });\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\r\n\t\tif (hasActivityChanged && _.isEqual(ticketId, formState.values.id)) {\r\n\t\t\tdispatch(GetTypes(formState.values.activityId, 1));\r\n\t\t}\r\n\r\n\t\tif (hasTypeChanged && formState.values.typeId !== '' && _.isEqual(ticketId, formState.values.id)) {\r\n\t\t\tdispatch(GetTeamsByType(formState.values.typeId, 1));\r\n\t\t}\r\n\r\n\t\tif (hasStageChanged && _.isEqual(ticketId, formState.values.id)) {\r\n\t\t\tdispatch(GetStages(formState.values.stageId, 1));\r\n\t\t}\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleChangeActivity = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\ttypeId: '',\r\n\t\t\t\tteamId: '',\r\n\t\t\t\tactivityId: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\tactivityId: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateTimeChange = (value) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\ttargetExecutionDate: value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\ttargetExecutionDate: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\r\n\tconst _save = () => {\r\n\t\tconst values = { ...formState.values, userId: user.id };\r\n\t\tdispatch(EditTicket(values));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tSave\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nDetailsForm.propTypes = {\r\n\tclassName: PropTypes.object,\r\n\tdetails: PropTypes.object,\r\n\tticketId: PropTypes.number,\r\n};\r\n\r\nexport default DetailsForm;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { Grid } from '@mui/material';\r\nimport Comments from './components/Comments.js';\r\nimport DetailsForm from './components/DetailsForm.js';\r\n\r\nconst Details = (props) => {\r\n\tconst { ticketId, comments, details } = props;\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nDetails.propTypes = {\r\n\tticketId: PropTypes.number,\r\n\tdetails: PropTypes.object,\r\n\tcomments: PropTypes.array,\r\n};\r\n\r\nexport default Details;\r\n","import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport { Grid, List, ListItem, Divider, ListItemText, Typography } from '@mui/material';\r\n\r\nconst History = (props) => {\r\n\tconst { history } = props;\r\n\r\n\tconst [selectedIndex, setSelectedIndex] = useState(0);\r\n\tconst selectedRow = selectedIndex !== null && history ? history[selectedIndex] : null;\r\n\r\n\tconst _onSelectRow = (index) => {\r\n\t\tsetSelectedIndex(index);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{history.map((data, index) => (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t _onSelectRow(index)}\r\n\t\t\t\t\t\t\t\tselected={selectedIndex === index}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tStage\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\tsecondary={(\r\n\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{moment(data.timestamp).format('DD-MM-YYYY HH:mm:ss').toString()}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{selectedRow && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tField Changed:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tStage\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tValue:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{selectedRow.stage}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tWhen:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{moment(selectedRow.timestamp).format('DD-MM-YYYY HH:mm:ss').toString()}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tBy:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{selectedRow.userName}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n\r\nHistory.propTypes = {\r\n\thistory: PropTypes.array,\r\n};\r\n\r\nexport default History;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\nimport _ from 'underscore';\r\nimport { Link, Grid, Tooltip, IconButton } from '@mui/material';\r\nimport { makeStyles } from '@mui/styles';\r\nimport DeleteIcon from '@mui/icons-material/Delete';\r\nimport { DataTable } from 'components';\r\nimport { DeleteAttachFile } from '../../../../../actions/TicketsActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tdeleteButton: {\r\n\t\tcolor: theme.palette.error.main\r\n\t}\r\n}));\r\n\r\nconst FilesDataTable = (props) => {\r\n\tconst { files, DownloadFile, DeleteFile, userId } = props;\r\n\tconst classes = useStyles();\r\n\tconst _DeleteFile = (fileId) => {\r\n\t\tDeleteFile(fileId);\r\n\t};\r\n\r\n\tconst _DownloadFile = (fileName) => {\r\n\t\tDownloadFile(fileName);\r\n\t};\r\n\r\n\tconst _getTableColumns = () => [\r\n\t\t{\r\n\t\t\tname: 'id',\r\n\t\t\tlabel: 'Id',\r\n\t\t\toptions: {\r\n\t\t\t\tdisplay: false,\r\n\t\t\t\tfilter: false,\r\n\t\t\t\tviewColumns: false,\r\n\t\t\t\tfilterType: 'textField',\r\n\t\t\t}\r\n\t\t},\r\n\t\t{\r\n\t\t\tname: 'fileName',\r\n\t\t\tlabel: 'Name',\r\n\t\t\toptions: {\r\n\t\t\t\tfilterType: 'textField',\r\n\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => {\r\n\t\t\t\t\tconst { rowData } = tableMeta;\r\n\t\t\t\t\tconst file = _.find(files, (item) => item.id === rowData[0]);\r\n\t\t\t\t\treturn file ? (\r\n\t\t\t\t\t\t _DownloadFile(file.fileName)}\r\n\t\t\t\t\t\t\tstyle={{ wordBreak: 'break-word', whiteSpace: 'pre-wrap' }}\r\n\t\t\t\t\t\t\tunderline=\"hover\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{value}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (value);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t{\r\n\t\t\tname: 'creationTimestamp',\r\n\t\t\tlabel: 'Date',\r\n\t\t\toptions: {\r\n\t\t\t\tfilterType: 'textField',\r\n\t\t\t\tcustomBodyRender: (value) => (\r\n\t\t\t\t\tvalue ? moment(value).format('YYYY-MM-DD HH:mm:ss') : value\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t},\r\n\t\t{\r\n\t\t\tname: 'userName',\r\n\t\t\tlabel: 'By',\r\n\t\t\toptions: {\r\n\t\t\t\tfilterType: 'textField',\r\n\t\t\t}\r\n\t\t},\r\n\t\t{\r\n\r\n\t\t\tname: 'action',\r\n\t\t\tlabel: 'Actions',\r\n\t\t\toptions: {\r\n\t\t\t\tdisplay: true,\r\n\t\t\t\tfilter: false,\r\n\t\t\t\tsort: false,\r\n\t\t\t\tviewColumns: false,\r\n\t\t\t\tempty: true,\r\n\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => {\r\n\t\t\t\t\tconst { rowData } = tableMeta;\r\n\t\t\t\t\tconst file = _.find(files, (item) => item.id === rowData[0]);\r\n\t\t\t\t\treturn file && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t _DeleteFile(rowData[0])}\r\n\t\t\t\t\t\t\t\tdisabled={!_.isEqual(userId, file.attachedBy)}\r\n\t\t\t\t\t\t\t\tsize=\"large\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t];\r\n\r\n\tconst _getTableOptions = () => ({\r\n\t\tfilterType: 'dropdown',\r\n\t\tselectableRows: false,\r\n\t\texpandableRows: false, // Try Adding This\r\n\t\tpagination: false,\r\n\t\tfilter: false,\r\n\t\tsearch: false,\r\n\t\tviewColumns: false,\r\n\t\tsort: false\r\n\t});\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\t);\r\n};\r\n\r\nFilesDataTable.propTypes = {\r\n\tfiles: PropTypes.array.isRequired,\r\n\tDownloadFile: PropTypes.func,\r\n\tDeleteFile: PropTypes.func,\r\n\tuserId: PropTypes.string\r\n};\r\n\r\nexport default FilesDataTable;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport moment from 'moment';\r\nimport _ from 'underscore';\r\nimport { Link, Grid, Tooltip, IconButton, Card, CardContent } from '@mui/material';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { FilesDropzone } from 'components';\r\nimport { enqueueSnackbar, UploadFile, DownloadFile } from 'actions';\r\nimport FilesDataTable from './components/FilesDataTable';\r\nimport { AddAttachedFile, DeleteAttachFile } from '../../../../actions/TicketsActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tdeleteButton: {\r\n\t\tcolor: theme.palette.error.main\r\n\t}\r\n}));\r\n\r\nconst Files = (props) => {\r\n\tconst { files } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst user = useSelector((state) => state.session.user);\r\n\tconst ticket = useSelector((state) => state.ticketsReducer.ticket);\r\n\tconst _upload = (file) => {\r\n\t\tif (file[0].size > 200000000) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'File size cannot be superior to 200MB', options: { variant: 'warning' } }));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tUploadFile(file[0]).then(response => {\r\n\t\t\tdispatch(AddAttachedFile(ticket.details.id, response.data, user.id));\r\n\t\t});\r\n\t};\r\n\r\n\tconst _deleteFile = (fileId) => {\r\n\t\tdispatch(DeleteAttachFile(ticket.details.id, fileId, user.id));\r\n\t};\r\n\r\n\tconst _downloadFile = (fileName) => {\r\n\t\tdispatch(DownloadFile(`${ticket.details.defaultAttachFolder}\\\\${fileName}`));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\t);\r\n};\r\n\r\nFiles.propTypes = {\r\n\tfiles: PropTypes.array.isRequired\r\n};\r\n\r\nexport default Files;\r\n","import React, { useEffect, useCallback, useState } from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport useRouter from 'utils/useRouter';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Tabs, Tab, Divider, Button } from '@mui/material';\r\nimport { Page, Header } from 'components';\r\nimport Details from './components/Details/Details.js';\r\nimport History from './components/History/History.js';\r\nimport Files from './components/Files/Files.js';\r\nimport { GetActivities, GetTicket } from '../../actions/TicketsActions.js';\r\n\r\nconst tabs = [\r\n\t{ value: 'details', label: 'Details' },\r\n\t{ value: 'files', label: 'Files' },\r\n\t{ value: 'history', label: 'History' },\r\n];\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst TicketDetails = (props) => {\r\n\tconst classes = useStyles();\r\n\tconst { match } = props;\r\n\tconst { params } = match;\r\n\tconst { id } = params;\r\n\tconst { history } = useRouter();\r\n\tconst dispatch = useDispatch();\r\n\tconst ticket = useSelector((state) => state.ticketsReducer.ticket);\r\n\tconst [tab, setTab] = useState('details');\r\n\r\n\tconst _back = () => {\r\n\t\thistory.goBack();\r\n\t};\r\n\r\n\tconst _renderActions = () => (\r\n\t\t\r\n\t);\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatch(GetTicket(id)).then(dispatch(GetActivities(1)));\r\n\t}, []);\r\n\r\n\tconst _handleTabsChange = (event, value) => {\r\n\t\tsetTab(value);\r\n\t};\r\n\r\n\tif (!tab) {\r\n\t\treturn ;\r\n\t}\r\n\r\n\tif (!tabs.find((t) => t.value === tab)) {\r\n\t\treturn ;\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\t{tabs.map((item) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t{tab === 'details' &&
    }\r\n\t\t\t\t{tab === 'files' && }\r\n\t\t\t\t{tab === 'history' && }\r\n\t\t\t
    \r\n\t\t\r\n\t);\r\n};\r\n\r\nTicketDetails.propTypes = {\r\n\tmatch: PropTypes.object\r\n};\r\n\r\nexport default TicketDetails;\r\n","import React, { useRef, useEffect, useCallback, useState } from 'react';\r\nimport clsx from 'clsx';\r\nimport _ from 'underscore';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, TextField, Accordion, AccordionSummary, AccordionDetails, Typography, colors } from '@mui/material';\r\nimport { SelectField, FilePicker, Checkbox } from 'components';\r\nimport validate from 'validate.js';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { ConfigurationNokiaExport, SetFormState } from '../../../actions/ConfigurationActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tsites: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\r\n\trets: {\r\n\t\tcheckboxList: {\r\n\t\t\twithin: ['rets', 'ips', 'hwSw', 'allSites'],\r\n\t\t\tmessage: 'is required'\r\n\t\t}\r\n\t},\r\n\tips: {\r\n\t\tcheckboxList: {\r\n\t\t\twithin: ['rets', 'ips', 'hwSw', 'allSites'],\r\n\t\t\tmessage: 'is required'\r\n\t\t}\r\n\t},\r\n\thwSw: {\r\n\t\tcheckboxList: {\r\n\t\t\twithin: ['rets', 'ips', 'hwSw', 'allSites'],\r\n\t\t\tmessage: 'is required'\r\n\t\t}\r\n\t},\r\n};\r\n\r\nconst ConfigurationNokiaForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.configurationReducer.formState.nokia);\r\n\r\n\tconst [expanded, setExpanded] = useState(true);\r\n\r\n\tconst _handleAccordionChange = () => {\r\n\t\tsetExpanded(!expanded);\r\n\t};\r\n\r\n\tvalidate.validators.checkboxList = (value, options, key, attributes) => {\r\n\t\tif (formState.values.rets === true || formState.values.ips === true || formState.values.hwSw === true || formState.values.allSites === true) {\r\n\t\t\treturn undefined;\r\n\t\t}\r\n\t\treturn options.message;\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\tnokia: {\r\n\t\t\t\t...formState,\r\n\t\t\t\tisValid: formState.values.allSites || !errors,\r\n\t\t\t\terrors: errors || {},\r\n\t\t\t}\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\tnokia: {\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...formState.values,\r\n\t\t\t\t\t[event.target.name]:\r\n\t\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t\t: event.target.value,\r\n\t\t\t\t\tallSites: false,\r\n\t\t\t\t},\r\n\t\t\t\ttouched: {\r\n\t\t\t\t\t...formState.touched,\r\n\t\t\t\t\t[event.target.name]: true,\r\n\t\t\t\t},\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleChangeAllsites = (event) => {\r\n\t\tsetFormState({\r\n\t\t\tnokia: {\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...formState.values,\r\n\t\t\t\t\t[event.target.name]:\r\n\t\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t\t: event.target.value,\r\n\t\t\t\t\trets: false,\r\n\t\t\t\t\tips: false,\r\n\t\t\t\t\thwSw: false,\r\n\t\t\t\t\tinputType: 'text',\r\n\t\t\t\t\tsites: event.target.checked ? 'All' : '',\r\n\t\t\t\t},\r\n\t\t\t\ttouched: {\r\n\t\t\t\t\t...formState.touched,\r\n\t\t\t\t\t[event.target.name]: true,\r\n\t\t\t\t\tsites: true,\r\n\t\t\t\t},\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleChangeInputType = (event) => {\r\n\t\tsetFormState({\r\n\t\t\tnokia: {\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...formState.values,\r\n\t\t\t\t\tsites: undefined,\r\n\t\t\t\t\t[event.target.name]:\r\n\t\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t\t: event.target.value,\r\n\t\t\t\t},\r\n\t\t\t\ttouched: {\r\n\t\t\t\t\t...formState.touched,\r\n\t\t\t\t\t[event.target.name]: true,\r\n\t\t\t\t},\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\r\n\tconst _onChangeInput = (event) => {\r\n\t\tif (event.target.files && event.target.files.length > 0) {\r\n\t\t\tconst file = event.target.files[0];\r\n\t\t\tsetFormState({\r\n\t\t\t\tnokia: {\r\n\t\t\t\t\t...formState,\r\n\t\t\t\t\tvalues: {\r\n\t\t\t\t\t\t...formState.values,\r\n\t\t\t\t\t\tsites: file,\r\n\t\t\t\t\t},\r\n\t\t\t\t\ttouched: {\r\n\t\t\t\t\t\t...formState.touched,\r\n\t\t\t\t\t\tsites: true,\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tconst _generate = () => {\r\n\t\tif (!formState.values.allSites) {\r\n\t\t\tif (formState.values.sites.size > 100000000) {\r\n\t\t\t\tdispatch(enqueueSnackbar({ message: 'File size cannot be superior to 100MB', options: { variant: 'warning' } }));\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tdispatch(ConfigurationNokiaExport(formState.values));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{(formState.values.inputType || 'file') === 'file'\r\n\t\t\t\t\t\t\t? \r\n\t\t\t\t\t\t\t: (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleAccordionChange()}>\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\taria-controls=\"panel1a-content\"\r\n\t\t\t\t\t\t\t\tid=\"panel1a-header\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\tOptions\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default ConfigurationNokiaForm;\r\n","import React, { useRef, useEffect, useCallback, useState } from 'react';\r\nimport clsx from 'clsx';\r\nimport _ from 'underscore';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, TextField, Accordion, AccordionSummary, AccordionDetails, Typography, colors } from '@mui/material';\r\nimport { SelectField, FilePicker, Checkbox } from 'components';\r\nimport validate from 'validate.js';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { ConfigurationHuaweiExport, SetFormState } from '../../../actions/ConfigurationActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tsites: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n};\r\n\r\nconst ConfigurationHuaweiForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.configurationReducer.formState.huawei);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\thuawei: {\r\n\t\t\t\t...formState,\r\n\t\t\t\tisValid: !errors,\r\n\t\t\t\terrors: errors || {},\r\n\t\t\t}\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\thuawei: {\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...formState.values,\r\n\t\t\t\t\t[event.target.name]:\r\n\t\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t\t: event.target.value,\r\n\t\t\t\t},\r\n\t\t\t\ttouched: {\r\n\t\t\t\t\t...formState.touched,\r\n\t\t\t\t\t[event.target.name]: true,\r\n\t\t\t\t},\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleChangeInputType = (event) => {\r\n\t\tsetFormState({\r\n\t\t\thuawei: {\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...formState.values,\r\n\t\t\t\t\tsites: undefined,\r\n\t\t\t\t\t[event.target.name]:\r\n\t\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t\t: event.target.value,\r\n\t\t\t\t},\r\n\t\t\t\ttouched: {\r\n\t\t\t\t\t...formState.touched,\r\n\t\t\t\t\t[event.target.name]: true,\r\n\t\t\t\t},\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\r\n\tconst _onChangeInput = (event) => {\r\n\t\tif (event.target.files && event.target.files.length > 0) {\r\n\t\t\tconst file = event.target.files[0];\r\n\t\t\tsetFormState({\r\n\t\t\t\thuawei: {\r\n\t\t\t\t\t...formState,\r\n\t\t\t\t\tvalues: {\r\n\t\t\t\t\t\t...formState.values,\r\n\t\t\t\t\t\tsites: file,\r\n\t\t\t\t\t},\r\n\t\t\t\t\ttouched: {\r\n\t\t\t\t\t\t...formState.touched,\r\n\t\t\t\t\t\tsites: true,\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tconst _generate = () => {\r\n\t\tif (formState.values.sites.size > 100000000) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'File size cannot be superior to 100MB', options: { variant: 'warning' } }));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tdispatch(ConfigurationHuaweiExport(formState.values));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{(formState.values.inputType || 'file') === 'file'\r\n\t\t\t\t\t\t\t? \r\n\t\t\t\t\t\t\t: (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default ConfigurationHuaweiForm;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\n\r\nimport { DataTable } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t}\r\n}));\r\n\r\nconst DumpsDataTable = (props) => {\r\n\tconst { className, data, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'dumpFile',\r\n\t\t\t\tlabel: 'Dump File',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'vendor',\r\n\t\t\t\tlabel: 'Vendor',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'timeStamp',\r\n\t\t\t\tlabel: 'Last Import',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => <>{moment(value).format('DD-MM-YYYY HH:mm:ss').toString()}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t]\r\n\t);\r\n\tconst _getTableOptions = () => ({\r\n\t\tfilter: false,\r\n\t\tselectableRows: false,\r\n\t\texpandableRows: false, // Try Adding This\r\n\t});\r\n\treturn (\r\n\t\t
    \r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nDumpsDataTable.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default DumpsDataTable;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, TextField, Accordion, AccordionSummary, AccordionDetails, Typography, colors } from '@mui/material';\r\nimport { Page, Header } from 'components';\r\nimport ConfigurationNokiaForm from './components/ConfigurationNokiaForm';\r\nimport ConfigurationHuaweiForm from './components/ConfigurationHuaweiForm';\r\nimport DumpsDataTable from './components/DumpsDataTable';\r\nimport { LastDumpsUpdate } from '../../actions/ConfigurationActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst Configuration = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst dumps = useSelector(state => state.configurationReducer.dumps);\r\n\r\n\tconst _getData = useCallback(() => {\r\n\t\tdispatch(LastDumpsUpdate());\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\t_getData();\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Configuration;\r\n","import React, { useRef, useEffect, useCallback } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, TextField, colors } from '@mui/material';\r\nimport { Page, Header, SelectField, FilePicker } from 'components';\r\nimport validate from 'validate.js';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { SetFormState, GenerateCellInfo } from '../../../actions/CellInfoActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tsites: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n};\r\n\r\nconst TechAddForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.cellInfoReducer.formState.techAdd);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\t\tsetFormState({\r\n\t\t\ttechAdd: {\r\n\t\t\t\t...formState,\r\n\t\t\t\tisValid: !errors,\r\n\t\t\t\terrors: errors || {},\r\n\t\t\t}\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\ttechAdd: {\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...formState.values,\r\n\t\t\t\t\t[event.target.name]:\r\n\t\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t\t: event.target.value,\r\n\t\t\t\t},\r\n\t\t\t\ttouched: {\r\n\t\t\t\t\t...formState.touched,\r\n\t\t\t\t\t[event.target.name]: true,\r\n\t\t\t\t},\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleChangeInputType = (event) => {\r\n\t\tsetFormState({\r\n\t\t\ttechAdd: {\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...formState.values,\r\n\t\t\t\t\tsites: undefined,\r\n\t\t\t\t\t[event.target.name]:\r\n\t\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t\t: event.target.value,\r\n\t\t\t\t},\r\n\t\t\t\ttouched: {\r\n\t\t\t\t\t...formState.touched,\r\n\t\t\t\t\t[event.target.name]: true,\r\n\t\t\t\t},\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\r\n\tconst _onChangeInput = (event) => {\r\n\t\tif (event.target.files && event.target.files.length > 0) {\r\n\t\t\tconst file = event.target.files[0];\r\n\t\t\tsetFormState({\r\n\t\t\t\ttechAdd: {\r\n\t\t\t\t\t...formState,\r\n\t\t\t\t\tvalues: {\r\n\t\t\t\t\t\t...formState.values,\r\n\t\t\t\t\t\tsites: file,\r\n\t\t\t\t\t},\r\n\t\t\t\t\ttouched: {\r\n\t\t\t\t\t\t...formState.touched,\r\n\t\t\t\t\t\tsites: true,\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tconst _generate = () => {\r\n\t\tif (formState.values.sites.size > 100000000) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'File size cannot be superior to 100MB', options: { variant: 'warning' } }));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tdispatch(GenerateCellInfo(formState.values.inputType, 'techAdd', formState.values.sites));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{(formState.values.inputType || 'file') === 'file'\r\n\t\t\t\t\t\t\t? \r\n\t\t\t\t\t\t\t:\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default TechAddForm;\r\n","import React, { useRef, useEffect, useCallback } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, TextField, colors } from '@mui/material';\r\nimport { Page, Header, SelectField, FilePicker } from 'components';\r\nimport validate from 'validate.js';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { SetFormState, GenerateCellInfo } from '../../../actions/CellInfoActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tsites: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n};\r\n\r\nconst CellInfoForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.cellInfoReducer.formState.cellInfo);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\tcellInfo: {\r\n\t\t\t\t...formState,\r\n\t\t\t\tisValid: !errors,\r\n\t\t\t\terrors: errors || {},\r\n\t\t\t}\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\tcellInfo: {\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...formState.values,\r\n\t\t\t\t\t[event.target.name]:\r\n\t\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t\t: event.target.value,\r\n\t\t\t\t},\r\n\t\t\t\ttouched: {\r\n\t\t\t\t\t...formState.touched,\r\n\t\t\t\t\t[event.target.name]: true,\r\n\t\t\t\t},\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleChangeInputType = (event) => {\r\n\t\tsetFormState({\r\n\t\t\tcellInfo: {\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...formState.values,\r\n\t\t\t\t\tsites: undefined,\r\n\t\t\t\t\t[event.target.name]:\r\n\t\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t\t: event.target.value,\r\n\t\t\t\t},\r\n\t\t\t\ttouched: {\r\n\t\t\t\t\t...formState.touched,\r\n\t\t\t\t\t[event.target.name]: true,\r\n\t\t\t\t},\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\r\n\tconst _onChangeInput = (event) => {\r\n\t\tif (event.target.files && event.target.files.length > 0) {\r\n\t\t\tconst file = event.target.files[0];\r\n\t\t\tsetFormState({\r\n\t\t\t\tcellInfo: {\r\n\t\t\t\t\t...formState,\r\n\t\t\t\t\tvalues: {\r\n\t\t\t\t\t\t...formState.values,\r\n\t\t\t\t\t\tsites: file,\r\n\t\t\t\t\t},\r\n\t\t\t\t\ttouched: {\r\n\t\t\t\t\t\t...formState.touched,\r\n\t\t\t\t\t\tsites: true,\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tconst _generate = () => {\r\n\t\tif (formState.values.sites.size > 100000000) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'File size cannot be superior to 100MB', options: { variant: 'warning' } }));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tdispatch(GenerateCellInfo(formState.values.inputType, 'cellInfo', formState.values.sites));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{(formState.values.inputType || 'file') === 'file'\r\n\t\t\t\t\t\t\t? \r\n\t\t\t\t\t\t\t:\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default CellInfoForm;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { colors } from '@mui/material';\r\nimport { Page, Header } from 'components';\r\n\r\nimport TechAddForm from './components/TechAddForm';\r\nimport CellInfoForm from './components/CellInfoForm';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst CellInfo = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst getData = useCallback(() => {\r\n\t\t// dispatch(GetTemplates());\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tgetData();\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default CellInfo;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, colors } from '@mui/material';\r\nimport { FilePicker } from 'components';\r\nimport validate from 'validate.js';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { SetFormState, GenerateHuaweiRemoteAnalysis } from '../../../actions/HuaweiRemoteAnalysisActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\thuaweiRemoteAnalysisInput: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n};\r\n\r\nconst HuaweiRemoteAnalysisForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.huaweiRemoteAnalysisReducer.formState.huaweiRemoteAnalysis);\r\n\tconst user = useSelector((state) => state.session.user);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\t\tsetFormState({\r\n\t\t\thuaweiRemoteAnalysis: {\r\n\t\t\t\t...formState,\r\n\t\t\t\tisValid: !errors,\r\n\t\t\t\terrors: errors || {},\r\n\t\t\t}\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _onChangeInput = (event) => {\r\n\t\tif (event.target.files && event.target.files.length > 0) {\r\n\t\t\tconst file = event.target.files[0];\r\n\t\t\tsetFormState({\r\n\t\t\t\thuaweiRemoteAnalysis: {\r\n\t\t\t\t\t...formState,\r\n\t\t\t\t\tvalues: {\r\n\t\t\t\t\t\t...formState.values,\r\n\t\t\t\t\t\thuaweiRemoteAnalysisInput: file,\r\n\t\t\t\t\t},\r\n\t\t\t\t\ttouched: {\r\n\t\t\t\t\t\t...formState.touched,\r\n\t\t\t\t\t\thuaweiRemoteAnalysisInput: true,\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tconst _generate = () => {\r\n\t\tif (formState.values.huaweiRemoteAnalysisInput.size > 100000000) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'File size cannot be superior to 100MB', options: { variant: 'warning' } }));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tdispatch(GenerateHuaweiRemoteAnalysis(formState.values.huaweiRemoteAnalysisInput, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default HuaweiRemoteAnalysisForm;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { colors } from '@mui/material';\r\nimport { Page, Header } from 'components';\r\n\r\nimport HuaweiRemoteAnalysisForm from './components/HuaweiRemoteAnalysisForm.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst HuaweiRemoteAnalysis = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default HuaweiRemoteAnalysis;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GetServiceIpAssignmentRequest = (cellList, userName, userId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}IpAssignment/ServiceIpAssignment`,\r\n\tparams: { cellList, userName, userId }\r\n});\r\n\r\nexport const AddCellRequest = (cellId, region, vendor, userId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}IpAssignment/AddIpCellInformation`,\r\n\tparams: { cellId, region, vendor, userId }\r\n});\r\n","import React, { useState } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Page, Header } from 'components';\r\nimport { Card, CardHeader, CardContent, CardActions, Divider, TextField, Grid, Button, colors } from '@mui/material';\r\n\r\nimport { GetServiceIpAssignment, AddCell } from '../../actions/ServiceIpAssignmentActions.js';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tpaper: {\r\n\t\tpadding: theme.spacing(1)\r\n\t},\r\n\tpopover: {\r\n\t\tpointerEvents: 'none'\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900]\r\n\t\t}\r\n\t}\r\n}));\r\n\r\nconst ServiceIpAssignment = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst [cellList, setCells] = useState();\r\n\tconst [cellId, setCellId] = useState();\r\n\tconst [region, setRegion] = useState();\r\n\tconst [vendor, setVendor] = useState();\r\n\r\n\tconst user = useSelector(state => state.session.user);\r\n\r\n\tconst _handleCellsChange = event => {\r\n\t\tsetCells(event.target.value);\r\n\t};\r\n\r\n\tconst _handleCellIdChange = event => {\r\n\t\tsetCellId(event.target.value);\r\n\t};\r\n\r\n\tconst _handleRegionChange = event => {\r\n\t\tsetRegion(event.target.value);\r\n\t};\r\n\r\n\tconst _handleVendorChange = event => {\r\n\t\tsetVendor(event.target.value);\r\n\t};\r\n\r\n\tconst _getRServiceIpAssignment = () => {\r\n\t\tconst username = `${user.firstname} ${user.lastname}`;\r\n\t\tdispatch(GetServiceIpAssignment(cellList, username, user.id));\r\n\t};\r\n\r\n\tconst _addCell = () => {\r\n\t\tdispatch(AddCell(cellId, region, vendor, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tRun Assignment\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tAdd Cell\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default ServiceIpAssignment;\r\n","import { enqueueSnackbar } from 'actions';\r\nimport { DownloadFile } from 'actions/sessionActions.js';\r\n\r\nimport {\r\n\tGetServiceIpAssignmentRequest,\r\n\tAddCellRequest\r\n} from '../requests/ServiceIpAssignmentRequests.js';\r\n\r\nexport const GET_SERVICE_IP_ASSIGNMENT = 'GET_SERVICE_IP_ASSIGNMENT';\r\nexport const ADD_CELL = 'ADD_CELL';\r\n\r\nexport const GetServiceIpAssignment = (cellList, userName, userId) => async (dispatch) => {\r\n\tawait GetServiceIpAssignmentRequest(cellList, userName, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const AddCell = (cellId, region, vendor) => async (dispatch) => {\r\n\tawait AddCellRequest(cellId, region, vendor).then(response => {\r\n\t\tdispatch(enqueueSnackbar({ message: 'Cell successfully added.', options: { variant: 'success' } }));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GetTacticalAssignmentRequest = (hubList, userName, userId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}IpAssignment/TacticalAssignment`,\r\n\tparams: { hubList, userName, userId }\r\n});\r\n\r\nexport const GetStrategicAssignmentRequest = (hubList, userName, userId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}IpAssignment/StrategicAssignment`,\r\n\tparams: { hubList, userName, userId }\r\n});\r\n","import React, { useState } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Page, Header } from 'components';\r\nimport { Card, CardHeader, CardContent, CardActions, Divider, TextField, Grid, Button, colors } from '@mui/material';\r\n\r\nimport { GetTacticalAssignment, GetStrategicAssignment } from '../../actions/TransportIpAssignmentActions.js';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tpaper: {\r\n\t\tpadding: theme.spacing(1)\r\n\t},\r\n\tpopover: {\r\n\t\tpointerEvents: 'none'\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900]\r\n\t\t}\r\n\t}\r\n}));\r\n\r\nconst TransportIpAssignment = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst [tacticalHubs, setTacticalHubs] = useState();\r\n\tconst [strategicHubs, setStrategicHubs] = useState();\r\n\r\n\tconst user = useSelector(state => state.session.user);\r\n\r\n\tconst _handleTacticalHubsChange = event => {\r\n\t\tsetTacticalHubs(event.target.value);\r\n\t};\r\n\r\n\tconst _handleStrategicHubsChange = event => {\r\n\t\tsetStrategicHubs(event.target.value);\r\n\t};\r\n\r\n\tconst _getTacticalAssignment = () => {\r\n\t\tconst username = `${user.firstname} ${user.lastname}`;\r\n\t\tdispatch(GetTacticalAssignment(tacticalHubs, username, user.id));\r\n\t};\r\n\r\n\tconst _getStrategicAssignment = () => {\r\n\t\tconst username = `${user.firstname} ${user.lastname}`;\r\n\t\tdispatch(GetStrategicAssignment(strategicHubs, username, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tRun Tactical Assignment\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tRun Strategic Assignment\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default TransportIpAssignment;\r\n","import { enqueueSnackbar } from 'actions';\r\nimport { DownloadFile } from 'actions/sessionActions.js';\r\n\r\nimport {\r\n\tGetTacticalAssignmentRequest,\r\n\tGetStrategicAssignmentRequest\r\n} from '../requests/TransportIpAssignmentRequests.js';\r\n\r\nexport const GET_TACTICAL_ASSIGNMENT_REQUEST = 'GET_TACTICAL_ASSIGNMENT_REQUEST';\r\nexport const GET_STRATEGIC_ASSIGNMENT_REQUEST = 'GET_STRATEGIC_ASSIGNMENT_REQUEST';\r\n\r\nexport const GetTacticalAssignment = (hubList, userName, userId) => async (dispatch) => {\r\n\tawait GetTacticalAssignmentRequest(hubList, userName, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const GetStrategicAssignment = (hubList, userName, userId) => async (dispatch) => {\r\n\tawait GetStrategicAssignmentRequest(hubList, userName, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const RemoveEBandIpsRequest = (filePath, userName, userId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}IpAssignment/RemoveEBandIps`,\r\n\tparams: { filePath, userName, userId }\r\n});\r\n","import { enqueueSnackbar, UploadFile } from 'actions';\r\nimport { DownloadFile } from 'actions/sessionActions.js';\r\n\r\nimport {\r\n\tRemoveEBandIpsRequest\r\n} from '../requests/RemoveEBandIpsRequests.js';\r\n\r\nexport const REMOVE_E_BAND_IPS = 'REMOVE_E_BAND_IPS';\r\n\r\nexport const GetRemoveEBandIps = (filePath, userName, userId) => async (dispatch) => {\r\n\tawait RemoveEBandIpsRequest(filePath, userName, userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const RunRemoveEBandIps = (file, userName, userId) => async (dispatch) => {\r\n\tawait UploadFile(file).then(response => {\r\n\t\tdispatch(GetRemoveEBandIps(response.data, userName, userId));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import React, { useState } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Page, FilesDropzone, Header, Alert } from 'components';\r\nimport { enqueueSnackbar } from 'actions';\r\nimport {\r\n\tCard,\r\n\tCardContent,\r\n\tTextField,\r\n\tGrid,\r\n\tButton,\r\n\tcolors\r\n} from '@mui/material';\r\n\r\nimport { RunRemoveEBandIps } from '../../actions/RemoveEBandIpsActions.js';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tpaper: {\r\n\t\tpadding: theme.spacing(1)\r\n\t},\r\n\tpopover: {\r\n\t\tpointerEvents: 'none'\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900]\r\n\t\t}\r\n\t}\r\n}));\r\n\r\nconst RemoveEBandIps = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst user = useSelector(state => state.session.user);\r\n\r\n\tconst _runRemoveEBandIps = file => {\r\n\t\tif (file[0].size > 10000000 || !file[0].name.includes('Cancelled Links')) {\r\n\t\t\tdispatch(\r\n\t\t\t\tenqueueSnackbar({\r\n\t\t\t\t\tmessage: `File ${file[0].name} not valid. Please check file size, type and nomenclature.`,\r\n\t\t\t\t\toptions: { variant: 'warning' }\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst username = `${user.firstname} ${user.lastname}`;\r\n\t\tdispatch(RunRemoveEBandIps(file[0], username, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default RemoveEBandIps;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const GetIpInefficientUseRequest = (userId) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}IpAudit/IpInefficientUse`,\r\n\tparams: { userId }\r\n});\r\n","import React, { useState } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Page, Header } from 'components';\r\nimport {\r\n\tCard,\r\n\tCardContent,\r\n\tTextField,\r\n\tGrid,\r\n\tButton,\r\n\tcolors\r\n} from '@mui/material';\r\n\r\nimport { GetIpInefficientUse } from '../../actions/IpAuditsActions.js';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tpaper: {\r\n\t\tpadding: theme.spacing(1)\r\n\t},\r\n\tpopover: {\r\n\t\tpointerEvents: 'none'\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900]\r\n\t\t}\r\n\t}\r\n}));\r\n\r\nconst ServiceIpAssignment = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst user = useSelector(state => state.session.user);\r\n\r\n\tconst _getIpInefficientUse = () => {\r\n\t\tdispatch(GetIpInefficientUse(user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tGet Report\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default ServiceIpAssignment;\r\n","import { enqueueSnackbar } from 'actions';\r\nimport { DownloadFile } from 'actions/sessionActions.js';\r\n\r\nimport {\r\n\tGetIpInefficientUseRequest\r\n} from '../requests/IpAuditsRequests.js';\r\n\r\nexport const GET_IP_INEFFICIENT_USE = 'GET_IP_INEFFICIENT_USE';\r\n\r\nexport const GetIpInefficientUse = (userId) => async (dispatch) => {\r\n\tawait GetIpInefficientUseRequest(userId).then(response => {\r\n\t\tdispatch(DownloadFile(response.data));\r\n\t}).catch((error) => {\r\n\t\tif (error) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: error.message, options: { variant: error.variant } }));\r\n\t\t}\r\n\t});\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport clsx from 'clsx';\r\nimport _ from 'underscore';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, TextField, colors } from '@mui/material';\r\nimport validate from 'validate.js';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { ReportAvailabitilyExport, SetFormState } from '../../actions/RanReportAvailabilityActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst ReportAvailabilityForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.reportAvailabilityReducer.formState);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst _generate = () => {\r\n\t\tdispatch(ReportAvailabitilyExport(formState.values, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default ReportAvailabilityForm;\r\n","import React, { useEffect } from 'react';\r\nimport clsx from 'clsx';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, TextField, colors, gridClasses } from '@mui/material';\r\nimport DatePicker from 'components/DatePicker/DatePicker';\r\nimport validate from 'validate.js';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { ReportSmallCellsImpactExport, SetFormState } from '../../actions/ReportSmallCellsImpactActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tmacroCells: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tsmallCells: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tpre: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tpost: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tactivationDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst ReportSmallCellsImpactForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.ReportSmallCellsImpactReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateChange = (value, name) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[name]: value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst _generateImpactReport = () => {\r\n\t\tdispatch(ReportSmallCellsImpactExport(formState.values, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'activationDate')}\r\n\t\t\t\t\t\t\terror={_hasError('activationDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('activationDate') ? formState.errors.activationDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default ReportSmallCellsImpactForm;\r\n","import React, { useEffect } from 'react';\r\nimport _ from 'underscore';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardContent, CardActions, Grid, Divider, TextField, colors, CardHeader } from '@mui/material';\r\nimport { SelectField } from 'components';\r\nimport DatePicker from 'components/DatePicker/DatePicker';\r\nimport validate from 'validate.js';\r\n\r\nimport { GenerateReport, SetFormState } from '../../actions/ReportPPMActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tsitePPM: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\treportTypePPM: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tstartDatePPM: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\treportVendorPPM: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst reportTypePPM = [\r\n\t{ value: 'hourly48', text: '48 Hours' },\r\n\t{ value: 'daily7', text: '7 Days' },\r\n];\r\n\r\nconst reportVendorPPM = [\r\n\t{ value: 'Nokia', text: 'Nokia' },\r\n\t{ value: 'Ericsson', text: 'Ericsson' },\r\n];\r\n\r\nconst ReportPPMForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.reportPPMranReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChangePPM = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateChangePPM = (value, name) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[name]: value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst _generate = () => {\r\n\t\tdispatch(GenerateReport(formState.values.sitePPM, formState.values.reportTypePPM, formState.values.reportVendorPPM, formState.values.startDatePPM, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChangePPM(value, 'startDatePPM')}\r\n\t\t\t\t\t\t\terror={_hasError('startDatePPM')}\r\n\t\t\t\t\t\t\thelperText={_hasError('startDatePPM') ? formState.errors.startDatePPM[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{/* */}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default ReportPPMForm;\r\n","import React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport { Page, Header } from 'components';\r\nimport ReportAvailabilityForm from './components/ReportAvailabilityForm';\r\nimport ReportSmallCellsImpactForm from './components/ReportSmallCellsImpactForm';\r\nimport ReportPPMForm from './components/ReportPPMForm';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tsitelist: {\r\n\t\tmarginTop: theme.spacing(6),\r\n\t},\r\n}));\r\n\r\nconst SmallCells = () => {\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default SmallCells;\r\n","import React, { useRef, useEffect, useCallback } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, colors } from '@mui/material';\r\nimport { FilePicker, Checkbox } from 'components';\r\nimport validate from 'validate.js';\r\n\r\nimport TextField from '@mui/material/TextField';\r\nimport Autocomplete from '@mui/material/Autocomplete';\r\nimport CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank';\r\nimport CheckBoxIcon from '@mui/icons-material/CheckBox';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { SetFormState, GenerateScf } from '../../../actions/ScfActions.js';\r\n\r\nconst icon = ;\r\nconst checkedIcon = ;\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tscfInput: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tselectedSowType: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tselectedSowTechs: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n};\r\n\r\nconst ScfForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.scfReducer.formState);\r\n\tconst sowType = useSelector((state) => state.scfReducer.sowType);\r\n\tconst sowTechs = useSelector((state) => state.scfReducer.sowTechs);\r\n\tconst sowRmod = useSelector((state) => state.scfReducer.sowRmod);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _onChangeInput = (event) => {\r\n\t\tif (event.target.files && event.target.files.length > 0) {\r\n\t\t\tconst file = event.target.files[0];\r\n\t\t\tsetFormState({\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...formState.values,\r\n\t\t\t\t\tscfInput: file,\r\n\t\t\t\t},\r\n\t\t\t\ttouched: {\r\n\t\t\t\t\t...formState.touched,\r\n\t\t\t\t\tscfInput: true,\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleCheckboxChange = (event) => {\r\n\t\tconst { name, checked } = event.target;\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[name]: checked,\r\n\t\t\t\tsran: checked,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[name]: true,\r\n\t\t\t\tsran: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleChangeSowType = (event, value) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\tselectedSowType: value?.value\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleChangeSowTechs = (event, value) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t// eslint-disable-next-line max-len\r\n\t\t\t\tselectedSowTechs: value.map(u => (u.value === '3500C2' || u.value === 'L800' || u.value === 'L2100' || u.value === '2100 DSS' || u.value === '1800 DSS' ? u.value : Number(u.value))).sort((a, b) => a - b).join('+')\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleChangeSowRmod = (event, value) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\tselectedSowRmod: value.map(u => u.value).sort((a, b) => (a > b ? 1 : -1)).join('+')\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _generate = () => {\r\n\t\tif (formState.values.scfInput.size > 100000000) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'File size cannot be superior to 100MB', options: { variant: 'warning' } }));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tdispatch(GenerateScf(\r\n\t\t\tformState.values.scfInput,\r\n\t\t\tformState.values.selectedSowType,\r\n\t\t\tformState.values.selectedSowTechs,\r\n\t\t\tformState.values.selectedSowRmod,\r\n\t\t\tformState.values.sran,\r\n\t\t\tformState.values.sa));\r\n\t};\r\n\r\n\tconst groupNames = {\r\n\t\t'Tech Add': 'Tech Add',\r\n\t\t'New Buil': 'New Build'\r\n\t};\r\n\r\n\tconst doesNotIncludePlus = x => !x?.value.includes('+');\r\n\tconst isNotEmpty = x => x?.value !== '';\r\n\r\n\tconst doesNotIncludeRadioNR700 = x => !x.value.includes('ARPA');\r\n\tconst doesNotIncludeRadioL800 = x => !x.value.includes('ARMA') && !x.value.includes('FRMF');\r\n\r\n\tconst doesNotIncludeRadioNR1800 = x => !x.value.includes('AREA');\r\n\tconst doesNotIncludeRadioNR2100L2100 = x => !x.value.includes('ARGA');\r\n\r\n\tconst doesNotIncludeRadioNR2600 = x => !x.value.includes('ARHA');\r\n\r\n\tconst filterOptions = (options, selectedSowTechs) => options\r\n\t\t.filter(doesNotIncludePlus)\r\n\t\t.filter(isNotEmpty)\r\n\t\t.filter(x => (!selectedSowTechs?.includes('700') ? doesNotIncludeRadioNR700(x) : x))\r\n\t\t.filter(x => (!selectedSowTechs?.includes('L800') ? doesNotIncludeRadioL800(x) : x))\r\n\t\t.filter(x => (!selectedSowTechs?.includes('1800') ? doesNotIncludeRadioNR1800(x) : x))\r\n\t\t.filter(x => (!selectedSowTechs?.includes('2100') ? doesNotIncludeRadioNR2100L2100(x) : x))\r\n\t\t.filter(x => (!selectedSowTechs?.includes('2600') ? doesNotIncludeRadioNR2600(x) : x));\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t !x?.value.includes('Legacy'))}\r\n\t\t\t\t\t\t\tid=\"selectedSowType\"\r\n\t\t\t\t\t\t\tname=\"selectedSowType\"\r\n\t\t\t\t\t\t\tgroupBy={(option) => {\r\n\t\t\t\t\t\t\t\tconst groupName = option.value.slice(0, 8);\r\n\t\t\t\t\t\t\t\treturn groupNames[groupName] || 'Convert to SRAN';\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tonChange={_handleChangeSowType}\r\n\t\t\t\t\t\t\tgetOptionLabel={(option) => option.value}\r\n\t\t\t\t\t\t\trenderOption={(props, option) => (\r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t{option.value}\r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\trenderInput={(params) => ()}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t option.value}\r\n\t\t\t\t\t\t\trenderOption={(props, option, { selected }) => (\r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{option.value}\r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\trenderInput={(params) => ()}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t option.value}\r\n\t\t\t\t\t\t\trenderOption={(props, option, { selected }) => (\r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{option.value}\r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\trenderInput={(params) => ()}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default ScfForm;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Table, TableCell, TableHead, TableBody, TableRow, Popover, colors } from '@mui/material';\r\nimport { Page, Header, Alert } from 'components';\r\nimport uuid from 'uuid/v1';\r\n\r\nimport ScfForm from './components/ScfForm.js';\r\nimport { SetFormState, GetSowList, GetSowType, GetSowTechs, GetSowRmod } from '../../actions/ScfActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n\tpaper: {\r\n\t\tpadding: theme.spacing(1),\r\n\t},\r\n\tpopover: {\r\n\t\tpointerEvents: 'none',\r\n\t},\r\n}));\r\n\r\nconst fileInfo = [\r\n\t{ type: 'Site backup', info: 'Site backup file(s)', fileformat: '.xml' },\r\n\t{ type: 'IPs', info: 'Only one file with IPs table information', fileformat: '.xlsx' },\r\n];\r\n\r\nconst Scf = () => {\r\n\tconst classes = useStyles();\r\n\tconst [anchorEl, setAnchorEl] = useState(null);\r\n\tconst open = Boolean(anchorEl);\r\n\tconst dispatch = useDispatch();\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatch(GetSowType());\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatch(GetSowTechs());\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatch(GetSowRmod());\r\n\t}, []);\r\n\r\n\tconst _handlePopoverOpen = (event) => {\r\n\t\tsetAnchorEl(event.currentTarget);\r\n\t};\r\n\r\n\tconst _handlePopoverClose = () => {\r\n\t\tsetAnchorEl(null);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tType\r\n\t\t\t\t\t\t\t\tInfo\r\n\t\t\t\t\t\t\t\tFile Format\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{fileInfo.map((row) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{row.type}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{row.info}\r\n\t\t\t\t\t\t\t\t\t{row.fileformat}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Scf;\r\n","import React, { useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { colors, Grid } from '@mui/material';\r\nimport { FetchDownloads } from 'actions';\r\nimport { Page, Header } from 'components';\r\nimport { DownloadList } from './components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tdivider: {\r\n\t\tbackgroundColor: colors.grey[300],\r\n\t},\r\n\talert: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n}));\r\n\r\nconst Downloads = (props) => {\r\n\tconst classes = useStyles();\r\n\r\n\tconst dispatch = useDispatch();\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst files = useSelector(state => state.session.downloads);\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatch(FetchDownloads(user.id, 'all'));\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Downloads;\r\n","import React, { useEffect } from 'react';\r\nimport clsx from 'clsx';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, TextField, colors } from '@mui/material';\r\nimport DatePicker from 'components/DatePicker/DatePicker';\r\nimport validate from 'validate.js';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { Report2CAExport, SetFormState } from '../../actions/Report2CAActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tsite: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\treportDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst Report2CAForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.report2CAReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateChange = (value, name) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[name]: value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst _generate = () => {\r\n\t\tdispatch(Report2CAExport(formState.values, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'reportDate')}\r\n\t\t\t\t\t\t\terror={_hasError('reportDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('reportDate') ? formState.errors.reportDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'activationDate')}\r\n\t\t\t\t\t\t\terror={_hasError('activationDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('activationDate') ? formState.errors.activationDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Report2CAForm;\r\n","import React, { useEffect } from 'react';\r\nimport clsx from 'clsx';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, TextField, colors } from '@mui/material';\r\nimport DatePicker from 'components/DatePicker/DatePicker';\r\nimport validate from 'validate.js';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { ReportNRExport, SetFormState } from '../../actions/ReportNRActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tsite: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\treportDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst ReportNRForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.reportNRReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateChange = (value, name) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[name]: value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst _generate = () => {\r\n\t\tdispatch(ReportNRExport(formState.values, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'reportDate')}\r\n\t\t\t\t\t\t\terror={_hasError('reportDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('reportDate') ? formState.errors.reportDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'activationDate')}\r\n\t\t\t\t\t\t\terror={_hasError('activationDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('activationDate') ? formState.errors.activationDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default ReportNRForm;\r\n","import React, { useEffect } from 'react';\r\nimport clsx from 'clsx';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, TextField, colors } from '@mui/material';\r\nimport DatePicker from 'components/DatePicker/DatePicker';\r\nimport validate from 'validate.js';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { ReportNR7AssessmentExport, SetFormState } from '../../actions/ReportNR7AssessmentActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tSites: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tStart_Period: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tEnd_Period: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst ReportNR7AssessmentForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.reportNRReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateChange = (value, name) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[name]: value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst _generate = () => {\r\n\t\tdispatch(ReportNR7AssessmentExport(formState.values, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'Start_Period')}\r\n\t\t\t\t\t\t\terror={_hasError('Start_Period')}\r\n\t\t\t\t\t\t\thelperText={_hasError('Start_Period') ? formState.errors.Start_Period[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'End_Period')}\r\n\t\t\t\t\t\t\terror={_hasError('End_Period')}\r\n\t\t\t\t\t\t\thelperText={_hasError('End_Period') ? formState.errors.End_Period[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default ReportNR7AssessmentForm;\r\n","import React, { useEffect } from 'react';\r\nimport _ from 'underscore';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardContent, CardActions, Grid, Divider, TextField, colors } from '@mui/material';\r\nimport { SelectField } from 'components';\r\nimport DatePicker from 'components/DatePicker/DatePicker';\r\nimport validate from 'validate.js';\r\n\r\nimport { ReportSunsetExport, SetFormState } from '../../actions/ReportSunsetActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tsite: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tStart_Period: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tEnd_Period: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\ttech: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tvendor: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\ttype: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst vendor = [\r\n\t{ value: 'All', text: 'All' },\r\n\t{ value: 'Nokia', text: 'Nokia' },\r\n\t{ value: 'Huawei', text: 'Huawei' },\r\n\t{ value: 'Ericsson', text: 'Ericsson' }\r\n];\r\n\r\nconst tech = [\r\n\t{ value: 'All', text: 'All' },\r\n\t{ value: '2G', text: '2G' },\r\n\t{ value: '4G', text: '4G' },\r\n\t{ value: '5G', text: '5G' }\r\n];\r\n\r\nconst type = [\r\n\t{ value: 'All', text: 'All' },\r\n\t{ value: 'Site', text: 'Site' },\r\n\t{ value: 'Cell', text: 'Cell' }\r\n];\r\n\r\nconst ReportSunsetForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.reportSunsetReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateChange = (value, name) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[name]: value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst _generate = () => {\r\n\t\tdispatch(ReportSunsetExport(formState.values, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'Start_Period')}\r\n\t\t\t\t\t\t\terror={_hasError('Start_Period')}\r\n\t\t\t\t\t\t\thelperText={_hasError('Start_Period') ? formState.errors.Start_Period[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'End_Period')}\r\n\t\t\t\t\t\t\terror={_hasError('End_Period')}\r\n\t\t\t\t\t\t\thelperText={_hasError('End_Period') ? formState.errors.End_Period[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default ReportSunsetForm;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport uuid from 'uuid/v1';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tCardActions,\r\n\tDivider,\r\n\tButton,\r\n\tGrid,\r\n\tTextField,\r\n\tCheckbox,\r\n\tAutocomplete\r\n} from '@mui/material';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { Page, Header, Alert } from 'components';\r\n\r\nimport CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank';\r\nimport CheckBoxIcon from '@mui/icons-material/CheckBox';\r\nimport { Report2CAForm } from './components';\r\nimport { Report2CAExport, SetFormState } from '../actions/Report2CAActions';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tsitelist: {\r\n\t\tmarginTop: theme.spacing(6)\r\n\t}\r\n}));\r\n\r\nconst Report2CA = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst sites = useSelector(state => state.reportsReducer.sites);\r\n\tconst selectedSites = useSelector(\r\n\t\tstate => state.reportsReducer.selectedSites\r\n\t);\r\n\tconst lastUpdate = useSelector(state => state.reportsReducer.lastUpdate);\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector(state => state.report2CAReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\tsite: '',\r\n\t\t\t\tactivationDate: null\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\tsite: false\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default Report2CA;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport uuid from 'uuid/v1';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tCardActions,\r\n\tDivider,\r\n\tButton,\r\n\tGrid,\r\n\tTextField,\r\n\tCheckbox,\r\n\tAutocomplete\r\n} from '@mui/material';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { Page, Header, Alert } from 'components';\r\n\r\nimport CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank';\r\nimport CheckBoxIcon from '@mui/icons-material/CheckBox';\r\nimport { ReportNRForm } from './components';\r\nimport { ReportNRExport, SetFormState } from '../actions/ReportNRActions';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tsitelist: {\r\n\t\tmarginTop: theme.spacing(6)\r\n\t}\r\n}));\r\n\r\nconst ReportNR = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst sites = useSelector(state => state.reportsReducer.sites);\r\n\tconst selectedSites = useSelector(\r\n\t\tstate => state.reportsReducer.selectedSites\r\n\t);\r\n\tconst lastUpdate = useSelector(state => state.reportsReducer.lastUpdate);\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector(state => state.reportNRReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\tsite: '',\r\n\t\t\t\tactivationDate: null\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\tsite: false\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default ReportNR;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport uuid from 'uuid/v1';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tCardActions,\r\n\tDivider,\r\n\tButton,\r\n\tGrid,\r\n\tTextField,\r\n\tCheckbox,\r\n\tAutocomplete\r\n} from '@mui/material';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { Page, Header, Alert } from 'components';\r\n\r\nimport CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank';\r\nimport CheckBoxIcon from '@mui/icons-material/CheckBox';\r\nimport { ReportNR7AssessmentForm } from './components';\r\nimport { ReportNR7AssessmentExport, SetFormState } from '../actions/ReportNR7AssessmentActions';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tsitelist: {\r\n\t\tmarginTop: theme.spacing(6)\r\n\t}\r\n}));\r\n\r\nconst ReportNR7Assessment = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst sites = useSelector(state => state.reportsReducer.sites);\r\n\tconst selectedSites = useSelector(\r\n\t\tstate => state.reportsReducer.selectedSites\r\n\t);\r\n\tconst lastUpdate = useSelector(state => state.reportsReducer.lastUpdate);\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector(state => state.reportNRReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\tsite: '',\r\n\t\t\t\tactivationDate: null\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\tsite: false\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default ReportNR7Assessment;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\n\r\nimport { DataTable } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t}\r\n}));\r\n\r\nconst RETFilesHistoryDataTable = (props) => {\r\n\tconst { className, data, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'fileName',\r\n\t\t\t\tlabel: 'File Name',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'userID',\r\n\t\t\t\tlabel: 'User Name',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'timeStamp',\r\n\t\t\t\tlabel: 'Import Date',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => <>{moment(value).format('DD-MM-YYYY HH:mm:ss').toString()}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t]\r\n\t);\r\n\tconst _getTableOptions = () => ({\r\n\t\tfilter: false,\r\n\t\tselectableRows: false,\r\n\t\texpandableRows: false, // Try Adding This\r\n\t\tsearch: false,\r\n\t\tviewColumns: false\r\n\t});\r\n\treturn (\r\n\t\t
    \r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nRETFilesHistoryDataTable.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default RETFilesHistoryDataTable;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Page, Header } from 'components';\r\nimport validate from 'validate.js';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, TextField, colors } from '@mui/material';\r\nimport DumpsDataTable from './RETFilesUploadHistory';\r\nimport { RETspExport, RETEntireNetworkspExport, SetFormState, LastDumpsUpdate } from '../../actions/RetAuditActions';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tpaper: {\r\n\t\tpadding: theme.spacing(1)\r\n\t},\r\n\tpopover: {\r\n\t\tpointerEvents: 'none'\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900]\r\n\t\t}\r\n\t}\r\n}));\r\n\r\nconst schema = {\r\n\tsites: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst RETEnablingChecks = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.CPMDumpExportReducer.formState);\r\n\tconst dumps = useSelector(state => state.RETEnablingChecksReducer.dumps);\r\n\tconst _getData = useCallback(() => {\r\n\t\tdispatch(LastDumpsUpdate());\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\t\t_getData();\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateChange = (value, name) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[name]: value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst _generate = () => {\r\n\t\tdispatch(RETspExport(formState.values, user.id));\r\n\t};\r\n\r\n\tconst _generateEntireNetwork = () => {\r\n\t\tdispatch(RETEntireNetworkspExport(user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default RETEnablingChecks;\r\n","import * as React from 'react';\r\nimport Card from '@mui/material/Card';\r\nimport CardActions from '@mui/material/CardActions';\r\nimport CardContent from '@mui/material/CardContent';\r\nimport CardMedia from '@mui/material/CardMedia';\r\nimport Button from '@mui/material/Button';\r\nimport Typography from '@mui/material/Typography';\r\n\r\nexport default function MediaCard() {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tImportant\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tThis module its only to upload files with specific nomenclature such:\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t- Nemesis_Antennas (.csv)\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t- EE_3G_RET_Licences (.csv)\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t- EE LTE RET Data (.xlsx)\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t- Combined RET Report EE (.xlsx)\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t- Combined MHA Report EE (.xlsx)\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n","/* eslint-disable max-len */\r\nimport React, { useEffect, useCallback } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Page, FilesDropzone, Header, Alert } from 'components';\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, TextField, Accordion, AccordionSummary, AccordionDetails, Typography, colors } from '@mui/material';\r\nimport { RunFileUpload } from '../../actions/RETFilesUploadActions.js';\r\nimport DumpsDataTable from './RETFilesUploadHistory';\r\nimport MediaCard from './RETCard';\r\nimport { LastDumpsUpdate } from '../../actions/RetAuditActions';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tpaper: {\r\n\t\tpadding: theme.spacing(1)\r\n\t},\r\n\tpopover: {\r\n\t\tpointerEvents: 'none'\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900]\r\n\t\t}\r\n\t}\r\n}));\r\n\r\nconst RETFilesUpload = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst dumps = useSelector(state => state.configurationReducer.dumps);\r\n\r\n\tconst _getData = useCallback(() => {\r\n\t\tdispatch(LastDumpsUpdate());\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\t_getData();\r\n\t}, []);\r\n\r\n\tconst _RETFilesUpload = file => {\r\n\t\tfile.forEach(element => {\r\n\t\t\t// eslint-disable-next-line max-len\r\n\t\t\tif (!element.name.includes('Nemesis_Antennas') && !element.name.includes('EE_3G_RET_Licences') && !element.name.includes('EE LTE RET Data') && !element.name.includes('Combined RET Report EE') && !element.name.includes('Combined MHA Report EE')) {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tenqueueSnackbar({\r\n\t\t\t\t\t\tmessage: `File ${element.name} not valid. Please check file nomenclature.`,\r\n\t\t\t\t\t\toptions: { variant: 'warning' }\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tconst username = `${user.firstname} ${user.lastname}`;\r\n\t\t\t\tdispatch(RunFileUpload(element, username, user.id));\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tRET Enabling Checks\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tHistory\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default RETFilesUpload;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { DataTable } from 'components';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\n\r\nimport Table from '@mui/material/Table';\r\nimport TableBody from '@mui/material/TableBody';\r\nimport TableCell from '@mui/material/TableCell';\r\nimport TableContainer from '@mui/material/TableContainer';\r\nimport TableHead from '@mui/material/TableHead';\r\nimport TableRow from '@mui/material/TableRow';\r\nimport { Paper } from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {}\r\n}));\r\n\r\nconst IncidentCommentsTable = (props) => {\r\n\tconst { data, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst rows = data || [];\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{rows.map((row) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{row.user}\r\n\t\t\t\t\t\t\t\t{moment(row.date).format('YYYY-MM-DD HH:mm')}\r\n\t\t\t\t\t\t\t\t{row.comment}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n\r\nIncidentCommentsTable.propTypes = {\r\n\tdata: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default IncidentCommentsTable;\r\n","import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Paper, Table, TableBody, TableCell, TableContainer, TableRow, Modal } from '@mui/material';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport { DownloadFile } from 'actions';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport ImageSearchIcon from '@mui/icons-material/ImageSearch';\r\nimport ManageSearchIcon from '@mui/icons-material/ManageSearch';\r\nimport DownloadIcon from '@mui/icons-material/Download';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {}\r\n}));\r\n\r\nconst IncidentFilesTable = (props) => {\r\n\tconst { data, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst rows = data || [];\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst getFileIcon = (filePath) => {\r\n\t\tconst extension = filePath.split('.').pop().toLowerCase();\r\n\t\tswitch (extension) {\r\n\t\t\t\t\t\tcase 'jpeg':\r\n\t\t\t\t\t\t\treturn ;\r\n\t\t\t\t\t\tcase 'jpg':\r\n\t\t\t\t\t\t\treturn ;\r\n\t\t\t\t\t\tcase 'png':\r\n\t\t\t\t\t\t\treturn ;\r\n\t\t\t\t\t\tcase 'txt':\r\n\t\t\t\t\t\t\treturn ;\r\n\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\treturn ;\r\n\t\t}\r\n\t};\r\n\r\n\tconst getFileNameWithExtension = (filePath) => {\r\n\t\tconst parts = filePath.split('\\\\');\r\n\t\tconst fileName = parts[parts.length - 1];\r\n\t\treturn fileName;\r\n\t};\r\n\r\n\tconst openFileInNewTab = (filePath, fileRender) => {\r\n\t\tconst extension = filePath.split('.').pop().toLowerCase();\r\n\t\tconst imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'bmp'];\r\n\t\tif (extension === 'txt') {\r\n\t\t\tconst newWindow = window.open();\r\n\t\t\tconst { document } = newWindow;\r\n\t\t\tdocument.title = getFileNameWithExtension(filePath) || 'Blank Page';\r\n\t\t\t// Create a preformatted text element\r\n\t\t\tconst pre = document.createElement('pre');\r\n\t\t\t// Set the text content\r\n\t\t\tpre.textContent = fileRender;\r\n\t\t\t// Append the preformatted text to the document body\r\n\t\t\tdocument.body.appendChild(pre);\r\n\t\t} else if (imageExtensions.includes(extension.toLowerCase())) {\r\n\t\t\tconst newWindow = window.open();\r\n\t\t\tconst { document } = newWindow;\r\n\t\t\tdocument.title = getFileNameWithExtension(filePath) || 'Blank Page';\r\n\t\t\t// Create an image element\r\n\t\t\tconst img = document.createElement('img');\r\n\t\t\t// Set the source of the image to the Base64 string\r\n\t\t\timg.src = `data:image/jpeg;base64,${fileRender}`; // You may need to adjust the MIME type based on the image format\r\n\t\t\t// Append the image to the document body\r\n\t\t\tdocument.body.appendChild(img);\r\n\t\t} else {\r\n\t\t\tdispatch(DownloadFile(filePath));\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{rows.map((row) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{row.user}\r\n\t\t\t\t\t\t\t\t{moment(row.date).format('YYYY-MM-DD HH:mm')}\r\n\t\t\t\t\t\t\t\t{getFileNameWithExtension(row.filePath)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n\r\nIncidentFilesTable.propTypes = {\r\n\tdata: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default IncidentFilesTable;\r\n","import React, { useState, useCallback, useRef, useEffect, useMemo } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport uuid from 'uuid/v1';\r\nimport { useDropzone } from 'react-dropzone';\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography, Button, Link, List, ListItem, ListItemIcon, ListItemText, colors, Grid } from '@mui/material';\r\n\r\nimport FileCopyIcon from '@mui/icons-material/FileCopy';\r\n\r\nimport bytesToSize from 'utils/bytesToSize';\r\n\r\nimport { SetImage, SetFiles } from '../../../actions/IncidentTrackerActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tdropZone: {\r\n\t\tborder: `1px dashed ${theme.palette.divider}`,\r\n\t\tpadding: theme.spacing(6),\r\n\t\toutline: 'none',\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'center',\r\n\t\tflexWrap: 'wrap',\r\n\t\talignItems: 'center',\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.grey[50],\r\n\t\t\topacity: 0.5,\r\n\t\t\tcursor: 'pointer',\r\n\t\t},\r\n\t},\r\n\tdragActive: {\r\n\t\tbackgroundColor: colors.grey[50],\r\n\t\topacity: 0.5,\r\n\t},\r\n\timage: {\r\n\t\twidth: 130,\r\n\t},\r\n\tinfo: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\tlist: {\r\n\t\tmaxHeight: 320,\r\n\t},\r\n\tactions: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\tdisplay: 'flex',\r\n\t\tjustifyContent: 'flex-end',\r\n\t\t'& > * + *': {\r\n\t\t\tmarginLeft: theme.spacing(2),\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst FileDropAndPrintZone = (props) => {\r\n\tconst { multiple, acceptedTypes, maxSize, className, ...rest } = props;\r\n\tconst firstDivRef = useRef(null);\r\n\tconst secondDivRef = useRef(null);\r\n\tconst dispatch = useDispatch();\r\n\tconst setImage = image => dispatch(SetImage(image));\r\n\tconst setFiles = files => dispatch(SetFiles(files));\r\n\tconst image = useSelector((state) => state.incidentTrackerReducer.image);\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst [fileList, setFileList] = useState([]);\r\n\r\n\tconst handleDrop = useCallback((acceptedFiles) => {\r\n\t\tif (multiple) {\r\n\t\t\tsetFileList((f) => [...f].concat(acceptedFiles));\r\n\t\t} else {\r\n\t\t\tsetFileList([...acceptedFiles]);\r\n\t\t}\r\n\t}, []);\r\n\r\n\tconst handleRemoveAll = () => {\r\n\t\tsetFileList([]);\r\n\t};\r\n\r\n\tuseMemo(() => {\r\n\t\tsetFiles(fileList);\r\n\t}, [fileList]);\r\n\r\n\tconst { getRootProps, getInputProps, isDragActive } = useDropzone({\r\n\t\tmultiple,\r\n\t\taccept: acceptedTypes,\r\n\t\tmaxSize,\r\n\t\tonDrop: handleDrop,\r\n\t});\r\n\r\n\tuseEffect(() => {\r\n\t\tconst firstDivHeight = firstDivRef.current.clientHeight;\r\n\t\tif (secondDivRef.current) {\r\n\t\t\tsecondDivRef.current.style.height = `${firstDivHeight}px`;\r\n\t\t}\r\n\t}, [firstDivRef.current]);\r\n\r\n\tconst [printImg, setPrintImg] = useState();\r\n\r\n\tconst handleRemoveImage = () => {\r\n\t\tsetImage('');\r\n\t\tsetPrintImg(null);\r\n\t\tconst firstDivHeight = firstDivRef.current.clientHeight;\r\n\t\tif (secondDivRef.current) {\r\n\t\t\tsecondDivRef.current.style.height = `${firstDivHeight}px`;\r\n\t\t}\r\n\t};\r\n\r\n\tconst _handleOnPaste = (event) => {\r\n\t\tconst { items } = event.clipboardData || event.originalEvent.clipboardData;\r\n\t\tlet blob = null;\r\n\t\tfor (let i = 0; i < items.length; i++) {\r\n\t\t\tif (items[i].type.indexOf('image') === 0) {\r\n\t\t\t\tblob = items[i].getAsFile();\r\n\t\t\t\tsetImage(blob);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (blob !== null) {\r\n\t\t\tconst reader = new FileReader();\r\n\t\t\treader.onload = function load(eventer) {\r\n\t\t\t\tsetPrintImg(eventer.target.result);\r\n\t\t\t};\r\n\t\t\treader.readAsDataURL(blob);\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tSelect files\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tDrop files here or click\r\n\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\tbrowse\r\n\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\tthorough your\r\n\t\t\t\t\t\t\t\tmachine\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t{fileList.length > 0 && (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{fileList.map((file, i) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t{(printImg === undefined || printImg === null) && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tPaste Image\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tPaste your print screen or some cut image here\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{(printImg !== undefined && printImg !== null) && (\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\r\n\t);\r\n};\r\n\r\nFileDropAndPrintZone.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tmultiple: PropTypes.bool,\r\n\tacceptedTypes: PropTypes.string,\r\n\tmaxSize: PropTypes.number,\r\n\tupload: PropTypes.func\r\n};\r\n\r\nexport default FileDropAndPrintZone;\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport validate from 'validate.js';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Page, FilesDropzone, Header, Label, SelectField } from 'components';\r\nimport { Typography, TextField, InputAdornment, Grid, Card, Stack, CardHeader, CardContent, Divider, Autocomplete, createFilterOptions,\r\n\tAccordion, AccordionSummary, AccordionDetails } from '@mui/material';\r\nimport AccountCircle from '@mui/icons-material/AccountCircle';\r\nimport _ from 'underscore';\r\nimport useRouter from 'utils/useRouter';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\n\r\nimport { IsSafeToDeleteConfigurationRequest } from 'views/IncidentTracker/requests/IncidentTrackerConfigurationRequests';\r\nimport { SetFormState, SetCurrentQueueDropdown, GetDropdowns, GetProjectsDropdown, GetSowDropdown, GetLayersDropdown, GetTypeDropdown,\r\n\tGetDetailedTypeDropdown, GetIncidentBase, GetIncident, GetAllDropdowns, GetIncidentComments, GetIncidentFiles } from '../../../actions/IncidentTrackerActions';\r\n\r\nimport IncidentCommentsTable from './IncidentCommentsTable';\r\nimport IncidentFilesTable from './IncidentFilesTable';\r\nimport FileDropAndPrintZone from './FileDropAndPrintZone';\r\n\r\nconst schema = {\r\n\tsiteId: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tproject: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tsow: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tpriority: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tgenericType: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\ttype: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tdetailedType: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\ttechnologies: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tlayers: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tcurrentQueue: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tneedsRevisit: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\thandoverBlocking: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tsubject: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\taccordion: {\r\n\t\tbackgroundColor: '#f5f5f5'\r\n\t},\r\n\tfields: {\r\n\t\tmargin: theme.spacing(-1),\r\n\t\tdisplay: 'flex',\r\n\t\tflexWrap: 'wrap',\r\n\t\t'& > *': {\r\n\t\t\tflexGrow: 1,\r\n\t\t\tmargin: theme.spacing(1),\r\n\t\t},\r\n\t},\r\n\tsubmitButton: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\twidth: '100%',\r\n\t},\r\n\tdivider: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\tmarginBottom: theme.spacing(2),\r\n\t},\r\n\tnoBorder: {\r\n\t\tborder: 'none',\r\n\t}\r\n}));\r\n\r\nconst IncidentTrackerDialogForm = (props) => {\r\n\tconst { incidentId, submitter, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst router = useRouter();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst setCurrentQueueDropdown = formState => dispatch(SetCurrentQueueDropdown(formState));\r\n\tconst formState = useSelector((state) => state.incidentTrackerReducer.formState);\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst submitterName = incidentId !== 0 ? submitter : `${user.firstname} ${user.lastname}`;\r\n\tconst dropdowns = useSelector((state) => state.incidentTrackerReducer.dropdowns);\r\n\tconst projectsDropdown = useSelector((state) => state.incidentTrackerReducer.projectsDropdown);\r\n\tconst sowDropdown = useSelector((state) => state.incidentTrackerReducer.sowDropdown);\r\n\tconst layersDropdown = useSelector((state) => state.incidentTrackerReducer.layersDropdown);\r\n\tconst typeDropdown = useSelector((state) => state.incidentTrackerReducer.typeDropdown);\r\n\tconst detailedTypeDropdown = useSelector((state) => state.incidentTrackerReducer.detailedTypeDropdown);\r\n\tconst currentQueueDropdown = useSelector((state) => state.incidentTrackerReducer.currentQueueDropdown);\r\n\tconst incidentComments = useSelector((state) => state.incidentTrackerReducer.incidentComments);\r\n\tconst incidentFiles = useSelector((state) => state.incidentTrackerReducer.incidentFiles);\r\n\tconst yesNoDropdown = [{ value: 'Yes', text: 'Yes' }, { value: 'No', text: 'No' }];\r\n\tconst [expanded, setExpanded] = useState('');\r\n\r\n\tconst _handleAccordionChange = (panel) => (event, isExpanded) => {\r\n\t\tsetExpanded(isExpanded ? panel : false);\r\n\t};\r\n\r\n\tconst _hasError = field => (incidentId !== 0 && formState.errors[field]) || !!(formState.touched[field] && formState.errors[field]);\r\n\r\n\tconst filterOptions = createFilterOptions({\r\n\t\tlimit: 20\r\n\t});\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]: event.target.type === 'checkbox' ? event.target.checked : event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleSiteIdChange = (option) => {\r\n\t\tif (option !== null) {\r\n\t\t\tdispatch(GetProjectsDropdown(option.value));\r\n\t\t\tsetFormState({\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\tsiteId: option.value\r\n\t\t\t\t},\r\n\t\t\t\tisValid: false,\r\n\t\t\t\ttouched: {\r\n\t\t\t\t\tsiteId: true\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tdispatch(GetProjectsDropdown(null));\r\n\t\t\tsetFormState({\r\n\t\t\t\tvalues: {},\r\n\t\t\t\tisValid: false,\r\n\t\t\t\ttouched: {},\r\n\t\t\t\terrors: {},\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tconst _handleTechnologiesChange = (event) => {\r\n\t\tif (event.target.value != null) {\r\n\t\t\tdispatch(GetLayersDropdown(event.target.value));\r\n\t\t}\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\tlayers: [],\r\n\t\t\t\ttechnologies: event.target.value === null ? [] : event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\tlayers: false,\r\n\t\t\t\ttechnologies: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleProjectChange = (event) => {\r\n\t\tdispatch(GetSowDropdown(formState.values.siteId, event.target.value));\r\n\t\t_handleChange(event);\r\n\t};\r\n\r\n\tconst _handleSowChange = (event) => {\r\n\t\tdispatch(GetIncidentBase(formState.values.siteId, formState.values.project, event.target.value));\r\n\t\t_handleChange(event);\r\n\t};\r\n\r\n\tconst _handleGenericTypeChange = (event) => {\r\n\t\tif (event.target.value != null) {\r\n\t\t\tdispatch(GetTypeDropdown(event.target.value));\r\n\t\t}\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\tgenericType: event.target.value === null ? '' : event.target.value,\r\n\t\t\t\ttype: '',\r\n\t\t\t\tdetailedType: ''\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\tgenericType: true,\r\n\t\t\t\ttype: false,\r\n\t\t\t\tdetailedType: false\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleTypeChange = (event) => {\r\n\t\tdispatch(GetDetailedTypeDropdown(event.target.value));\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\ttype: event.target.value === null ? '' : event.target.value,\r\n\t\t\t\tdetailedType: ''\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\ttype: true,\r\n\t\t\t\tdetailedType: false\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (incidentId === 0) {\r\n\t\t\tdispatch(GetDropdowns());\r\n\t\t} else {\r\n\t\t\tdispatch(GetIncident(incidentId));\r\n\t\t\tdispatch(GetAllDropdowns(incidentId));\r\n\t\t\tdispatch(GetIncidentComments(incidentId));\r\n\t\t\tdispatch(GetIncidentFiles(incidentId));\r\n\t\t}\r\n\t}, []);\r\n\r\n\tuseMemo(() => {\r\n\t\tconst newTouched = {};\r\n\r\n\t\tif (formState.submit) {\r\n\t\t\t_.each(_.keys(schema), item => {\r\n\t\t\t\tnewTouched[item] = true;\r\n\t\t\t});\r\n\t\t}\r\n\t\tconst errors = validate(formState.values, schema, {\r\n\t\t\tfullMessages: false\r\n\t\t});\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t...newTouched\r\n\t\t\t}\r\n\t\t});\r\n\t}, [formState.values, formState.submit]);\r\n\r\n\tuseMemo(() => {\r\n\t\tsetCurrentQueueDropdown([\r\n\t\t\t{ value: 'BT', text: 'BT', disabled: true },\r\n\t\t\t{ value: 'Celfinet', text: 'Celfinet' },\r\n\t\t\t{ value: 'FOPS', text: 'FOPS' },\r\n\t\t\t{ value: 'EGI', text: 'EGI' },\r\n\t\t\t{ value: 'Delivery', text: 'Delivery' },\r\n\t\t\t{ value: 'BT Operations', text: 'BT Operations' },\r\n\t\t\t{ value: 'BT Acceptance', text: 'BT Acceptance' },\r\n\t\t\t{ value: formState.values.partner, text: formState.values.partner }\r\n\t\t]);\r\n\t}, [formState.values.partner]);\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{/* New row */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tWork\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t `${option.text}`}\r\n\t\t\t\t\t\t\t\trenderInput={(params) => }\r\n\t\t\t\t\t\t\t\tfilterOptions={filterOptions}\r\n\t\t\t\t\t\t\t\tonChange={(event, value) => { _handleSiteIdChange(value); }}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tIncident Details\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/* New row */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) }}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/* New row */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/* New row */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/* New row */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/* New row */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t} aria-controls=\"panel1a-content\" id=\"panel1a-header\">\r\n\t\t\t\t\t\t\t\t\tComments\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t} aria-controls=\"panel2a-content\" id=\"panel2a-header\">\r\n\t\t\t\t\t\t\t\t\tFile History\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* New row */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* New row */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* New row */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* New row */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* New row */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* New row */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* New row */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t} aria-controls=\"panel3a-content\" id=\"panel3a-header\">\r\n\t\t\t\t\t\t\tAttachments\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nIncidentTrackerDialogForm.propTypes = {\r\n\tincidentId: PropTypes.number,\r\n\tsubmitter: PropTypes.string\r\n};\r\n\r\nexport default IncidentTrackerDialogForm;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Page, FilesDropzone, Header, Alert, SelectField } from 'components';\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { Card, CardContent,\tTextField, Grid, Button, colors } from '@mui/material';\r\nimport _ from 'underscore';\r\nimport useRouter from 'utils/useRouter';\r\n\r\nimport ModalDialog from '../../../../../components/ModalDialog/ModalDialog.js';\r\nimport IncidentTrackerDialogForm from './IncidentTrackerDialogForm';\r\n\r\nimport { SetFormState, ToggleIncidentTrackerDialog, CreateIncident, EditIncident,\r\n\tUploadFilesAndCreateIncident, UploadFilesAndEditIncident } from '../../../actions/IncidentTrackerActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\twidth: 960,\r\n\t},\r\n\theader: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\tmaxWidth: 720,\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: theme.spacing(0, 2),\r\n\t\tmaxWidth: 720,\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\thelperText: {\r\n\t\ttextAlign: 'right',\r\n\t\tmarginRight: 0,\r\n\t},\r\n\tauthor: {\r\n\t\tmargin: theme.spacing(4, 0),\r\n\t\tdisplay: 'flex',\r\n\t},\r\n\tavatar: {\r\n\t\tmarginRight: theme.spacing(2),\r\n\t},\r\n\tactions: {\r\n\t\tbackgroundColor: colors.grey[100],\r\n\t\tpadding: theme.spacing(2),\r\n\t\tdisplay: 'flex',\r\n\t\talignContent: 'right',\r\n\t},\r\n\tapplyButton: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst IncidentTrackerDialog = (props) => {\r\n\tconst classes = useStyles();\r\n\tconst { onClose, open, incidentId, submitter, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst title = incidentId !== 0 ? 'Edit incident' : 'Create incident';\r\n\tconst confirmLabel = incidentId !== 0 ? 'Edit' : 'Create';\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.incidentTrackerReducer.formState);\r\n\tconst userId = useSelector(state => state.session.user.id);\r\n\tconst files = useSelector((state) => state.incidentTrackerReducer.files);\r\n\tconst image = useSelector((state) => state.incidentTrackerReducer.image);\r\n\r\n\tconst _onConfirmClick = () => {\r\n\t\tsetFormState({ ...formState, submit: true });\r\n\t\tconst uploadFiles = [...files, image];\r\n\r\n\t\tif (formState.isValid && incidentId === 0) {\r\n\t\t\tif (uploadFiles[0].size > 0) {\r\n\t\t\t\tdispatch(UploadFilesAndCreateIncident({ ...formState.values, submitter: userId }, uploadFiles));\r\n\t\t\t} else {\r\n\t\t\t\tdispatch(CreateIncident({ ...formState.values, submitter: userId }));\r\n\t\t\t}\r\n\t\t\tdispatch(ToggleIncidentTrackerDialog(false, 0));\r\n\t\t} else if (formState.isValid) {\r\n\t\t\tif (uploadFiles[0].size > 0) {\r\n\t\t\t\tdispatch(UploadFilesAndEditIncident({ ...formState.values, editingUser: userId }, uploadFiles));\r\n\t\t\t} else {\r\n\t\t\t\tdispatch(EditIncident({ ...formState.values, editingUser: userId }));\r\n\t\t\t}\r\n\t\t\tdispatch(ToggleIncidentTrackerDialog(false, 0));\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nIncidentTrackerDialog.propTypes = {\r\n\tonClose: PropTypes.func,\r\n\topen: PropTypes.bool.isRequired,\r\n\tincidentId: PropTypes.number,\r\n\tsubmitter: PropTypes.string\r\n};\r\n\r\nexport default IncidentTrackerDialog;\r\n","import React, { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, CardContent,\tTextField, Grid, IconButton, colors, Tooltip } from '@mui/material';\r\nimport Create from '@mui/icons-material/Create';\r\nimport ExitToAppIcon from '@mui/icons-material/ExitToApp';\r\nimport EditIcon from '@mui/icons-material/EditOutlined';\r\nimport CancelIcon from '@mui/icons-material/Cancel';\r\nimport { Label, DataTable, Header, Alert } from 'components';\r\n\r\nimport { ToggleIncidentTrackerDialog } from '../../../actions/IncidentTrackerActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 700,\r\n\t},\r\n\tnameCell: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tavatar: {\r\n\t\theight: 42,\r\n\t\twidth: 42,\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tactions: {\r\n\t\tpadding: theme.spacing(1),\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tprimaryButton: {\r\n\t\tcolor: theme.palette.primary.main\r\n\t},\r\n\terrorButton: {\r\n\t\tcolor: theme.palette.error.main\r\n\t},\r\n\tinfoButton: {\r\n\t\tcolor: theme.palette.info.main\r\n\t}\r\n}));\r\n\r\nconst IncidentTrackerTable = (props) => {\r\n\tconst { className, data, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst _onEditIncidentClick = (incidentId, incidentSubmitter) => {\r\n\t\tdispatch(ToggleIncidentTrackerDialog(true, incidentId, incidentSubmitter));\r\n\t};\r\n\r\n\tconst _onDeleteIncidentClick = (incidentId) => {\r\n\t};\r\n\r\n\tconst _renderActions = (tableMeta) => {\r\n\t\tconst { rowData } = tableMeta;\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t\r\n\t\t\t\t\t _onEditIncidentClick(rowData[0], rowData[1])}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t _onEditIncidentClick(rowData[0], rowData[1])}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'id',\r\n\t\t\t\tlabel: 'Id',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'submitter',\r\n\t\t\t\tlabel: 'Submitter',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tcustomFilterListOptions: {\r\n\t\t\t\t\t\trender: v => `Submitter - ${v}`\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'key',\r\n\t\t\t\tlabel: 'Key',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tcustomFilterListOptions: {\r\n\t\t\t\t\t\trender: v => `Key - ${v}`\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'siteId',\r\n\t\t\t\tlabel: 'Site Id',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tcustomFilterListOptions: {\r\n\t\t\t\t\t\trender: v => `Site - ${v}`\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'siteTrackerPRef',\r\n\t\t\t\tlabel: 'SiteTrackerPRef',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tcustomFilterListOptions: {\r\n\t\t\t\t\t\trender: v => `SiteTrackerPRef - ${v}`\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'project',\r\n\t\t\t\tlabel: 'Project',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'dropdown',\r\n\t\t\t\t\tcustomFilterListOptions: {\r\n\t\t\t\t\t\trender: v => `Project - ${v}`\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'sow',\r\n\t\t\t\tlabel: 'SOW',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'dropdown',\r\n\t\t\t\t\tcustomFilterListOptions: {\r\n\t\t\t\t\t\trender: v => `SOW - ${v}`\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'bo',\r\n\t\t\t\tlabel: 'BO',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilterType: 'dropdown',\r\n\t\t\t\t\tcustomFilterListOptions: {\r\n\t\t\t\t\t\trender: v => `BO - ${v}`\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'genericType',\r\n\t\t\t\tlabel: 'Generic Type',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'dropdown',\r\n\t\t\t\t\tcustomFilterListOptions: {\r\n\t\t\t\t\t\trender: v => `Generic Type - ${v}`\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'type',\r\n\t\t\t\tlabel: 'Type',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'dropdown',\r\n\t\t\t\t\tcustomFilterListOptions: {\r\n\t\t\t\t\t\trender: v => `Type - ${v}`\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'detailedType',\r\n\t\t\t\tlabel: 'DetailedType',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'dropdown',\r\n\t\t\t\t\tcustomFilterListOptions: {\r\n\t\t\t\t\t\trender: v => `DetailedType - ${v}`\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'currentQueue',\r\n\t\t\t\tlabel: 'Current Queue',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tcustomFilterListOptions: {\r\n\t\t\t\t\t\trender: v => `Current Queue - ${v}`\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'incidentNumber',\r\n\t\t\t\tlabel: 'Incident Number',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tcustomFilterListOptions: {\r\n\t\t\t\t\t\trender: v => `Incident - ${v}`\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'taskNumber',\r\n\t\t\t\tlabel: 'Task Number',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tcustomFilterListOptions: {\r\n\t\t\t\t\t\trender: v => `Task Number - ${v}`\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'status',\r\n\t\t\t\tlabel: 'Status',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'dropdown',\r\n\t\t\t\t\tcustomFilterListOptions: {\r\n\t\t\t\t\t\trender: v => `Status - ${v}`\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'priority',\r\n\t\t\t\tlabel: 'Priority',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilterType: 'dropdown',\r\n\t\t\t\t\tcustomFilterListOptions: {\r\n\t\t\t\t\t\trender: v => `Priority - ${v}`\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'partner',\r\n\t\t\t\tlabel: 'Partner',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilterType: 'dropdown',\r\n\t\t\t\t\tcustomFilterListOptions: {\r\n\t\t\t\t\t\trender: v => `Partner - ${v}`\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'client',\r\n\t\t\t\tlabel: 'Client',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilterType: 'dropdown',\r\n\t\t\t\t\tcustomFilterListOptions: {\r\n\t\t\t\t\t\trender: v => `Client - ${v}`\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'actionStatus',\r\n\t\t\t\tlabel: 'ActionStatus',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'dropdown',\r\n\t\t\t\t\tcustomFilterListOptions: {\r\n\t\t\t\t\t\trender: v => `ActionStatus - ${v}`\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'openDate',\r\n\t\t\t\tlabel: 'Open Date',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tcustomFilterListOptions: {\r\n\t\t\t\t\t\trender: v => `Open Date - ${v}`\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => <>{moment(value).format('DD-MM-YYYY HH:mm:ss').toString()}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'closeDate',\r\n\t\t\t\tlabel: 'Close Date',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t\tcustomFilterListOptions: {\r\n\t\t\t\t\t\trender: v => `Close Date - ${v}`\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => <>{moment(value).format('DD-MM-YYYY HH:mm:ss').toString()}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'action',\r\n\t\t\t\tlabel: 'Actions',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tsort: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => _renderActions(tableMeta)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t]\r\n\t);\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nIncidentTrackerTable.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default IncidentTrackerTable;\r\n","import clsx from 'clsx';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport React, { useEffect, useCallback, useMemo } from 'react';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Page, FilesDropzone, Header, Alert } from 'components';\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { Card, CardContent,\tTextField, Grid, Button, colors } from '@mui/material';\r\n\r\nimport IncidentTrackerDialog from './components/IncidentTrackerDialog';\r\nimport IncidentTrackerTable from './components/IncidentTrackerTable';\r\n\r\nimport { ExportIncidents, GetIncidentTable, ToggleIncidentTrackerDialog } from '../../actions/IncidentTrackerActions.js';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tpaper: {\r\n\t\tpadding: theme.spacing(1)\r\n\t},\r\n\tpopover: {\r\n\t\tpointerEvents: 'none'\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900]\r\n\t\t}\r\n\t}\r\n}));\r\n\r\nconst IncidentTracker = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst incidentTrackerDialogVisibility = useSelector((state) => state.incidentTrackerReducer.incidentTrackerDialogVisibility);\r\n\tconst selectedIncidentId = useSelector((state) => state.incidentTrackerReducer.selectedIncidentId);\r\n\tconst selectedIncidentSubmitter = useSelector((state) => state.incidentTrackerReducer.selectedIncidentSubmitter);\r\n\tconst incidentTable = useSelector((state) => state.incidentTrackerReducer.incidentTable);\r\n\r\n\tconst _onCreateIncidentClick = () => {\r\n\t\tdispatch(ToggleIncidentTrackerDialog(true, 0, ''));\r\n\t};\r\n\r\n\tconst _onCloseIncidentTrackerDialog = (event, reason) => {\r\n\t\tif (reason !== 'backdropClick') {\r\n\t\t\tdispatch(ToggleIncidentTrackerDialog(false, 0, ''));\r\n\t\t}\r\n\t};\r\n\r\n\tconst _onExportIncidentsClick = () => {\r\n\t\tdispatch(ExportIncidents());\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatch(GetIncidentTable());\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tCreate Incident\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tExport Incidents\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{incidentTrackerDialogVisibility && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default IncidentTracker;\r\n","import React, { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Card, CardContent,\tTextField, Grid, IconButton, colors, Tooltip } from '@mui/material';\r\nimport Create from '@mui/icons-material/Create';\r\nimport EditIcon from '@mui/icons-material/EditOutlined';\r\nimport CancelIcon from '@mui/icons-material/Cancel';\r\nimport { Label, DataTable, Header, Alert } from 'components';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 700,\r\n\t},\r\n\tnameCell: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tavatar: {\r\n\t\theight: 42,\r\n\t\twidth: 42,\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tactions: {\r\n\t\tpadding: theme.spacing(1),\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tprimaryButton: {\r\n\t\tcolor: theme.palette.primary.main\r\n\t},\r\n\terrorButton: {\r\n\t\tcolor: theme.palette.error.main\r\n\t},\r\n\tinfoButton: {\r\n\t\tcolor: theme.palette.info.main\r\n\t}\r\n}));\r\n\r\nconst IncidentTable = (props) => {\r\n\tconst { className, data, identifier, title, customColumns, onDeleteClick, onEditClick, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\r\n\tconst _renderActions = (tableMeta) => {\r\n\t\tconst { rowData } = tableMeta;\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t\r\n\t\t\t\t\t onEditClick(rowData)}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t onDeleteClick(rowData)}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'id',\r\n\t\t\t\tlabel: 'Id',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t...customColumns,\r\n\t\t\t{\r\n\t\t\t\tname: 'action',\r\n\t\t\t\tlabel: 'Actions',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tsort: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tprint: false,\r\n\t\t\t\t\tdownload: false,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => _renderActions(tableMeta)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t]\r\n\t);\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nIncidentTable.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n\tidentifier: PropTypes.string,\r\n\ttitle: PropTypes.string,\r\n\tcustomColumns: PropTypes.array,\r\n\tonDeleteClick: PropTypes.func,\r\n\tonEditClick: PropTypes.func,\r\n};\r\n\r\nexport default IncidentTable;\r\n","import React, { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport IncidentTable from './IncidentTable';\r\nimport { SelectIncidentConfiguration, ToggleIncConfigDialog } from '../../../actions/IncidentTrackerConfigurationActions.js';\r\n\r\nconst IncidentStatusTable = (props) => {\r\n\tconst { className, data, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst _incConfigDialogOpen = (rowData, mode) => {\r\n\t\tconst item = { id: rowData[0], status: rowData[1] };\r\n\t\tdispatch(SelectIncidentConfiguration({ category: 'status', item }));\r\n\t\tdispatch(ToggleIncConfigDialog(true, mode));\r\n\t};\r\n\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'status',\r\n\t\t\t\tlabel: 'Status',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t]\r\n\t);\r\n\r\n\treturn (\r\n\t\t _incConfigDialogOpen(rowData, 'Delete')}\r\n\t\t\tonEditClick={(rowData) => _incConfigDialogOpen(rowData, 'Update')}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nIncidentStatusTable.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default IncidentStatusTable;\r\n","import React, { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport IncidentTable from './IncidentTable';\r\nimport { SelectIncidentConfiguration, ToggleIncConfigDialog } from '../../../actions/IncidentTrackerConfigurationActions.js';\r\n\r\nconst IncidentPriorityTable = (props) => {\r\n\tconst { className, data, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst _incConfigDialogOpen = (rowData, mode) => {\r\n\t\tconst item = { id: rowData[0], priority: rowData[1] };\r\n\t\tdispatch(SelectIncidentConfiguration({ category: 'priority', item }));\r\n\t\tdispatch(ToggleIncConfigDialog(true, mode));\r\n\t};\r\n\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'priority',\r\n\t\t\t\tlabel: 'Priority',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t]\r\n\t);\r\n\r\n\treturn (\r\n\t\t _incConfigDialogOpen(rowData, 'Update')}\r\n\t\t\tonDeleteClick={(rowData) => _incConfigDialogOpen(rowData, 'Delete')}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nIncidentPriorityTable.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default IncidentPriorityTable;\r\n","import React, { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport IncidentTable from './IncidentTable';\r\nimport { SelectIncidentConfiguration, ToggleIncConfigDialog } from '../../../actions/IncidentTrackerConfigurationActions.js';\r\n\r\nconst IncidentGenericTypeTable = (props) => {\r\n\tconst { className, data, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst _incConfigDialogOpen = (rowData, mode) => {\r\n\t\tconst item = { id: rowData[0], genericType: rowData[1] };\r\n\t\tdispatch(SelectIncidentConfiguration({ category: 'genericType', item }));\r\n\t\tdispatch(ToggleIncConfigDialog(true, mode));\r\n\t};\r\n\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'genericType',\r\n\t\t\t\tlabel: 'Generic Type',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t]\r\n\t);\r\n\r\n\treturn (\r\n\t\t _incConfigDialogOpen(rowData, 'Delete')}\r\n\t\t\tonEditClick={(rowData) => _incConfigDialogOpen(rowData, 'Update')}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nIncidentGenericTypeTable.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default IncidentGenericTypeTable;\r\n","import React, { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport IncidentTable from './IncidentTable';\r\nimport { SelectIncidentConfiguration, ToggleIncConfigDialog } from '../../../actions/IncidentTrackerConfigurationActions.js';\r\n\r\nconst IncidentTypeTable = (props) => {\r\n\tconst { className, data, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst _incConfigDialogOpen = (rowData, mode) => {\r\n\t\tconst item = { id: rowData[0], genericType: rowData[1], type: rowData[2] };\r\n\t\tdispatch(SelectIncidentConfiguration({ category: 'type', item }));\r\n\t\tdispatch(ToggleIncConfigDialog(true, mode));\r\n\t};\r\n\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'genericType',\r\n\t\t\t\tlabel: 'Generic Type',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'type',\r\n\t\t\t\tlabel: 'Type',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t]\r\n\t);\r\n\r\n\treturn (\r\n\t\t _incConfigDialogOpen(rowData, 'Update')}\r\n\t\t\tonDeleteClick={(rowData) => _incConfigDialogOpen(rowData, 'Delete')}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nIncidentTypeTable.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default IncidentTypeTable;\r\n","import React, { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport IncidentTable from './IncidentTable';\r\nimport { SelectIncidentConfiguration, ToggleIncConfigDialog } from '../../../actions/IncidentTrackerConfigurationActions.js';\r\n\r\nconst IncidentDetailedTypeTable = (props) => {\r\n\tconst { className, data, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst _incConfigDialogOpen = (rowData, mode) => {\r\n\t\tconst item = { id: rowData[0], genericType: rowData[1], type: rowData[2], detailedType: rowData[3] };\r\n\t\tdispatch(SelectIncidentConfiguration({ category: 'detailedType', item }));\r\n\t\tdispatch(ToggleIncConfigDialog(true, mode));\r\n\t};\r\n\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'genericType',\r\n\t\t\t\tlabel: 'Generic Type',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'type',\r\n\t\t\t\tlabel: 'Type',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'detailedType',\r\n\t\t\t\tlabel: 'Detailed Type',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t]\r\n\t);\r\n\r\n\treturn (\r\n\t\t _incConfigDialogOpen(rowData, 'Update')}\r\n\t\t\tonDeleteClick={(rowData) => _incConfigDialogOpen(rowData, 'Delete')}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nIncidentDetailedTypeTable.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default IncidentDetailedTypeTable;\r\n","import React, { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport IncidentTable from './IncidentTable';\r\nimport { SelectIncidentConfiguration, ToggleIncConfigDialog } from '../../../actions/IncidentTrackerConfigurationActions.js';\r\n\r\nconst IncidentTechnologyTable = (props) => {\r\n\tconst { className, data, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst _incConfigDialogOpen = (rowData, mode) => {\r\n\t\tconst item = { id: rowData[0], technology: rowData[1] };\r\n\t\tdispatch(SelectIncidentConfiguration({ category: 'technology', item }));\r\n\t\tdispatch(ToggleIncConfigDialog(true, mode));\r\n\t};\r\n\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'technology',\r\n\t\t\t\tlabel: 'Technology',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t]\r\n\t);\r\n\r\n\treturn (\r\n\t\t _incConfigDialogOpen(rowData, 'Update')}\r\n\t\t\tonDeleteClick={(rowData) => _incConfigDialogOpen(rowData, 'Delete')}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nIncidentTechnologyTable.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default IncidentTechnologyTable;\r\n","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport IncidentTable from './IncidentTable';\r\nimport { SelectIncidentConfiguration, ToggleIncConfigDialog } from '../../../actions/IncidentTrackerConfigurationActions.js';\r\n\r\nconst IncidentLayersTable = (props) => {\r\n\tconst { className, data, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst _incConfigDialogOpen = (rowData, mode) => {\r\n\t\tconst item = { id: rowData[0], technology: rowData[1], layer: rowData[2] };\r\n\t\tdispatch(SelectIncidentConfiguration({ category: 'layer', item }));\r\n\t\tdispatch(ToggleIncConfigDialog(true, mode));\r\n\t};\r\n\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'technology',\r\n\t\t\t\tlabel: 'Technology',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'layer',\r\n\t\t\t\tlabel: 'Layer',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t]\r\n\t);\r\n\r\n\treturn (\r\n\t\t _incConfigDialogOpen(rowData, 'Delete')}\r\n\t\t\tonEditClick={(rowData) => _incConfigDialogOpen(rowData, 'Update')}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nIncidentLayersTable.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default IncidentLayersTable;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { Typography, colors } from '@mui/material';\r\nimport ModalDialog from '../../../../../components/ModalDialog/ModalDialog.js';\r\nimport { AddIncidentConfiguration, ToggleIncConfigDialog, SetFormState, UpdateIncidentConfiguration, DeleteIncidentConfiguration } from '../../../actions/IncidentTrackerConfigurationActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\twidth: 960,\r\n\t},\r\n\theader: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\tmaxWidth: 720,\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: theme.spacing(0, 2),\r\n\t\tmaxWidth: 720,\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\thelperText: {\r\n\t\ttextAlign: 'right',\r\n\t\tmarginRight: 0,\r\n\t},\r\n\tauthor: {\r\n\t\tmargin: theme.spacing(4, 0),\r\n\t\tdisplay: 'flex',\r\n\t},\r\n\tavatar: {\r\n\t\tmarginRight: theme.spacing(2),\r\n\t},\r\n\tactions: {\r\n\t\tbackgroundColor: colors.grey[100],\r\n\t\tpadding: theme.spacing(2),\r\n\t\tdisplay: 'flex',\r\n\t\talignContent: 'right',\r\n\t},\r\n\tapplyButton: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst IncidentConfigurationDialog = (props) => {\r\n\tconst { open, onClose, children, category, mode, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = (formState) => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.incidentTrackerReducer.formState);\r\n\tconst selectedConfiguration = useSelector((state) => state.incidentTrackerConfigurationReducer.selectedConfiguration);\r\n\r\n\tconst _onConfirmClick = () => {\r\n\t\tif (mode === 'Update') {\r\n\t\t\tdispatch(UpdateIncidentConfiguration({ ...selectedConfiguration.item, name: selectedConfiguration.category }));\r\n\t\t} else if (mode === 'Add') {\r\n\t\t\tdispatch(AddIncidentConfiguration({ ...selectedConfiguration.item, name: selectedConfiguration.category }));\r\n\t\t} else if (mode === 'Delete') {\r\n\t\t\tdispatch(DeleteIncidentConfiguration(selectedConfiguration.category, selectedConfiguration.item.id));\r\n\t\t}\r\n\t\tdispatch(ToggleIncConfigDialog(false, mode));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t\t{mode === 'Delete' && (\r\n\t\t\t\t\r\n\t\t\t\t\t{`Do you want to delete this ${category.toLowerCase()}?`}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n};\r\n\r\nIncidentConfigurationDialog.propTypes = {\r\n\tonClose: PropTypes.func,\r\n\topen: PropTypes.bool.isRequired,\r\n\tchildren: PropTypes.array,\r\n\tcategory: PropTypes.string,\r\n\tmode: PropTypes.string\r\n};\r\n\r\nexport default IncidentConfigurationDialog;\r\n","import React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles, propsToClassKey } from '@mui/styles';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport validate from 'validate.js';\r\nimport { Grid, TextField } from '@mui/material';\r\nimport { SetFormState } from '../../../actions/IncidentTrackerActions';\r\n\r\nconst schema = {\r\n\tstatus: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tfields: {\r\n\t\tmargin: theme.spacing(-1),\r\n\t\tdisplay: 'flex',\r\n\t\tflexWrap: 'wrap',\r\n\t\t'& > *': {\r\n\t\t\tflexGrow: 1,\r\n\t\t\tmargin: theme.spacing(1),\r\n\t\t},\r\n\t},\r\n\tsubmitButton: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\twidth: '100%',\r\n\t},\r\n\tdivider: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\tmarginBottom: theme.spacing(2),\r\n\t},\r\n\tnoBorder: {\r\n\t\tborder: 'none',\r\n\t}\r\n}));\r\n\r\nconst IncidentConfigurationStatusForm = (props) => {\r\n\tconst classes = useStyles();\r\n\tconst { onChange, disabled, defaultConfig = undefined, ...rest } = props;\r\n\tconst [status, setStatus] = useState(defaultConfig?.status ?? '');\r\n\tconst id = defaultConfig?.id;\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.incidentTrackerReducer.formState);\r\n\r\n\tconst updateFormState = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleStatusChange = (event) => {\r\n\t\tsetStatus(event.target.value);\r\n\t\tupdateFormState(event);\r\n\t\tonChange({ id, name: 'status', value: event.target.value });\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\tstatus\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\tconst hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nIncidentConfigurationStatusForm.propTypes = {\r\n\tonChange: PropTypes.func.isRequired,\r\n\tdisabled: PropTypes.bool,\r\n\tdefaultConfig: PropTypes.object\r\n};\r\n\r\nexport default IncidentConfigurationStatusForm;\r\n","import React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles, propsToClassKey } from '@mui/styles';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport validate from 'validate.js';\r\nimport { Grid, TextField } from '@mui/material';\r\nimport { SetFormState } from '../../../actions/IncidentTrackerActions';\r\n\r\nconst schema = {\r\n\tpriority: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tfields: {\r\n\t\tmargin: theme.spacing(-1),\r\n\t\tdisplay: 'flex',\r\n\t\tflexWrap: 'wrap',\r\n\t\t'& > *': {\r\n\t\t\tflexGrow: 1,\r\n\t\t\tmargin: theme.spacing(1),\r\n\t\t},\r\n\t},\r\n\tsubmitButton: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\twidth: '100%',\r\n\t},\r\n\tdivider: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\tmarginBottom: theme.spacing(2),\r\n\t},\r\n\tnoBorder: {\r\n\t\tborder: 'none',\r\n\t}\r\n}));\r\n\r\nconst IncidentConfigurationPriorityForm = (props) => {\r\n\tconst classes = useStyles();\r\n\tconst { onChange, disabled, defaultConfig = undefined, ...rest } = props;\r\n\tconst [priority, setPriority] = useState(defaultConfig?.priority ?? '');\r\n\tconst id = defaultConfig?.id;\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.incidentTrackerReducer.formState);\r\n\r\n\tconst updateFormState = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handlePriorityChange = (event) => {\r\n\t\tsetPriority(event.target.value);\r\n\t\tupdateFormState(event);\r\n\t\tonChange({ id, name: 'priority', value: event.target.value });\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\tpriority\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\tconst hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nIncidentConfigurationPriorityForm.propTypes = {\r\n\tonChange: PropTypes.func.isRequired,\r\n\tdisabled: PropTypes.bool,\r\n\tdefaultConfig: PropTypes.object\r\n};\r\n\r\nexport default IncidentConfigurationPriorityForm;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport validate from 'validate.js';\r\nimport { Grid, TextField } from '@mui/material';\r\nimport { SetFormState } from '../../../actions/IncidentTrackerActions';\r\n\r\nconst schema = {\r\n\tgenericType: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tfields: {\r\n\t\tmargin: theme.spacing(-1),\r\n\t\tdisplay: 'flex',\r\n\t\tflexWrap: 'wrap',\r\n\t\t'& > *': {\r\n\t\t\tflexGrow: 1,\r\n\t\t\tmargin: theme.spacing(1),\r\n\t\t},\r\n\t},\r\n\tsubmitButton: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\twidth: '100%',\r\n\t},\r\n\tdivider: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\tmarginBottom: theme.spacing(2),\r\n\t},\r\n\tnoBorder: {\r\n\t\tborder: 'none',\r\n\t}\r\n}));\r\n\r\nconst IncidentConfigurationGenericTypeForm = (props) => {\r\n\tconst classes = useStyles();\r\n\tconst { defaultConfig = undefined, onChange, disabled, ...rest } = props;\r\n\tconst [genericType, setGenericType] = useState(defaultConfig?.genericType ?? '');\r\n\tconst id = defaultConfig?.id;\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.incidentTrackerReducer.formState);\r\n\r\n\tconst updateFormState = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleGenericTypeChange = (event) => {\r\n\t\tsetGenericType(event.target.value);\r\n\t\tupdateFormState(event);\r\n\t\tonChange({ id, name: 'genericType', value: event.target.value });\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\tgenericType\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\tconst hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nIncidentConfigurationGenericTypeForm.propTypes = {\r\n\tonChange: PropTypes.func.isRequired,\r\n\tdefaultConfig: PropTypes.object,\r\n\tdisabled: PropTypes.bool\r\n};\r\n\r\nexport default IncidentConfigurationGenericTypeForm;\r\n","import React, { useEffect, useCallback, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport validate from 'validate.js';\r\nimport { makeStyles, propsToClassKey } from '@mui/styles';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { InputBase, colors, Grid, TextField } from '@mui/material';\r\nimport { SelectField } from 'components';\r\nimport { GetTypeDropdown, SetFormState } from '../../../actions/IncidentTrackerActions';\r\n\r\nconst schema = {\r\n\tgenericType: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\ttype: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tdetailedType: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tfields: {\r\n\t\tmargin: theme.spacing(-1),\r\n\t\tdisplay: 'flex',\r\n\t\tflexWrap: 'wrap',\r\n\t\t'& > *': {\r\n\t\t\tflexGrow: 1,\r\n\t\t\tmargin: theme.spacing(1),\r\n\t\t},\r\n\t},\r\n\tsubmitButton: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\twidth: '100%',\r\n\t},\r\n\tdivider: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\tmarginBottom: theme.spacing(2),\r\n\t},\r\n\tnoBorder: {\r\n\t\tborder: 'none',\r\n\t}\r\n}));\r\n\r\nconst IncidentConfigurationDetailedTypeForm = (props) => {\r\n\tconst classes = useStyles();\r\n\tconst {\r\n\t\tonChange,\r\n\t\tdisabled,\r\n\t\tgenericTypes,\r\n\t\tdefaultConfig = undefined,\r\n\t\t...rest\r\n\t} = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst typeDropdown = useSelector((state) => state.incidentTrackerReducer.typeDropdown);\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.incidentTrackerReducer.formState);\r\n\tconst [selectedGenericType, setSelectedGenericType] = useState(NaN);\r\n\tconst [selectedType, setSelectedType] = useState(NaN);\r\n\tconst [detailedType, setDetailedType] = useState(defaultConfig?.detailedType);\r\n\tconst id = defaultConfig?.id;\r\n\r\n\tconst _getTypeId = (typeName) => {\r\n\t\tconst type = typeDropdown.find(t => t.text === typeName);\r\n\t\treturn type?.value;\r\n\t};\r\n\r\n\tconst _getGenericTypeId = (genericTypeName) => {\r\n\t\tconst genericType = genericTypes.find(genType => genType.text === genericTypeName);\r\n\t\treturn genericType?.value;\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (defaultConfig?.genericType && Number.isNaN(+defaultConfig?.genericType)) {\r\n\t\t\t// if the name of the generic type is given, we replace it by its ID\r\n\t\t\tconst genericTypeId = _getGenericTypeId(defaultConfig?.genericType);\r\n\t\t\tsetSelectedGenericType(genericTypeId);\r\n\t\t\tdispatch(GetTypeDropdown(genericTypeId));\r\n\t\t}\r\n\t}, [defaultConfig?.genericType]);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (defaultConfig?.type && Number.isNaN(+defaultConfig?.type)) {\r\n\t\t\t// if the name of the type is given, we replace it by its ID\r\n\t\t\tconst typeId = _getTypeId(defaultConfig?.type);\r\n\t\t\tsetSelectedType(typeId);\r\n\t\t}\r\n\t}, [typeDropdown]);\r\n\r\n\t// Initialize the form state\r\n\tuseEffect(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\tgenericType: selectedGenericType,\r\n\t\t\t\ttype: selectedType,\r\n\t\t\t\tdetailedType\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\tconst updateFormState = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleGenericTypeChange = (event) => {\r\n\t\tif (event.target.value != null) {\r\n\t\t\tsetSelectedGenericType(event.target.value);\r\n\t\t\tdispatch(GetTypeDropdown(event.target.value));\r\n\t\t}\r\n\t\tif (event.target.value !== selectedGenericType) {\r\n\t\t\tsetSelectedType(NaN);\r\n\t\t\tsetFormState({\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\tgenericType: selectedGenericType,\r\n\t\t\t\t\tdetailedType: formState.values.detailedType\r\n\t\t\t\t},\r\n\t\t\t\ttouched: {\r\n\t\t\t\t\t...formState.touched,\r\n\t\t\t\t\t[event.target.name]: true,\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t}\r\n\t\tonChange({ id, dependencyId: selectedType, value: detailedType, name: 'detailedType' });\r\n\t};\r\n\r\n\tconst _handleTypeChange = (event) => {\r\n\t\tupdateFormState(event);\r\n\t\tsetSelectedType(event.target.value);\r\n\t\tonChange({ id, dependencyId: event.target.value, value: detailedType, name: 'detailedType' });\r\n\t};\r\n\r\n\tconst _handleDetailedTypeChange = (event) => {\r\n\t\tupdateFormState(event);\r\n\t\tsetDetailedType(event.target.value);\r\n\t\tonChange({ id, dependencyId: selectedType, value: event.target.value, name: 'detailedType' });\r\n\t};\r\n\r\n\tconst hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nIncidentConfigurationDetailedTypeForm.propTypes = {\r\n\tonChange: PropTypes.func.isRequired,\r\n\tdisabled: PropTypes.bool,\r\n\tgenericTypes: PropTypes.array,\r\n\tdefaultConfig: PropTypes.object,\r\n};\r\n\r\nexport default IncidentConfigurationDetailedTypeForm;\r\n","import React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles, propsToClassKey } from '@mui/styles';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport validate from 'validate.js';\r\nimport { Grid, TextField } from '@mui/material';\r\nimport { SetFormState } from '../../../actions/IncidentTrackerActions';\r\n\r\nconst schema = {\r\n\ttechnology: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tfields: {\r\n\t\tmargin: theme.spacing(-1),\r\n\t\tdisplay: 'flex',\r\n\t\tflexWrap: 'wrap',\r\n\t\t'& > *': {\r\n\t\t\tflexGrow: 1,\r\n\t\t\tmargin: theme.spacing(1),\r\n\t\t},\r\n\t},\r\n\tsubmitButton: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\twidth: '100%',\r\n\t},\r\n\tdivider: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\tmarginBottom: theme.spacing(2),\r\n\t},\r\n\tnoBorder: {\r\n\t\tborder: 'none',\r\n\t}\r\n}));\r\n\r\nconst IncidentConfigurationTechnologyForm = (props) => {\r\n\tconst classes = useStyles();\r\n\tconst { onChange, disabled, defaultConfig = undefined, ...rest } = props;\r\n\tconst [technology, setTechnology] = useState(defaultConfig?.technology ?? '');\r\n\tconst id = defaultConfig?.id;\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.incidentTrackerReducer.formState);\r\n\r\n\tconst updateFormState = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleTechnologyChange = (event) => {\r\n\t\tsetTechnology(event.target.value);\r\n\t\tupdateFormState(event);\r\n\t\tonChange({ id, name: 'technology', value: event.target.value });\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\ttechnology\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\tconst hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nIncidentConfigurationTechnologyForm.propTypes = {\r\n\tonChange: PropTypes.func.isRequired,\r\n\tdisabled: PropTypes.bool,\r\n\tdefaultConfig: PropTypes.object\r\n};\r\n\r\nexport default IncidentConfigurationTechnologyForm;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { SelectField } from 'components';\r\nimport validate from 'validate.js';\r\nimport { Grid, TextField } from '@mui/material';\r\nimport { SetFormState } from '../../../actions/IncidentTrackerActions';\r\n\r\nconst schema = {\r\n\tgenericType: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\ttype: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tfields: {\r\n\t\tmargin: theme.spacing(-1),\r\n\t\tdisplay: 'flex',\r\n\t\tflexWrap: 'wrap',\r\n\t\t'& > *': {\r\n\t\t\tflexGrow: 1,\r\n\t\t\tmargin: theme.spacing(1),\r\n\t\t},\r\n\t},\r\n\tsubmitButton: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\twidth: '100%',\r\n\t},\r\n\tdivider: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\tmarginBottom: theme.spacing(2),\r\n\t},\r\n\tnoBorder: {\r\n\t\tborder: 'none',\r\n\t}\r\n}));\r\n\r\nconst IncidentConfigurationTypeForm = (props) => {\r\n\tconst classes = useStyles();\r\n\tconst {\r\n\t\tonChange,\r\n\t\tdisabled,\r\n\t\tgenericTypes,\r\n\t\tdefaultConfig = undefined,\r\n\t\t...rest\r\n\t} = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.incidentTrackerReducer.formState);\r\n\r\n\tconst updateFormState = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _getGenericTypeId = (genericTypeName) => {\r\n\t\tconst genericType = genericTypes.find(genType => genType.text === genericTypeName);\r\n\t\treturn genericType?.value;\r\n\t};\r\n\r\n\tconst [selectedGenericType, setSelectedGenericType] = useState(_getGenericTypeId(defaultConfig?.genericType)); // id of generic type\r\n\tconst [type, setType] = useState(defaultConfig?.type ?? '');\r\n\tconst id = defaultConfig?.id;\r\n\r\n\tconst _handleGenericTypeChange = (event) => {\r\n\t\tsetSelectedGenericType(event.target.value);\r\n\t\tupdateFormState(event);\r\n\t\tonChange({ id, dependencyId: event.target.value, value: type, name: 'type' });\r\n\t};\r\n\r\n\tconst _handleTypeChange = (event) => {\r\n\t\tsetType(event.target.value);\r\n\t\tupdateFormState(event);\r\n\t\tonChange({ id, dependencyId: selectedGenericType, value: event.target.value, name: 'type' });\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\tgenericType: selectedGenericType,\r\n\t\t\t\ttype\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\tconst hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nIncidentConfigurationTypeForm.propTypes = {\r\n\tonChange: PropTypes.func.isRequired,\r\n\tdisabled: PropTypes.bool,\r\n\tgenericTypes: PropTypes.array,\r\n\tdefaultConfig: PropTypes.object\r\n};\r\n\r\nexport default IncidentConfigurationTypeForm;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { SelectField } from 'components';\r\nimport validate from 'validate.js';\r\nimport { Grid, TextField } from '@mui/material';\r\nimport { SetFormState } from '../../../actions/IncidentTrackerActions';\r\n\r\nconst schema = {\r\n\ttechnology: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tlayer: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tfields: {\r\n\t\tmargin: theme.spacing(-1),\r\n\t\tdisplay: 'flex',\r\n\t\tflexWrap: 'wrap',\r\n\t\t'& > *': {\r\n\t\t\tflexGrow: 1,\r\n\t\t\tmargin: theme.spacing(1),\r\n\t\t},\r\n\t},\r\n\tsubmitButton: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\twidth: '100%',\r\n\t},\r\n\tdivider: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\tmarginBottom: theme.spacing(2),\r\n\t},\r\n\tnoBorder: {\r\n\t\tborder: 'none',\r\n\t}\r\n}));\r\n\r\nconst IncidentConfigurationLayerForm = (props) => {\r\n\tconst classes = useStyles();\r\n\tconst {\r\n\t\tonChange,\r\n\t\tdisabled,\r\n\t\ttechnologies,\r\n\t\tdefaultConfig = undefined,\r\n\t\t...rest\r\n\t} = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.incidentTrackerReducer.formState);\r\n\r\n\tconst updateFormState = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _getTechnologyId = (technologyName) => {\r\n\t\tconst technology = technologies.find(tech => tech.text === technologyName);\r\n\t\treturn technology?.value;\r\n\t};\r\n\r\n\tconst [selectedTechnology, setSelectedTechnology] = useState(_getTechnologyId(defaultConfig?.technology));\r\n\tconst [layer, setLayer] = useState(defaultConfig?.layer ?? '');\r\n\tconst id = defaultConfig?.id;\r\n\r\n\tconst _handleTechnologyChange = (event) => {\r\n\t\tsetSelectedTechnology(event.target.value);\r\n\t\tupdateFormState(event);\r\n\t\tonChange({ id, name: 'layers', dependencyId: event.target.value, value: layer });\r\n\t};\r\n\r\n\tconst _handleLayerChange = (event) => {\r\n\t\tsetLayer(event.target.value);\r\n\t\tupdateFormState(event);\r\n\t\tonChange({ id, name: 'layers', dependencyId: selectedTechnology, value: event.target.value });\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\ttechnology: selectedTechnology,\r\n\t\t\t\tlayer\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\tconst hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nIncidentConfigurationLayerForm.propTypes = {\r\n\tonChange: PropTypes.func.isRequired,\r\n\tdisabled: PropTypes.bool,\r\n\ttechnologies: PropTypes.array,\r\n\tdefaultConfig: PropTypes.object\r\n};\r\n\r\nexport default IncidentConfigurationLayerForm;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Page, Header } from 'components';\r\nimport { AddCircleOutline, AddCircleOutlined, AddCircleOutlineRounded, AddCircleSharp } from '@mui/icons-material';\r\nimport { Divider, Grid, colors, ListSubheader, Paper, Button, IconButton,\r\n\tList, ListItemButton, ListItemIcon, ListItemText, ListItem, Tooltip,\r\n\tTableContainer, Table, TableCell, TableRow, TableBody, TableHead } from '@mui/material';\r\nimport SubdirectoryArrowRightIcon from '@mui/icons-material/SubdirectoryArrowRight';\r\nimport IncidentStatusTable from './components/IncidentStatusTable';\r\nimport IncidentPriorityTable from './components/IncidentPriorityTable';\r\nimport IncidentGenericTypeTable from './components/IncidentGenericTypeTable';\r\nimport IncidentTypeTable from './components/IncidentTypeTable';\r\nimport IncidentDetailedTypeTable from './components/IncidentDetailedTypeTable';\r\nimport IncidentTechnologyTable from './components/IncidentTechnologyTable';\r\nimport IncidentLayersTable from './components/IncidentLayersTable';\r\nimport IncidentConfigurationDialog from './components/IncidentConfigurationDialog';\r\n\r\nimport {\r\n\tToggleIncConfigDialog,\r\n\tGetIncidentConfigurations,\r\n\tSelectIncidentConfiguration,\r\n\tSetFormState\r\n} from '../../actions/IncidentTrackerConfigurationActions.js';\r\n\r\nimport IncidentConfigurationStatusForm from './components/IncidentConfigurationStatusForm';\r\nimport IncidentConfigurationPriorityForm from './components/IncidentConfigurationPriorityForm';\r\nimport IncidentConfigurationGenericTypeForm from './components/IncidentConfigurationGenericTypeForm';\r\nimport IncidentConfigurationDetailedTypeForm from './components/IncidentConfigurationDetailedTypeForm';\r\nimport IncidentConfigurationTechnologyForm from './components/IncidentConfigurationTechnologyForm';\r\nimport IncidentConfigurationTypeForm from './components/IncidentConfigurationTypeForm';\r\nimport IncidentConfigurationLayerForm from './components/IncidentConfigurationLayerForm';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tpaper: {\r\n\t\tpadding: theme.spacing(1)\r\n\t},\r\n\tpopover: {\r\n\t\tpointerEvents: 'none'\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900]\r\n\t\t}\r\n\t},\r\n\tprimaryButton: {\r\n\t\tcolor: theme.palette.primary.main\r\n\t},\r\n}));\r\n\r\nconst configs = [\r\n\t{\r\n\t\tname: 'status',\r\n\t\tlabel: 'Status',\r\n\t\tlevel: 0\r\n\t},\r\n\t{\r\n\t\tname: 'priority',\r\n\t\tlabel: 'Priority',\r\n\t\tlevel: 0\r\n\t},\r\n\t{\r\n\t\tname: 'genericType',\r\n\t\tlabel: 'Generic Type',\r\n\t\tlevel: 0\r\n\t},\r\n\t{\r\n\t\tname: 'type',\r\n\t\tlabel: 'Type',\r\n\t\tlevel: 1\r\n\t},\r\n\t{\r\n\t\tname: 'detailedType',\r\n\t\tlabel: 'Detailed Type',\r\n\t\tlevel: 2\r\n\t},\r\n\t{\r\n\t\tname: 'technology',\r\n\t\tlabel: 'Technology',\r\n\t\tlevel: 0\r\n\t},\r\n\t{\r\n\t\tname: 'layer',\r\n\t\tlabel: 'Layer',\r\n\t\tlevel: 1\r\n\t},\r\n];\r\n\r\nconst IncidentTrackerConfiguration = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst [selectedConfigCategory, setSelectedConfigCategory] = useState('genericType');\r\n\tconst [selectedConfigCategoryLabel, setSelectedConfigCategoryLabel] = useState('Generic Type');\r\n\tconst incidentConfigurations = useSelector((state) => state.incidentTrackerConfigurationReducer.incidentConfigurations);\r\n\tconst incConfigDialogVisibility = useSelector((state) => state.incidentTrackerConfigurationReducer.incConfigDialogVisibility);\r\n\tconst incConfigDialogMode = useSelector((state) => state.incidentTrackerConfigurationReducer.incConfigDialogMode);\r\n\tconst selectedConfiguration = useSelector((state) => state.incidentTrackerConfigurationReducer.selectedConfiguration);\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\r\n\tconst _incConfigAddDialogOpen = (configuration, categoryLabel) => {\r\n\t\tsetSelectedConfigCategoryLabel(categoryLabel);\r\n\t\tsetSelectedConfigCategory(configuration.category);\r\n\t\tdispatch(SelectIncidentConfiguration(configuration));\r\n\t\tdispatch(ToggleIncConfigDialog(true, 'Add'));\r\n\t};\r\n\r\n\tconst _handleSelectedConfigChange = (category, item) => {\r\n\t\tdispatch(SelectIncidentConfiguration({ category, item }));\r\n\t};\r\n\r\n\tconst _incConfigDialogClose = () => {\r\n\t\tsetFormState({\r\n\t\t\tisValid: false,\r\n\t\t\tvalues: {},\r\n\t\t\ttouched: {},\r\n\t\t\terrors: {},\r\n\t\t});\r\n\t\tdispatch(ToggleIncConfigDialog(false, 'Add'));\r\n\t};\r\n\r\n\tconst _handleConfigCategoryChange = (configuration, categoryLabel) => {\r\n\t\tsetSelectedConfigCategoryLabel(categoryLabel);\r\n\t\tdispatch(SelectIncidentConfiguration(configuration));\r\n\t\tsetSelectedConfigCategory(configuration.category);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatch(GetIncidentConfigurations());\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tConfigurations\r\n\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{configs.map(conf => (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t _handleConfigCategoryChange({ category: conf.name }, conf.label)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{conf.level !== 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t _incConfigAddDialogOpen({ category: conf.name }, conf.label)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t{selectedConfigCategory === 'status' && }\r\n\t\t\t\t\t{selectedConfigCategory === 'priority' && }\r\n\t\t\t\t\t{selectedConfigCategory === 'genericType' && }\r\n\t\t\t\t\t{selectedConfigCategory === 'type' && }\r\n\t\t\t\t\t{selectedConfigCategory === 'detailedType' && }\r\n\t\t\t\t\t{selectedConfigCategory === 'technology' && }\r\n\t\t\t\t\t{selectedConfigCategory === 'layer' && }\r\n\r\n\t\t\t\t\t{incConfigDialogVisibility && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{selectedConfigCategory === 'status' && (\r\n\t\t\t\t\t\t\t\t _handleSelectedConfigChange(selectedConfigCategory, val)}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{selectedConfigCategory === 'priority' && (\r\n\t\t\t\t\t\t\t\t _handleSelectedConfigChange(selectedConfigCategory, val)}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{selectedConfigCategory === 'genericType' && (\r\n\t\t\t\t\t\t\t\t _handleSelectedConfigChange(selectedConfigCategory, val)}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{selectedConfigCategory === 'type' && (\r\n\t\t\t\t\t\t\t\t ({ text: genericType.genericType, value: genericType.id }))}\r\n\t\t\t\t\t\t\t\t\tonChange={(val) => _handleSelectedConfigChange(selectedConfigCategory, val)}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{selectedConfigCategory === 'detailedType' && (\r\n\t\t\t\t\t\t\t\t ({ text: genericType.genericType, value: genericType.id }))}\r\n\t\t\t\t\t\t\t\t\ttypes={incidentConfigurations.types.map(type => ({ text: type.type, value: type.id }))}\r\n\t\t\t\t\t\t\t\t\tonChange={(val) => _handleSelectedConfigChange(selectedConfigCategory, val)}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{selectedConfigCategory === 'technology' && (\r\n\t\t\t\t\t\t\t\t _handleSelectedConfigChange(selectedConfigCategory, val)}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{selectedConfigCategory === 'layer' && (\r\n\t\t\t\t\t\t\t\t _handleSelectedConfigChange(selectedConfigCategory, val)}\r\n\t\t\t\t\t\t\t\t\ttechnologies={incidentConfigurations.technologies.map(tech => ({ text: tech.technology, value: tech.id }))}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default IncidentTrackerConfiguration;\r\n","import { useDispatch } from 'react-redux';\r\nimport React from 'react';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Page, Header } from 'components';\r\nimport { Grid, Button, colors } from '@mui/material';\r\n\r\nimport { ExportSites } from '../../actions/SiteTrackerActions.js';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tpaper: {\r\n\t\tpadding: theme.spacing(1)\r\n\t},\r\n\tpopover: {\r\n\t\tpointerEvents: 'none'\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900]\r\n\t\t}\r\n\t}\r\n}));\r\n\r\nconst SiteTracker = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst _onExportSitesClick = () => {\r\n\t\tdispatch(ExportSites());\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tExport Sites\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default SiteTracker;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const ExportSitesRequest = () => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}SiteTracker/ExportSites`,\r\n});\r\n","import React, { useEffect } from 'react';\r\nimport clsx from 'clsx';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, TextField, colors } from '@mui/material';\r\nimport { SelectField, FilePicker, Checkbox } from 'components';\r\nimport DatePicker from 'components/DatePicker/DatePicker';\r\nimport validate from 'validate.js';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { RANDumpExport, SetFormState } from '../../actions/RANDumpExportActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tsite: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tstartDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tendDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\treportType: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\treportTech: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst reportType = [\r\n\t{ value: 'Daily', text: 'Daily' },\r\n\t{ value: 'Hourly', text: 'Hourly' }\r\n];\r\n\r\nconst reportTech = [\r\n\t{ value: 'All', text: 'All' },\r\n\t{ value: '2G', text: '2G' },\r\n\t{ value: '4G', text: '4G' },\r\n\t{ value: '5G', text: '5G' }\r\n];\r\n\r\nconst RANDumpExportForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.RANDumpExportReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateChange = (value, name) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[name]: value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst _generate = () => {\r\n\t\tdispatch(RANDumpExport(formState.values, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'startDate')}\r\n\t\t\t\t\t\t\terror={_hasError('startDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('startDate') ? formState.errors.startDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'endDate')}\r\n\t\t\t\t\t\t\terror={_hasError('endDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('endDate') ? formState.errors.endDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default RANDumpExportForm;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport uuid from 'uuid/v1';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tCardActions,\r\n\tDivider,\r\n\tButton,\r\n\tGrid,\r\n\tTextField,\r\n\tCheckbox,\r\n\tAutocomplete\r\n} from '@mui/material';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { Page, Header, Alert } from 'components';\r\n\r\nimport CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank';\r\nimport CheckBoxIcon from '@mui/icons-material/CheckBox';\r\nimport { RANDumpExportForm } from './components';\r\nimport { RANDumpExport, SetFormState } from '../actions/RANDumpExportActions';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tsitelist: {\r\n\t\tmarginTop: theme.spacing(6)\r\n\t}\r\n}));\r\n\r\nconst DumpExport = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst sites = useSelector(state => state.reportsReducer.sites);\r\n\tconst selectedSites = useSelector(\r\n\t\tstate => state.reportsReducer.selectedSites\r\n\t);\r\n\tconst lastUpdate = useSelector(state => state.reportsReducer.lastUpdate);\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector(state => state.RANDumpExportReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\tsite: '',\r\n\t\t\t\tstartDate: null,\r\n\t\t\t\tendDate: null,\r\n\t\t\t\treportType: '',\r\n\t\t\t\treportTech: ''\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\tsite: false\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default DumpExport;\r\n","import React, { useEffect } from 'react';\r\nimport clsx from 'clsx';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, TextField, colors } from '@mui/material';\r\nimport DatePicker from 'components/DatePicker/DatePicker';\r\nimport validate from 'validate.js';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { CPMDumpExport, SetFormState } from '../../actions/CPMDumpExportActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tsites: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst CPMDumpExportForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.CPMDumpExportReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateChange = (value, name) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[name]: value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst _generate = () => {\r\n\t\tdispatch(CPMDumpExport(formState.values, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default CPMDumpExportForm;\r\n","import config from '../../../configuration/configuration.js';\r\nimport AxiosRequest from '../../../utils/AxiosRequest';\r\n\r\nexport const CPMDumpExportRequest = (Values, UserId) => AxiosRequest({\r\n\tmethod: 'POST',\r\n\turl: `${config.API_URL}RanReportKpis/GenerateCPMExport`,\r\n\tdata: { Values, UserId }\r\n});\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport uuid from 'uuid/v1';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tCardActions,\r\n\tDivider,\r\n\tButton,\r\n\tGrid,\r\n\tTextField,\r\n\tCheckbox,\r\n\tAutocomplete\r\n} from '@mui/material';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { Page, Header, Alert } from 'components';\r\n\r\nimport CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank';\r\nimport CheckBoxIcon from '@mui/icons-material/CheckBox';\r\nimport { CPMDumpExportForm } from './CPMDump';\r\nimport { CPMDumpExport, SetFormState } from '../actions/CPMDumpExportActions';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tsitelist: {\r\n\t\tmarginTop: theme.spacing(6)\r\n\t}\r\n}));\r\n\r\nconst DumpExport = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst sites = useSelector(state => state.reportsReducer.sites);\r\n\tconst selectedSites = useSelector(\r\n\t\tstate => state.reportsReducer.selectedSites\r\n\t);\r\n\tconst lastUpdate = useSelector(state => state.reportsReducer.lastUpdate);\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector(state => state.CPMDumpExportReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\tsite: ''\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\tsite: false\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default DumpExport;\r\n","/* eslint-disable max-len */\r\nimport React, { useState } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Page, FilesDropzone, Header, Alert } from 'components';\r\nimport { Card, CardContent, CardActions, Grid, Divider, TextField, Accordion, AccordionSummary, AccordionDetails, Typography, colors } from '@mui/material';\r\nimport { GEOInputUpload } from '../../actions/GEOInputFileActions.js';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tpaper: {\r\n\t\tpadding: theme.spacing(1)\r\n\t},\r\n\tpopover: {\r\n\t\tpointerEvents: 'none'\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900]\r\n\t\t}\r\n\t}\r\n}));\r\n\r\nconst GEOInput = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst user = useSelector(state => state.session.user);\r\n\r\n\tconst _GEOInputUpload = file => {\r\n\t\tconst username = `${user.firstname} ${user.lastname}`;\r\n\t\tdispatch(GEOInputUpload(file[0], user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tThis module its only to upload GEO input file and generate a report file.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default GEOInput;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { colors } from '@mui/material';\r\nimport { Page, Header } from 'components';\r\nimport GEOInput from './GEOInputFile/GEOInputFileUpload';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst GEOFiles = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst getData = useCallback(() => {\r\n\t\t// dispatch(GetTemplates());\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tgetData();\r\n\t}, []);\r\n\r\n\tconst [value, setValue] = React.useState('1');\r\n\r\n\tconst handleChange = (event, newValue) => {\r\n\t\tsetValue(newValue);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default GEOFiles;\r\n","import React, { useEffect } from 'react';\r\nimport clsx from 'clsx';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardContent, CardActions, Grid, Divider, TextField, colors } from '@mui/material';\r\nimport { SelectField, FilePicker, Checkbox } from 'components';\r\nimport DatePicker from 'components/DatePicker/DatePicker';\r\nimport validate from 'validate.js';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { SiteAssessment7Days, SetFormState } from '../../actions/SiteAssessment7DaysActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tsite: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tbands: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tstartDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tperiodDays: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n\r\n};\r\n\r\nconst bands = [\r\n\t{ value: 'All', text: 'All Bands' },\r\n\t{ value: 'L800', text: 'L800' },\r\n\t{ value: 'L1800', text: 'L1800' },\r\n\t{ value: 'L2600', text: 'L2600' }\r\n];\r\n\r\nconst reportType = [\r\n\t{ value: 'Site Acceptance', text: 'Site Acceptance' },\r\n\t{ value: 'Site Selection', text: 'Site Selection' }\r\n];\r\n\r\nconst SiteAssessment7DaysForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.SiteAssessmentReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateChange = (value, name) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[name]: value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst _generate = () => {\r\n\t\tdispatch(SiteAssessment7Days(formState.values, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'startDate')}\r\n\t\t\t\t\t\t\terror={_hasError('startDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('startDate') ? formState.errors.startDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default SiteAssessment7DaysForm;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport uuid from 'uuid/v1';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tCardActions,\r\n\tDivider,\r\n\tButton,\r\n\tGrid,\r\n\tTextField,\r\n\tCheckbox,\r\n\tAutocomplete\r\n} from '@mui/material';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { Page, Header, Alert } from 'components';\r\n\r\nimport CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank';\r\nimport CheckBoxIcon from '@mui/icons-material/CheckBox';\r\nimport { SiteAssessment7DaysForm } from './components';\r\nimport { SiteAssessment7Days, SetFormState } from '../actions/SiteAssessment7DaysActions';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tsitelist: {\r\n\t\tmarginTop: theme.spacing(6)\r\n\t}\r\n}));\r\n\r\nconst SiteAssessmentExport = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst sites = useSelector(state => state.reportsReducer.sites);\r\n\tconst selectedSites = useSelector(\r\n\t\tstate => state.reportsReducer.selectedSites\r\n\t);\r\n\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector(state => state.SiteAssessmentReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\tsite: '',\r\n\t\t\t\tstartDate: null,\r\n\t\t\t\tperiodDays: '7',\r\n\t\t\t\tbands: 'All'\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\tsite: false\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default SiteAssessmentExport;\r\n","import React, { useEffect } from 'react';\r\nimport clsx from 'clsx';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, TextField, colors } from '@mui/material';\r\nimport DatePicker from 'components/DatePicker/DatePicker';\r\nimport { SelectField, FilePicker, Checkbox } from 'components';\r\nimport validate from 'validate.js';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { PerformanceRequest, SetFormState } from '../../actions/TopOffendersActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tsubRegion: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tstartDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tendDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst SubRegions = [\r\n\t{ value: 'All Regions', text: 'All Regions' },\r\n\t{ value: 'Central Region -A', text: 'Central Region - A' },\r\n\t{ value: 'Central Region - B', text: 'Central Region - B' },\r\n\t{ value: 'Central Region -C', text: 'Central Region - C' },\r\n\t{ value: 'London - A', text: 'London - A' },\r\n\t{ value: 'London - B', text: 'London - B' },\r\n\t{ value: 'London - C', text: 'London - C' },\r\n\t{ value: 'London - D', text: 'London - D' },\r\n\t{ value: 'Scotland', text: 'Scotland' },\r\n\t{ value: 'South Region - A', text: 'South Region - A' },\r\n\t{ value: 'South Region - B', text: 'South Region - B' },\r\n\t{ value: 'South England - C', text: 'South England - C' },\r\n\t{ value: 'Northern Ireland', text: 'Northern Ireland' },\r\n\t{ value: 'North Region - C', text: 'North Region - C' },\r\n\t{ value: 'North Region - B', text: 'North Region - B' },\r\n\t{ value: 'North Region - A', text: 'North Region - A' }\r\n];\r\n\r\nconst TopOffendersForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.TopOffendersReducers.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateChange = (value, name) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[name]: value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst _generate = () => {\r\n\t\tdispatch(PerformanceRequest(formState.values, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'startDate')}\r\n\t\t\t\t\t\t\terror={_hasError('startDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('startDate') ? formState.errors.startDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'endDate')}\r\n\t\t\t\t\t\t\terror={_hasError('endDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('endDate') ? formState.errors.endDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default TopOffendersForm;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport uuid from 'uuid/v1';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tCardActions,\r\n\tDivider,\r\n\tButton,\r\n\tGrid,\r\n\tTextField,\r\n\tCheckbox,\r\n\tAutocomplete\r\n} from '@mui/material';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { Page, Header, Alert } from 'components';\r\n\r\nimport CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank';\r\nimport CheckBoxIcon from '@mui/icons-material/CheckBox';\r\nimport { TopOffendersForm } from './components';\r\nimport { PerformanceRequest, SetFormState } from '../actions/TopOffendersActions';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tsitelist: {\r\n\t\tmarginTop: theme.spacing(6)\r\n\t}\r\n}));\r\n\r\nconst DumpExport = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector(state => state.TopOffendersReducers.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\tsubRegion: '',\r\n\t\t\t\tstartDate: null,\r\n\t\t\t\tendDate: null\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\tsite: false\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default DumpExport;\r\n","import React, { useEffect } from 'react';\r\nimport clsx from 'clsx';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, TextField, colors } from '@mui/material';\r\nimport DatePicker from 'components/DatePicker/DatePicker';\r\nimport { SelectField, FilePicker, Checkbox } from 'components';\r\nimport validate from 'validate.js';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { PerformanceCitiesRequest, SetFormState } from '../../actions/TopOffendersCitiesActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tcities: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tstartDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tendDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst cities = [\r\n\t{ value: 'All Cities', text: 'All Cities' },\r\n\t{ value: 'Belfast', text: 'Belfast' },\r\n\t{ value: 'Birmingham', text: 'Birmingham' },\r\n\t{ value: 'Leeds_Bradford', text: 'Leeds_Bradford' },\r\n\t{ value: 'Bristol', text: 'Bristol' },\r\n\t{ value: 'Cardiff', text: 'Cardiff' },\r\n\t{ value: 'Coventry', text: 'Coventry' },\r\n\t{ value: 'Edinburgh', text: 'Edinburgh' },\r\n\t{ value: 'Glasgow', text: 'Glasgow' },\r\n\t{ value: 'Southampton_Portsmouth', text: 'Southampton_Portsmouth' },\r\n\t{ value: 'Leicester', text: 'Leicester' },\r\n\t{ value: 'Liverpool', text: 'Liverpool' },\r\n\t{ value: 'London', text: 'London' },\r\n\t{ value: 'Manchester', text: 'Manchester' },\r\n\t{ value: 'Newcastle upon Tyne', text: 'Newcastle upon Tyne' },\r\n\t{ value: 'Nottingham', text: 'Nottingham' },\r\n\t{ value: 'Sheffield', text: 'Sheffield' }\r\n];\r\n\r\nconst TopOffendersCitiesForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.RANDumpExportReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateChange = (value, name) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[name]: value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst _generate = () => {\r\n\t\tdispatch(PerformanceCitiesRequest(formState.values, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'startDate')}\r\n\t\t\t\t\t\t\terror={_hasError('startDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('startDate') ? formState.errors.startDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'endDate')}\r\n\t\t\t\t\t\t\terror={_hasError('endDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('endDate') ? formState.errors.endDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default TopOffendersCitiesForm;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport uuid from 'uuid/v1';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tCardActions,\r\n\tDivider,\r\n\tButton,\r\n\tGrid,\r\n\tTextField,\r\n\tCheckbox,\r\n\tAutocomplete\r\n} from '@mui/material';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { Page, Header, Alert } from 'components';\r\n\r\nimport CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank';\r\nimport CheckBoxIcon from '@mui/icons-material/CheckBox';\r\nimport { TopOffendersCitiesForm } from './components';\r\nimport { PerformanceCitiesRequest, SetFormState } from '../actions/TopOffendersCitiesActions';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tsitelist: {\r\n\t\tmarginTop: theme.spacing(6)\r\n\t}\r\n}));\r\n\r\nconst DumpExport = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector(state => state.TopOffendersCitiesReducers.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\tcities: '',\r\n\t\t\t\tstartDate: null,\r\n\t\t\t\tendDate: null\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\tcities: false\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default DumpExport;\r\n","import React, { useEffect } from 'react';\r\nimport clsx from 'clsx';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, TextField, colors } from '@mui/material';\r\nimport DatePicker from 'components/DatePicker/DatePicker';\r\nimport validate from 'validate.js';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { RanReportRF, SetFormState } from '../../actions/RanReportRFActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tmarginLeft: 'auto',\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tsite: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tstartDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tpre: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tpost: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst RanReportRFForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.ranReportRFReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateChange = (value, name) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[name]: value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst _generate = () => {\r\n\t\tdispatch(RanReportRF(formState.values, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'startDate')}\r\n\t\t\t\t\t\t\terror={_hasError('startDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('startDate') ? formState.errors.startDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default RanReportRFForm;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, TextField, colors } from '@mui/material';\r\nimport { SelectField } from 'components';\r\nimport DatePicker from 'components/DatePicker/DatePicker';\r\nimport validate from 'validate.js';\r\n\r\nimport { RanReportRFClusterDaily, RanReportRFClusterHourly, SetFormStateCluster } from '../../actions/RanReportRFActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tmarginLeft: 'auto',\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tsite: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' }, length: { maximum: 1250 }\r\n\t},\r\n\tstartDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tpre: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' }, numericality: { greaterThanOrEqualTo: 1, lessThanOrEqualTo: 15 }\r\n\t},\r\n\tpost: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' }, numericality: { greaterThanOrEqualTo: 1, lessThanOrEqualTo: 15 }\r\n\t},\r\n\taggregation: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst RanReportRFClusterForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormStateCluster = formStateCluster => dispatch(SetFormStateCluster(formStateCluster));\r\n\tconst formStateCluster = useSelector((state) => state.ranReportRFReducer.formStateCluster);\r\n\r\n\tconst _hasError = (field) => (!!(formStateCluster.touched[field] && formStateCluster.errors[field]));\r\n\r\n\tconst user = useSelector(state => state.session.user);\r\n\r\n\tconst _generate = () => {\r\n\t\tif (formStateCluster.values.aggregation === 'Daily') {\r\n\t\t\tdispatch(RanReportRFClusterDaily(formStateCluster.values, user.id));\r\n\t\t} else if (formStateCluster.values.aggregation === 'Hourly') {\r\n\t\t\tdispatch(RanReportRFClusterHourly(formStateCluster.values, user.id));\r\n\t\t}\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formStateCluster.values, schema);\r\n\r\n\t\tsetFormStateCluster({\r\n\t\t\t...formStateCluster,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formStateCluster.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tsetFormStateCluster({\r\n\t\t\t...formStateCluster,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formStateCluster.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formStateCluster.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateChange = (value, name) => {\r\n\t\tsetFormStateCluster({\r\n\t\t\t...formStateCluster,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formStateCluster.values,\r\n\t\t\t\t[name]: value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formStateCluster.touched,\r\n\t\t\t\t[name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'startDate')}\r\n\t\t\t\t\t\t\terror={_hasError('startDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('startDate') ? formStateCluster.errors.startDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default RanReportRFClusterForm;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport { Page, Header, Alert } from 'components';\r\nimport { Popover, Typography, Grid } from '@mui/material';\r\n\r\nimport RanReportRFForm from './components/RanReportRFForm';\r\nimport RanReportRFClusterForm from './components/RanReportRFClusterForm';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(1)\r\n\t},\r\n}));\r\n\r\nconst ReportRFExport = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst [anchorEl, setAnchorEl] = useState(null);\r\n\tconst open = Boolean(anchorEl);\r\n\r\n\tconst handlePopoverOpen = (event) => {\r\n\t\tsetAnchorEl(event.currentTarget);\r\n\t};\r\n\r\n\tconst handlePopoverClose = () => {\r\n\t\tsetAnchorEl(null);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\tWhen run for multiple sites, it will generate multiple site level reports.\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\tWhen run for multiple sites, it will generate one cluster level report.\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default ReportRFExport;\r\n","import React, { useEffect } from 'react';\r\nimport _ from 'underscore';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardContent, CardActions, Grid, Divider, TextField, colors } from '@mui/material';\r\nimport DatePicker from 'components/DatePicker/DatePicker';\r\nimport { SelectField } from 'components';\r\nimport validate from 'validate.js';\r\nimport { WorstSitesRequest, SetFormState } from '../../actions/WorstSitesActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tsubRegion: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tstartDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tendDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst SubRegions = [\r\n\t{ value: 'All Regions', text: 'All Regions' },\r\n\t{ value: 'Central Region -A', text: 'Central Region - A' },\r\n\t{ value: 'Central Region - B', text: 'Central Region - B' },\r\n\t{ value: 'Central Region -C', text: 'Central Region - C' },\r\n\t{ value: 'London - A', text: 'London - A' },\r\n\t{ value: 'London - B', text: 'London - B' },\r\n\t{ value: 'London - C', text: 'London - C' },\r\n\t{ value: 'London - D', text: 'London - D' },\r\n\t{ value: 'Scotland', text: 'Scotland' },\r\n\t{ value: 'South Region - A', text: 'South Region - A' },\r\n\t{ value: 'South Region - B', text: 'South Region - B' },\r\n\t{ value: 'South England - C', text: 'South England - C' },\r\n\t{ value: 'Northern Ireland', text: 'Northern Ireland' },\r\n\t{ value: 'North Region - C', text: 'North Region - C' },\r\n\t{ value: 'North Region - B', text: 'North Region - B' },\r\n\t{ value: 'North Region - A', text: 'North Region - A' }\r\n];\r\n\r\nconst TopOffendersWorstForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.TopOffendersWorstSitesReducers.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateChange = (value, name) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[name]: value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst _generate = () => {\r\n\t\tdispatch(WorstSitesRequest(formState.values, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'startDate')}\r\n\t\t\t\t\t\t\terror={_hasError('startDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('startDate') ? formState.errors.startDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'endDate')}\r\n\t\t\t\t\t\t\terror={_hasError('endDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('endDate') ? formState.errors.endDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default TopOffendersWorstForm;\r\n","import React, { useEffect } from 'react';\r\nimport _ from 'underscore';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardContent, CardActions, Grid, Divider, TextField, colors } from '@mui/material';\r\nimport DatePicker from 'components/DatePicker/DatePicker';\r\nimport { SelectField } from 'components';\r\nimport validate from 'validate.js';\r\nimport { WorstSitesCitiesRequest, SetFormState } from '../../actions/WorstSitesCitiesActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tcity: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tstartDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tendDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst city = [\r\n\t{ value: 'Belfast', text: 'Belfast' },\r\n\t{ value: 'Birmingham', text: 'Birmingham' },\r\n\t{ value: 'Leeds_Bradford', text: 'Leeds_Bradford' },\r\n\t{ value: 'Bristol', text: 'Bristol' },\r\n\t{ value: 'Cardiff', text: 'Cardiff' },\r\n\t{ value: 'Coventry', text: 'Coventry' },\r\n\t{ value: 'Edinburgh', text: 'Edinburgh' },\r\n\t{ value: 'Glasgow', text: 'Glasgow' },\r\n\t{ value: 'Southampton_Portsmouth', text: 'Southampton_Portsmouth' },\r\n\t{ value: 'Leicester', text: 'Leicester' },\r\n\t{ value: 'Liverpool', text: 'Liverpool' },\r\n\t{ value: 'London', text: 'London' },\r\n\t{ value: 'Manchester', text: 'Manchester' },\r\n\t{ value: 'Newcastle upon Tyne', text: 'Newcastle upon Tyne' },\r\n\t{ value: 'Nottingham', text: 'Nottingham' },\r\n\t{ value: 'Sheffield', text: 'Sheffield' }\r\n];\r\n\r\nconst TopOffendersWorstCitiesForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.TopOffendersWorstSitesCitiesReducers.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateChange = (value, name) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[name]: value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst _generate = () => {\r\n\t\tdispatch(WorstSitesCitiesRequest(formState.values, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'startDate')}\r\n\t\t\t\t\t\t\terror={_hasError('startDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('startDate') ? formState.errors.startDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'endDate')}\r\n\t\t\t\t\t\t\terror={_hasError('endDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('endDate') ? formState.errors.endDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default TopOffendersWorstCitiesForm;\r\n","import React, { useEffect } from 'react';\r\nimport _ from 'underscore';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardContent, CardActions, Grid, Divider, TextField, colors } from '@mui/material';\r\nimport DatePicker from 'components/DatePicker/DatePicker';\r\nimport { SelectField } from 'components';\r\nimport validate from 'validate.js';\r\nimport { WorstSitesRegionRequest, SetFormState } from '../../actions/WorstSitesRegionActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tregion: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tstartDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tendDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst regions = [\r\n\t{ value: 'All Regions', text: 'All Regions' },\r\n\t{ value: 'London', text: 'London' },\r\n\t{ value: 'Midlands', text: 'Midlands' },\r\n\t{ value: 'North England', text: 'North England' },\r\n\t{ value: 'Northern Ireland and Scotland', text: 'Northern Ireland and Scotland' },\r\n\t{ value: 'South England', text: 'South England' },\r\n\t{ value: 'Wales', text: 'Wales' }\r\n];\r\n\r\nconst TopOffendersWorstRegionForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.WorstSitesRegionReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateChange = (value, name) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[name]: value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst _generate = () => {\r\n\t\tdispatch(WorstSitesRegionRequest(formState.values, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'startDate')}\r\n\t\t\t\t\t\t\terror={_hasError('startDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('startDate') ? formState.errors.startDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'endDate')}\r\n\t\t\t\t\t\t\terror={_hasError('endDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('endDate') ? formState.errors.endDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default TopOffendersWorstRegionForm;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport { Page, Header } from 'components';\r\nimport { WorstSitesForm } from './components';\r\nimport { SetFormState } from '../actions/WorstSitesActions';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tsitelist: {\r\n\t\tmarginTop: theme.spacing(6)\r\n\t}\r\n}));\r\n\r\nconst WorstSitesExport = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector(state => state.TopOffendersWorstSitesReducers.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\tsubRegion: '',\r\n\t\t\t\tstartDate: null,\r\n\t\t\t\tendDate: null,\r\n\t\t\t\ttopSites: '10',\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\tsite: false\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default WorstSitesExport;\r\n","import React, { useEffect } from 'react';\r\nimport _ from 'underscore';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardContent, CardActions, Grid, Divider, TextField, colors } from '@mui/material';\r\nimport DatePicker from 'components/DatePicker/DatePicker';\r\nimport { SelectField } from 'components';\r\nimport validate from 'validate.js';\r\nimport { PRBBlackListRequest, SetFormState } from '../../actions/CapacityPRBBlackListActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tsubRegion: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tstartDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tdays: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tOccorrencyvalue: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst SubRegions = [\r\n\t{ value: 'All Regions', text: 'All Regions' },\r\n\t{ value: 'Central Region -A', text: 'Central Region - A' },\r\n\t{ value: 'Central Region - B', text: 'Central Region - B' },\r\n\t{ value: 'Central Region -C', text: 'Central Region - C' },\r\n\t{ value: 'London - A', text: 'London - A' },\r\n\t{ value: 'London - B', text: 'London - B' },\r\n\t{ value: 'London - C', text: 'London - C' },\r\n\t{ value: 'London - D', text: 'London - D' },\r\n\t{ value: 'Scotland', text: 'Scotland' },\r\n\t{ value: 'South Region - A', text: 'South Region - A' },\r\n\t{ value: 'South Region - B', text: 'South Region - B' },\r\n\t{ value: 'South England - C', text: 'South England - C' },\r\n\t{ value: 'Northern Ireland', text: 'Northern Ireland' },\r\n\t{ value: 'North Region - C', text: 'North Region - C' },\r\n\t{ value: 'North Region - B', text: 'North Region - B' },\r\n\t{ value: 'North Region - A', text: 'North Region - A' }\r\n];\r\n\r\nconst CapacityPRBBlackListForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.CapacityPRBBlackListReducers.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateChange = (value, name) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[name]: value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst _generate = () => {\r\n\t\tdispatch(PRBBlackListRequest(formState.values, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'startDate')}\r\n\t\t\t\t\t\t\terror={_hasError('startDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('startDate') ? formState.errors.startDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default CapacityPRBBlackListForm;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport { Page, Header } from 'components';\r\nimport { CapacityPRBBlackListForm } from './components';\r\nimport { SetFormState } from '../actions/CapacityPRBBlackListActions';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tsitelist: {\r\n\t\tmarginTop: theme.spacing(6)\r\n\t}\r\n}));\r\n\r\nconst CapacityPRBBlackListExport = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector(state => state.TopOffendersWorstSitesReducers.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\tsubRegion: '',\r\n\t\t\t\tstartDate: null,\r\n\t\t\t\tdays: '7',\r\n\t\t\t\tOccorrencyvalue: '80',\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\tsite: false\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default CapacityPRBBlackListExport;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport { Page, Header } from 'components';\r\nimport { TopOffendersWorstCitiesForm } from './components';\r\nimport { SetFormState } from '../actions/WorstSitesCitiesActions';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tsitelist: {\r\n\t\tmarginTop: theme.spacing(6)\r\n\t}\r\n}));\r\n\r\nconst WorstSitesCitiesExport = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector(state => state.TopOffendersWorstSitesCitiesReducers.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\tcity: '',\r\n\t\t\t\tstartDate: null,\r\n\t\t\t\tendDate: null,\r\n\t\t\t\ttopSites: '10',\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\tsite: false\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default WorstSitesCitiesExport;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport { Page, Header } from 'components';\r\nimport { TopOffendersWorstRegionForm } from './components';\r\nimport { SetFormState } from '../actions/WorstSitesRegionActions';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tsitelist: {\r\n\t\tmarginTop: theme.spacing(6)\r\n\t}\r\n}));\r\n\r\nconst WorstSitesRegionExport = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector(state => state.WorstSitesRegionReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\tregion: '',\r\n\t\t\t\tstartDate: null,\r\n\t\t\t\tendDate: null,\r\n\t\t\t\ttopSites: '10',\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\tsite: false\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default WorstSitesRegionExport;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, colors } from '@mui/material';\r\nimport validate from 'validate.js';\r\nimport { FilePicker } from 'components';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { SetFormState, GenerateBwScript } from '../../../actions/BwUpdateActions.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tbwUpdateInput: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n};\r\n\r\nconst BwUpdateForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.bwUpdateReducer.formState.bwUpdate);\r\n\tconst user = useSelector((state) => state.session.user);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\t\tsetFormState({\r\n\t\t\tbwUpdate: {\r\n\t\t\t\t...formState,\r\n\t\t\t\tisValid: !errors,\r\n\t\t\t\terrors: errors || {},\r\n\t\t\t}\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\r\n\tconst _onChangeInput = (event) => {\r\n\t\tif (event.target.files && event.target.files.length > 0) {\r\n\t\t\tconst file = event.target.files[0];\r\n\t\t\tsetFormState({\r\n\t\t\t\tbwUpdate: {\r\n\t\t\t\t\t...formState,\r\n\t\t\t\t\tvalues: {\r\n\t\t\t\t\t\t...formState.values,\r\n\t\t\t\t\t\tbwUpdateInput: file,\r\n\t\t\t\t\t},\r\n\t\t\t\t\ttouched: {\r\n\t\t\t\t\t\t...formState.touched,\r\n\t\t\t\t\t\tbwUpdateInput: true,\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tconst _generate = () => {\r\n\t\tif (formState.values.bwUpdateInput.size > 100000000) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'File size cannot be superior to 100MB', options: { variant: 'warning' } }));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tdispatch(GenerateBwScript(formState.values.bwUpdateInput, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default BwUpdateForm;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { colors } from '@mui/material';\r\nimport { useDispatch } from 'react-redux';\r\nimport { Page, Header } from 'components';\r\n\r\nimport BwUpdateForm from './components/BwUpdateForm.js';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst BwUpdate = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default BwUpdate;\r\n","import React, { useEffect } from 'react';\r\nimport clsx from 'clsx';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, TextField, colors } from '@mui/material';\r\nimport DatePicker from 'components/DatePicker/DatePicker';\r\nimport validate from 'validate.js';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { TopOffendersAggSiteExport, SetFormState } from '../../actions/TopOffendersAggSiteActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tSite: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tStartDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tEndDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst TopOffendersAggSiteForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.TopOffendersAggSiteReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateChange = (value, name) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[name]: value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst _generate = () => {\r\n\t\tdispatch(TopOffendersAggSiteExport(formState.values, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'StartDate')}\r\n\t\t\t\t\t\t\terror={_hasError('StartDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('StartDate') ? formState.errors.StartDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'EndDate')}\r\n\t\t\t\t\t\t\terror={_hasError('EndDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('EndDate') ? formState.errors.EndDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default TopOffendersAggSiteForm;\r\n","import React, { useEffect } from 'react';\r\nimport _ from 'underscore';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardContent, CardActions, Grid, Divider, TextField, colors } from '@mui/material';\r\nimport DatePicker from 'components/DatePicker/DatePicker';\r\nimport { SelectField } from 'components';\r\nimport validate from 'validate.js';\r\nimport { TopOffendersAggSubRegionExport, SetFormState } from '../../actions/TopOffendersAggSubRegionActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tregion: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tstartDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tendDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst regions = [\r\n\t{ value: 'All Regions', text: 'All Regions' },\r\n\t{ value: 'Central Region -A', text: 'Central Region - A' },\r\n\t{ value: 'Central Region - B', text: 'Central Region - B' },\r\n\t{ value: 'Central Region -C', text: 'Central Region - C' },\r\n\t{ value: 'London - A', text: 'London - A' },\r\n\t{ value: 'London - B', text: 'London - B' },\r\n\t{ value: 'London - C', text: 'London - C' },\r\n\t{ value: 'London - D', text: 'London - D' },\r\n\t{ value: 'Scotland', text: 'Scotland' },\r\n\t{ value: 'South Region - A', text: 'South Region - A' },\r\n\t{ value: 'South Region - B', text: 'South Region - B' },\r\n\t{ value: 'South England - C', text: 'South England - C' },\r\n\t{ value: 'Northern Ireland', text: 'Northern Ireland' },\r\n\t{ value: 'North Region - C', text: 'North Region - C' },\r\n\t{ value: 'North Region - B', text: 'North Region - B' },\r\n\t{ value: 'North Region - A', text: 'North Region - A' }\r\n];\r\n\r\nconst TopOffendersAggSubRegionForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.TopOffendersAggRegionReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateChange = (value, name) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[name]: value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst _generate = () => {\r\n\t\tdispatch(TopOffendersAggSubRegionExport(formState.values, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'startDate')}\r\n\t\t\t\t\t\t\terror={_hasError('startDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('startDate') ? formState.errors.startDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'endDate')}\r\n\t\t\t\t\t\t\terror={_hasError('endDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('endDate') ? formState.errors.endDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default TopOffendersAggSubRegionForm;\r\n","import React, { useEffect } from 'react';\r\nimport _ from 'underscore';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardContent, CardActions, Grid, Divider, TextField, colors } from '@mui/material';\r\nimport DatePicker from 'components/DatePicker/DatePicker';\r\nimport { SelectField } from 'components';\r\nimport validate from 'validate.js';\r\nimport { TopOffendersAggRegionExport, SetFormState } from '../../actions/TopOffendersAggRegionActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tregion: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tstartDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tendDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst regions = [\r\n\t{ value: 'All Regions', text: 'All Regions' },\r\n\t{ value: 'London', text: 'London' },\r\n\t{ value: 'Midlands', text: 'Midlands' },\r\n\t{ value: 'North England', text: 'North England' },\r\n\t{ value: 'Northern Ireland and Scotland', text: 'Northern Ireland and Scotland' },\r\n\t{ value: 'South England', text: 'South England' },\r\n\t{ value: 'Wales', text: 'Wales' }\r\n];\r\n\r\nconst TopOffendersAggRegionForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.TopOffendersAggSubRegionReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateChange = (value, name) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[name]: value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst _generate = () => {\r\n\t\tdispatch(TopOffendersAggRegionExport(formState.values, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'startDate')}\r\n\t\t\t\t\t\t\terror={_hasError('startDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('startDate') ? formState.errors.startDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'endDate')}\r\n\t\t\t\t\t\t\terror={_hasError('endDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('endDate') ? formState.errors.endDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default TopOffendersAggRegionForm;\r\n","import React, { useEffect } from 'react';\r\nimport _ from 'underscore';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardContent, CardActions, Grid, Divider, TextField, colors } from '@mui/material';\r\nimport DatePicker from 'components/DatePicker/DatePicker';\r\nimport { SelectField } from 'components';\r\nimport validate from 'validate.js';\r\nimport { TopOffendersAggCityExport, SetFormState } from '../../actions/TopOffendersAggCityActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tregion: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tstartDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tendDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst regions = [\r\n\t{ value: 'All Cities', text: 'All Cities' },\r\n\t{ value: 'Belfast', text: 'Belfast' },\r\n\t{ value: 'Birmingham', text: 'Birmingham' },\r\n\t{ value: 'Leeds_Bradford', text: 'Leeds_Bradford' },\r\n\t{ value: 'Bristol', text: 'Bristol' },\r\n\t{ value: 'Cardiff', text: 'Cardiff' },\r\n\t{ value: 'Coventry', text: 'Coventry' },\r\n\t{ value: 'Edinburgh', text: 'Edinburgh' },\r\n\t{ value: 'Glasgow', text: 'Glasgow' },\r\n\t{ value: 'Southampton_Portsmouth', text: 'Southampton_Portsmouth' },\r\n\t{ value: 'Leicester', text: 'Leicester' },\r\n\t{ value: 'Liverpool', text: 'Liverpool' },\r\n\t{ value: 'London', text: 'London' },\r\n\t{ value: 'Manchester', text: 'Manchester' },\r\n\t{ value: 'Newcastle upon Tyne', text: 'Newcastle upon Tyne' },\r\n\t{ value: 'Nottingham', text: 'Nottingham' },\r\n\t{ value: 'Sheffield', text: 'Sheffield' }\r\n];\r\n\r\nconst TopOffendersAggCityForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.TopOffendersAggCityReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateChange = (value, name) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[name]: value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst _generate = () => {\r\n\t\tdispatch(TopOffendersAggCityExport(formState.values, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'startDate')}\r\n\t\t\t\t\t\t\terror={_hasError('startDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('startDate') ? formState.errors.startDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'endDate')}\r\n\t\t\t\t\t\t\terror={_hasError('endDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('endDate') ? formState.errors.endDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default TopOffendersAggCityForm;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport uuid from 'uuid/v1';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tCardActions,\r\n\tDivider,\r\n\tButton,\r\n\tGrid,\r\n\tTextField,\r\n\tCheckbox,\r\n\tAutocomplete\r\n} from '@mui/material';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { Page, Header, Alert } from 'components';\r\n\r\nimport CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank';\r\nimport CheckBoxIcon from '@mui/icons-material/CheckBox';\r\nimport { TopOffendersAggSiteForm } from './components';\r\nimport { SetFormState } from '../actions/TopOffendersAggSiteActions';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tsitelist: {\r\n\t\tmarginTop: theme.spacing(6)\r\n\t}\r\n}));\r\n\r\nconst TopOffendersAggSite = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst sites = useSelector(state => state.TopOffendersAggSiteReducer.sites);\r\n\tconst selectedSites = useSelector(\r\n\t\tstate => state.reportsReducer.selectedSites\r\n\t);\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector(state => state.TopOffendersAggSiteReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\tSite: '',\r\n\t\t\t\tStartDate: null,\r\n\t\t\t\tEndDate: null\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\tSite: false\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default TopOffendersAggSite;\r\n","import React, { useEffect } from 'react';\r\nimport clsx from 'clsx';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, TextField, colors } from '@mui/material';\r\nimport DatePicker from 'components/DatePicker/DatePicker';\r\nimport { SelectField } from 'components';\r\nimport validate from 'validate.js';\r\n\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { ReportRFCounters, SetFormState } from '../../actions/ReportRFCountersActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tmarginLeft: 'auto',\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst schema = {\r\n\tsite: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' }, length: { maximum: 360 }\r\n\t},\r\n\tstartDate: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t},\r\n\tpre: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' }, numericality: { greaterThanOrEqualTo: 1, lessThanOrEqualTo: 15 }\r\n\t},\r\n\tpost: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' }, numericality: { greaterThanOrEqualTo: 1, lessThanOrEqualTo: 15 }\r\n\t},\r\n\treportType: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required' },\r\n\t}\r\n};\r\n\r\nconst reportType = [\r\n\t{ value: 'Daily', text: 'Daily' },\r\n\t{ value: 'Hourly', text: 'Hourly' }\r\n];\r\n\r\nconst ReportRFCountersForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.ranReportRFReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst errors = validate(formState.values, schema);\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleDateChange = (value, name) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[name]: value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _hasError = (field) => (!!(formState.touched[field] && formState.errors[field]));\r\n\tconst user = useSelector(state => state.session.user);\r\n\tconst _generate = () => {\r\n\t\tdispatch(ReportRFCounters(formState.values, user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t _handleDateChange(value, 'startDate')}\r\n\t\t\t\t\t\t\terror={_hasError('startDate')}\r\n\t\t\t\t\t\t\thelperText={_hasError('startDate') ? formState.errors.startDate[0] : null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default ReportRFCountersForm;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport { Page, Header, Alert } from 'components';\r\nimport { Popover, Typography, Grid } from '@mui/material';\r\n\r\nimport ReportRFCountersForm from './components/ReportRFCountersForm';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(1)\r\n\t},\r\n}));\r\n\r\nconst ReportRFCounters = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default ReportRFCounters;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport uuid from 'uuid/v1';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tCardActions,\r\n\tDivider,\r\n\tButton,\r\n\tGrid,\r\n\tTextField,\r\n\tCheckbox,\r\n\tAutocomplete\r\n} from '@mui/material';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { Page, Header, Alert } from 'components';\r\n\r\nimport CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank';\r\nimport CheckBoxIcon from '@mui/icons-material/CheckBox';\r\nimport { TopOffendersAggSubRegionForm } from './components';\r\nimport { SetFormState } from '../actions/TopOffendersAggSubRegionActions';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tsitelist: {\r\n\t\tmarginTop: theme.spacing(6)\r\n\t}\r\n}));\r\n\r\nconst TopOffendersAggSubRegion = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst sites = useSelector(state => state.TopOffendersAggSubRegionReducer.sites);\r\n\tconst selectedSites = useSelector(\r\n\t\tstate => state.reportsReducer.selectedSites\r\n\t);\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector(state => state.TopOffendersAggSubRegionReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\tregions: '',\r\n\t\t\t\tstartDate: null,\r\n\t\t\t\tendDate: null\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\tSite: false\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default TopOffendersAggSubRegion;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport uuid from 'uuid/v1';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tCardActions,\r\n\tDivider,\r\n\tButton,\r\n\tGrid,\r\n\tTextField,\r\n\tCheckbox,\r\n\tAutocomplete\r\n} from '@mui/material';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { Page, Header, Alert } from 'components';\r\n\r\nimport CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank';\r\nimport CheckBoxIcon from '@mui/icons-material/CheckBox';\r\nimport { TopOffendersAggRegionForm } from './components';\r\nimport { SetFormState } from '../actions/TopOffendersAggRegionActions';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tsitelist: {\r\n\t\tmarginTop: theme.spacing(6)\r\n\t}\r\n}));\r\n\r\nconst TopOffendersAggRegion = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst sites = useSelector(state => state.TopOffendersAggRegionReducer.sites);\r\n\tconst selectedSites = useSelector(\r\n\t\tstate => state.reportsReducer.selectedSites\r\n\t);\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector(state => state.TopOffendersAggRegionReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\tregions: '',\r\n\t\t\t\tstartDate: null,\r\n\t\t\t\tendDate: null\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\tSite: false\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default TopOffendersAggRegion;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport uuid from 'uuid/v1';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tCardActions,\r\n\tDivider,\r\n\tButton,\r\n\tGrid,\r\n\tTextField,\r\n\tCheckbox,\r\n\tAutocomplete\r\n} from '@mui/material';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { Page, Header, Alert } from 'components';\r\n\r\nimport CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank';\r\nimport CheckBoxIcon from '@mui/icons-material/CheckBox';\r\nimport { TopOffendersAggCityForm } from './components';\r\nimport { SetFormState } from '../actions/TopOffendersAggCityActions';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tsitelist: {\r\n\t\tmarginTop: theme.spacing(6)\r\n\t}\r\n}));\r\n\r\nconst TopOffendersAggCity = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst sites = useSelector(state => state.TopOffendersAggCityReducer.sites);\r\n\tconst selectedSites = useSelector(\r\n\t\tstate => state.reportsReducer.selectedSites\r\n\t);\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector(state => state.TopOffendersAggCityReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\tregions: '',\r\n\t\t\t\tstartDate: null,\r\n\t\t\t\tendDate: null\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\tSite: false\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default TopOffendersAggCity;\r\n","import React, { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport _ from 'underscore';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { IconButton, Tooltip } from '@mui/material';\r\nimport EditIcon from '@mui/icons-material/EditOutlined';\r\nimport CancelIcon from '@mui/icons-material/Cancel';\r\nimport DataTable from '../../../../components/DataTable/DataTable.js';\r\nimport { GetIncidentDetails, GetComments, ToggleIncidentTrackerDialog, ToggleDeleteIncidentTrackerDialog } from '../../actions/IncidentTrackerActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {},\r\n\tcontent: {\r\n\t\tpadding: 0,\r\n\t},\r\n\tinner: {\r\n\t\tminWidth: 700,\r\n\t},\r\n\tnameCell: {\r\n\t\tdisplay: 'flex',\r\n\t\talignItems: 'center',\r\n\t},\r\n\tavatar: {\r\n\t\theight: 42,\r\n\t\twidth: 42,\r\n\t\tmarginRight: theme.spacing(1),\r\n\t},\r\n\tactions: {\r\n\t\tpadding: theme.spacing(1),\r\n\t\tjustifyContent: 'flex-end',\r\n\t},\r\n\tprimaryButton: {\r\n\t\tcolor: theme.palette.primary.main\r\n\t},\r\n\terrorButton: {\r\n\t\tcolor: theme.palette.error.main\r\n\t},\r\n\tinfoButton: {\r\n\t\tcolor: theme.palette.info.main\r\n\t}\r\n}));\r\n\r\nconst IncidentTrackerDatatable = (props) => {\r\n\tconst { className, data, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst classes = useStyles();\r\n\tconst userId = useSelector(state => state.session.user.id);\r\n\r\n\tconst _editIncident = (tableId) => {\r\n\t\tdispatch(GetIncidentDetails(userId, tableId));\r\n\t\tdispatch(GetComments(tableId));\r\n\t\tdispatch(ToggleIncidentTrackerDialog(true, tableId));\r\n\t};\r\n\r\n\tconst _deleteIncident = (tableId) => {\r\n\t\tdispatch(ToggleDeleteIncidentTrackerDialog(true, tableId));\r\n\t};\r\n\r\n\tconst _handleStyle = (value) => {\r\n\t\tif (value === 'OK') {\r\n\t\t\treturn {\r\n\t\t\t\tstyle: {\r\n\t\t\t\t\tbackgroundColor: 'green',\r\n\t\t\t\t\tcolor: 'white',\r\n\t\t\t\t\tfontWeight: 'bold'\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t} if (value === 'NOK') {\r\n\t\t\treturn {\r\n\t\t\t\tstyle: {\r\n\t\t\t\t\tbackgroundColor: '#dc143c',\r\n\t\t\t\t\tcolor: 'white',\r\n\t\t\t\t\tfontWeight: 'bold'\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t} if (value === 'N/A') {\r\n\t\t\treturn {\r\n\t\t\t\tstyle: {\r\n\t\t\t\t\tbackgroundColor: 'yellow',\r\n\t\t\t\t\tcolor: 'black',\r\n\t\t\t\t\tfontWeight: 'bold'\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\t\treturn {\r\n\t\t};\r\n\t};\r\n\r\n\tconst _renderActions = (tableMeta) => {\r\n\t\tconst { rowData } = tableMeta;\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t\r\n\t\t\t\t\t _editIncident(rowData[0])}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t _deleteIncident(rowData[0])}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tconst _getTableColumns = () => (\r\n\t\t[\r\n\t\t\t{\r\n\t\t\t\tname: 'id',\r\n\t\t\t\tlabel: 'Id',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: false,\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'siteId',\r\n\t\t\t\tlabel: 'Site Id',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'reportDateYear',\r\n\t\t\t\tlabel: 'Report Year',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField'\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'reportDateWeek',\r\n\t\t\t\tlabel: 'Report Week',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField'\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'date',\r\n\t\t\t\tlabel: 'Analysis Date',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'subRegion',\r\n\t\t\t\tlabel: 'Sub Region',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'city',\r\n\t\t\t\tlabel: 'City',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'category',\r\n\t\t\t\tlabel: 'Category',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'status',\r\n\t\t\t\tlabel: 'Status',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'owner',\r\n\t\t\t\tlabel: 'Owner',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'cfnOwner',\r\n\t\t\t\tlabel: 'RF Owner',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tdisplay: true,\r\n\t\t\t\t\tfilterType: 'textField',\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'action',\r\n\t\t\t\tlabel: 'Actions',\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tfilter: false,\r\n\t\t\t\t\tsort: false,\r\n\t\t\t\t\tviewColumns: false,\r\n\t\t\t\t\tempty: true,\r\n\t\t\t\t\tcustomBodyRender: (value, tableMeta, updateValue) => _renderActions(tableMeta)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t]\r\n\t);\r\n\r\n\tconst _getTableOptions = () => ({\r\n\t\tfilterType: 'dropdown',\r\n\t\tselectableRows: false,\r\n\t\texpandableRows: false, // Try Adding This\r\n\t});\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nIncidentTrackerDatatable.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n};\r\n\r\nexport default IncidentTrackerDatatable;\r\n","import React, { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport moment from 'moment';\r\nimport { makeStyles } from '@mui/styles';\r\nimport {\r\n\tCard, CardActions, CardContent, CardHeader, Grid, Divider,\r\n\tcolors, List, ListItem, ListItemText, Typography, IconButton,\r\n\tInput, Paper, Tooltip\r\n} from '@mui/material';\r\nimport SendIcon from '@mui/icons-material/Send';\r\nimport { AddComment } from '../../../../../actions/IncidentTrackerActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n\tpaper: {\r\n\t\tflexGrow: 1,\r\n\t\tpadding: theme.spacing(0.5, 2),\r\n\t},\r\n\tinput: {\r\n\t\twidth: '100%',\r\n\t},\r\n}));\r\n\r\nconst IncidentTrackerComments = (props) => {\r\n\tconst { className, tableId, comments, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst [commentValue, setCommentValue] = useState('');\r\n\tconst userId = useSelector(state => state.session.user.id);\r\n\r\n\tconst _handleCommentInputChange = (event) => {\r\n\t\tevent.persist();\r\n\t\tlet comment = event.target.value;\r\n\t\tcomment = comment.trim();\r\n\t\tif (comment.length >= 0) {\r\n\t\t\tsetCommentValue(event.target.value);\r\n\t\t}\r\n\t};\r\n\r\n\tconst _postComment = () => {\r\n\t\tconst object = { tableId, userId, commentValue };\r\n\t\tdispatch(AddComment(object));\r\n\t\tsetCommentValue('');\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{comments && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{comments.length > 0 ? comments.map(comment => (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{`${comment.userName} at ${moment(comment.creationTimestamp).format('DD-MM-YYYY HH:mm:ss').toString()}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\tsecondary={(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{comment.comment}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)) : (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tNo comments added\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t 0 ? 'primary' : 'default'}\r\n\t\t\t\t\t\tdisabled={!commentValue.length > 0}\r\n\t\t\t\t\t\tonClick={_postComment}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nIncidentTrackerComments.propTypes = {\r\n\tclassName: PropTypes.object,\r\n\ttableId: PropTypes.number,\r\n\tcomments: PropTypes.array\r\n};\r\n\r\nexport default IncidentTrackerComments;\r\n","import React, { useEffect, useMemo } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport validate, { format } from 'validate.js';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@mui/styles';\r\nimport moment from 'moment';\r\nimport { Button, TextField, Card, Grid, CardHeader, CardContent } from '@mui/material';\r\nimport _ from 'underscore';\r\nimport { SelectField } from 'components';\r\nimport DatePicker from 'components/DatePicker/DatePicker';\r\nimport {\r\n\tSetFormState,\r\n\tGetAutocompleteFields,\r\n\tToggleAttachFileIncidentTrackerDialog,\r\n\tDownloadAttachment,\r\n\tToggleRemoveFileIncidentTrackerDialog\r\n} from '../../../../actions/IncidentTrackerActions';\r\nimport IncidentTrackerComments from './components/IncidentTrackerComments';\r\n\r\nconst schema = {\r\n\tsiteId: {\r\n\t\tpresence: { allowEmpty: false, message: 'Mandatory' }\r\n\t},\r\n\tdate: {\r\n\t\tpresence: { allowEmpty: false, message: 'Mandatory' }\r\n\t},\r\n\tstatus: {\r\n\t\tpresence: { allowEmpty: false, message: 'Mandatory' }\r\n\t},\r\n\tlevelOne: {\r\n\t\tpresence: { allowEmpty: false, message: 'Mandatory' }\r\n\t},\r\n\tlevelTwo: {\r\n\t\tpresence: { allowEmpty: false, message: 'Mandatory' }\r\n\t},\r\n\tlevelThree: {\r\n\t\tpresence: { allowEmpty: false, message: 'Mandatory' }\r\n\t},\r\n\tsolutionType: {\r\n\t\tpresence: { allowEmpty: false, message: 'Mandatory' }\r\n\t},\r\n\treportDateYear: {\r\n\t\tpresence: { allowEmpty: false, message: 'Mandatory' }\r\n\t},\r\n\treportDateWeek: {\r\n\t\tpresence: { allowEmpty: false, message: 'Mandatory' }\r\n\t}\r\n};\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {},\r\n\tfields: {\r\n\t\tmargin: theme.spacing(-1),\r\n\t\tdisplay: 'flex',\r\n\t\tflexWrap: 'wrap',\r\n\t\t'& > *': {\r\n\t\t\tflexGrow: 1,\r\n\t\t\tmargin: theme.spacing(1)\r\n\t\t}\r\n\t},\r\n\tsubmitButton: {\r\n\t\tmarginTop: theme.spacing(2),\r\n\t\twidth: '100%'\r\n\t},\r\n\tdivider: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t\tmarginBottom: theme.spacing(1)\r\n\t}\r\n}));\r\n\r\nconst IncidentTrackerDialogForm = props => {\r\n\tconst { className, tableId, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector(state => state.incidentTrackerDemoReducer.formState);\r\n\tconst incidentDetails = useSelector(state => state.incidentTrackerDemoReducer.incidentDetails);\r\n\tconst dropdowns = useSelector(state => state.incidentTrackerDemoReducer.dropdowns);\r\n\tconst autocompleteFields = useSelector(state => state.incidentTrackerDemoReducer.autocompleteFields);\r\n\tconst comments = useSelector(state => state.incidentTrackerDemoReducer.comments);\r\n\tconst userId = useSelector(state => state.session.user.id);\r\n\tconst _hasError = field => !!(formState.touched[field] && formState.errors[field]);\r\n\t// const [closedDate, setStatusClosedDate] = React.useState('');\r\n\tconst _handleChange = event => {\r\n\t\tif (event.target.name === 'siteId') {\r\n\t\t\tdispatch(GetAutocompleteFields(event.target.value));\r\n\t\t}\r\n\r\n\t\tif (event.target.name === 'status') {\r\n\t\t\tif (event.target.value === '10') {\r\n\t\t\t\tsetFormState({\r\n\t\t\t\t\t...formState,\r\n\t\t\t\t\tvalues: {\r\n\t\t\t\t\t\t...formState.values,\r\n\t\t\t\t\t\t[event.target.name]: event.target.value,\r\n\t\t\t\t\t\tclosedDate: moment().format('YYYY-MM-DD HH:mm:ss'),\r\n\t\t\t\t\t\tticketClosedFlag: true\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tsetFormState({\r\n\t\t\t\t\t...formState,\r\n\t\t\t\t\tvalues: {\r\n\t\t\t\t\t\t...formState.values,\r\n\t\t\t\t\t\t[event.target.name]: event.target.value,\r\n\t\t\t\t\t\tclosedDate: null,\r\n\t\t\t\t\t\tticketClosedFlag: false\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tsetFormState({\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...formState.values,\r\n\t\t\t\t\t[event.target.name]:\r\n\t\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t\t: event.target.value\r\n\t\t\t\t},\r\n\t\t\t\ttouched: {\r\n\t\t\t\t\t...formState.touched,\r\n\t\t\t\t\t[event.target.name]: true\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tconst _handleChangeLevels = event => {\r\n\t\tif (event.target.name === 'levelOne') {\r\n\t\t\t// Filtrar\r\n\t\t\tlet levelsTwo = dropdowns.levelsRelation\r\n\t\t\t\t.filter(x => x.levelOneId === event.target.value)\r\n\t\t\t\t.map(({ levelTwoId, levelTwoName }) => ({\r\n\t\t\t\t\tvalue: levelTwoId,\r\n\t\t\t\t\ttext: levelTwoName\r\n\t\t\t\t}));\r\n\t\t\t// Distintos\r\n\t\t\tlevelsTwo = [...new Map(levelsTwo.map((item) => [item.value, item])).values()];\r\n\r\n\t\t\tsetFormState({\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...formState.values,\r\n\t\t\t\t\t[event.target.name]: event.target.value,\r\n\t\t\t\t\tlevelTwo: '',\r\n\t\t\t\t\tlevelThree: '',\r\n\t\t\t\t\tlevelsTwo,\r\n\t\t\t\t\tlevelsThree: [],\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t} else if (event.target.name === 'levelTwo') {\r\n\t\t\t// Filtrar\r\n\t\t\tlet levelsThree = dropdowns.levelsRelation\r\n\t\t\t\t.filter(x => x.levelTwoId === event.target.value)\r\n\t\t\t\t.map(({ levelThreeId, levelThreeName }) => ({\r\n\t\t\t\t\tvalue: levelThreeId,\r\n\t\t\t\t\ttext: levelThreeName\r\n\t\t\t\t}));\r\n\t\t\t// Distintos\r\n\t\t\tlevelsThree = [...new Map(levelsThree.map((item) => [item.value, item])).values()];\r\n\r\n\t\t\tsetFormState({\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...formState.values,\r\n\t\t\t\t\t[event.target.name]: event.target.value,\r\n\t\t\t\t\tlevelThree: '',\r\n\t\t\t\t\tlevelsThree,\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t} else if (event.target.name === 'levelThree') {\r\n\t\t\tsetFormState({\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...formState.values,\r\n\t\t\t\t\t[event.target.name]: event.target.value\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tconst _handleDateChange = (value, name) => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[name]: value\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[name]: true\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tconst _onAddAttachmentClick = () => {\r\n\t\tdispatch(ToggleAttachFileIncidentTrackerDialog(true));\r\n\t};\r\n\r\n\tconst _onDownloadAttachmentClick = () => {\r\n\t\tdispatch(DownloadAttachment(userId, formState.values.id));\r\n\t};\r\n\r\n\tconst _onRemoveAttachmentClick = () => {\r\n\t\tdispatch(ToggleRemoveFileIncidentTrackerDialog(true));\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tconst newTouched = {};\r\n\r\n\t\tif (formState.values.submit) {\r\n\t\t\t_.each(_.keys(schema), item => {\r\n\t\t\t\tnewTouched[item] = true;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tconst errors = validate(formState.values, schema, {\r\n\t\t\tfullMessages: false\r\n\t\t});\r\n\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tisValid: !errors,\r\n\t\t\terrors: errors || {},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t...newTouched\r\n\t\t\t}\r\n\t\t});\r\n\t}, [formState.values]);\r\n\r\n\tuseMemo(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\tsubRegion: autocompleteFields.subRegion,\r\n\t\t\t\tcity: autocompleteFields.city\r\n\t\t\t}\r\n\t\t});\r\n\t}, [autocompleteFields]);\r\n\r\n\tuseMemo(() => {\r\n\t\t// Check if ticket closed\r\n\t\tif (incidentDetails.status === '10') {\r\n\t\t\tsetFormState({\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...formState.values,\r\n\t\t\t\t\tticketClosedFlag: true,\r\n\t\t\t\t\tdisableModalSaveButton: true\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tsetFormState({\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...formState.values,\r\n\t\t\t\t\tticketClosedFlag: false,\r\n\t\t\t\t\tdisableModalSaveButton: false\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}, [incidentDetails]);\r\n\r\n\tuseMemo(() => {\r\n\t\tif (dropdowns && dropdowns.levelsRelation) {\r\n\t\t\t// Filtrar\r\n\t\t\tlet levelsTwo = dropdowns.levelsRelation\r\n\t\t\t\t.filter(x => x.levelOneId === formState.values.levelOne)\r\n\t\t\t\t.map(({ levelTwoId, levelTwoName }) => ({\r\n\t\t\t\t\tvalue: levelTwoId,\r\n\t\t\t\t\ttext: levelTwoName\r\n\t\t\t\t}));\r\n\t\t\t// Distintos\r\n\t\t\tlevelsTwo = [...new Map(levelsTwo.map((item) => [item.value, item])).values()];\r\n\r\n\t\t\t// Filtrar\r\n\t\t\tlet levelsThree = dropdowns.levelsRelation\r\n\t\t\t\t.filter(x => x.levelTwoId === formState.values.levelTwo)\r\n\t\t\t\t.map(({ levelThreeId, levelThreeName }) => ({\r\n\t\t\t\t\tvalue: levelThreeId,\r\n\t\t\t\t\ttext: levelThreeName\r\n\t\t\t\t}));\r\n\t\t\t// Distintos\r\n\t\t\tlevelsThree = [...new Map(levelsThree.map((item) => [item.value, item])).values()];\r\n\r\n\t\t\tsetFormState({\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...formState.values,\r\n\t\t\t\t\tlevelsTwo,\r\n\t\t\t\t\tlevelsThree\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}, [dropdowns]);\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t _handleDateChange(value, 'closedDate')}\r\n\t\t\t\t\t\t\t\t\t\tminutesStep={1}\r\n\t\t\t\t\t\t\t\t\t\terror={\r\n\t\t\t\t\t\t\t\t\t\t\t_hasError('closedDate')\r\n\t\t\t\t\t\t\t\t\t\t\t\t? formState.errors.closedDate[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\thelperText={\r\n\t\t\t\t\t\t\t\t\t\t\t_hasError('closedDate')\r\n\t\t\t\t\t\t\t\t\t\t\t\t? formState.errors.closedDate[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tformat=\"DD-MM-YYYY\"\r\n\t\t\t\t\t\t\t\t\t\tdisabled\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{/* New row */}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t _handleDateChange(value, 'date')}\r\n\t\t\t\t\t\t\t\t\t\tminutesStep={1}\r\n\t\t\t\t\t\t\t\t\t\terror={\r\n\t\t\t\t\t\t\t\t\t\t\t_hasError('date')\r\n\t\t\t\t\t\t\t\t\t\t\t\t? formState.errors.date[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\thelperText={\r\n\t\t\t\t\t\t\t\t\t\t\t_hasError('date')\r\n\t\t\t\t\t\t\t\t\t\t\t\t? formState.errors.date[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tformat=\"DD-MM-YYYY\"\r\n\t\t\t\t\t\t\t\t\t\tdisabled={formState.values.ticketClosedFlag}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{/* New row */}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{/* New row */}\r\n\t\t\t{/* \r\n\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tDownload File\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t */}\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nIncidentTrackerDialogForm.propTypes = {\r\n\tclassName: PropTypes.string,\r\n\ttableId: PropTypes.string\r\n};\r\n\r\nexport default IncidentTrackerDialogForm;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { enqueueSnackbar } from 'actions';\r\nimport ModalDialog from '../../../../../components/ModalDialog/ModalDialog.js';\r\nimport IncidentTrackerDialogForm from './components/IncidentTrackerDialogForm';\r\nimport {\r\n\tSetFormState, ResetFields, GetIncidentDetails, GetIncidentDropdowns,\r\n\tEditIncidentDetails, CreateIncident,\r\n\tToggleIncidentTrackerDialog\r\n} from '../../../actions/IncidentTrackerActions';\r\n\r\nconst IncidentTrackerDialog = (props) => {\r\n\tconst { author, open, onClose, onApply, className, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst tableId = useSelector((state) => state.incidentTrackerDemoReducer.tableId);\r\n\tconst selectedDates = useSelector((state) => state.incidentTrackerDemoReducer.selectedDates);\r\n\tconst selectedFailures = useSelector((state) => state.incidentTrackerDemoReducer.selectedFailures);\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.incidentTrackerDemoReducer.formState);\r\n\tconst userId = useSelector(state => state.session.user.id);\r\n\tconst title = tableId ? 'Edit Ticket' : 'Create Ticket';\r\n\tconst confirmLabel = tableId ? 'Save' : 'Create';\r\n\r\n\tconst _onConfirmClick = () => {\r\n\t\tsetFormState({ ...formState, values: { ...formState.values, submit: true } });\r\n\r\n\t\tif (formState.isValid) {\r\n\t\t\tconst object = { ...formState.values, userId, selectedDates, selectedFailures };\r\n\t\t\tif (tableId) {\r\n\t\t\t\tdispatch(EditIncidentDetails(object));\r\n\t\t\t\tdispatch(ToggleIncidentTrackerDialog(false));\r\n\t\t\t\tdispatch(enqueueSnackbar({ message: 'Ticket details saved', options: { variant: 'info' } }));\r\n\t\t\t} else {\r\n\t\t\t\tdispatch(CreateIncident(object));\r\n\t\t\t\tdispatch(ToggleIncidentTrackerDialog(false));\r\n\t\t\t\tdispatch(enqueueSnackbar({ message: 'Ticket created', options: { variant: 'info' } }));\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tconst getData = useCallback(() => {\r\n\t\tdispatch(GetIncidentDropdowns());\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tgetData();\r\n\t\tif (tableId) {\r\n\t\t\tdispatch(GetIncidentDetails(userId, tableId));\r\n\t\t\tdispatch(ResetFields());\r\n\t\t}\r\n\t}, [tableId]);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nIncidentTrackerDialog.propTypes = {\r\n\tauthor: PropTypes.object.isRequired,\r\n\tclassName: PropTypes.string,\r\n\tonApply: PropTypes.func,\r\n\tonClose: PropTypes.func,\r\n\topen: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default IncidentTrackerDialog;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { InputBase } from '@mui/material';\r\nimport { enqueueSnackbar } from 'actions';\r\nimport ModalDialog from '../../../../../components/ModalDialog/ModalDialog.js';\r\nimport {\r\n\tSetFormState, DeleteIncident, ToggleDeleteIncidentTrackerDialog, GetIncidents\r\n} from '../../../actions/IncidentTrackerActions';\r\n\r\nconst IncidentTrackerDeleteDialog = (props) => {\r\n\tconst { author, open, onClose, onApply, className, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst tableId = useSelector((state) => state.incidentTrackerDemoReducer.tableId);\r\n\tconst userId = useSelector(state => state.session.user.id);\r\n\tconst role = useSelector(state => state.session.user.role);\r\n\r\n\tconst _onConfirmClick = () => {\r\n\t\tdispatch(DeleteIncident(userId, tableId));\r\n\t\tdispatch(ToggleDeleteIncidentTrackerDialog(false));\r\n\t\tdispatch(GetIncidents(userId, role));\r\n\t\tdispatch(enqueueSnackbar({ message: 'Incident deleted', options: { variant: 'info' } }));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nIncidentTrackerDeleteDialog.propTypes = {\r\n\tauthor: PropTypes.object.isRequired,\r\n\tclassName: PropTypes.string,\r\n\tonApply: PropTypes.func,\r\n\tonClose: PropTypes.func,\r\n\topen: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default IncidentTrackerDeleteDialog;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { colors, Button, Grid } from '@mui/material';\r\nimport { FilePicker } from 'components';\r\nimport { enqueueSnackbar } from 'actions';\r\nimport ModalDialog from '../../../../../../../components/ModalDialog/ModalDialog.js';\r\nimport { SetFormState, UploadAttachment, ToggleAttachFileIncidentTrackerDialog } from '../../../../../actions/IncidentTrackerActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\twidth: 960,\r\n\t},\r\n\theader: {\r\n\t\tpadding: theme.spacing(3),\r\n\t\tmaxWidth: 720,\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\tcontent: {\r\n\t\tpadding: theme.spacing(0, 2),\r\n\t\tmaxWidth: 720,\r\n\t\tmargin: '0 auto',\r\n\t},\r\n\thelperText: {\r\n\t\ttextAlign: 'right',\r\n\t\tmarginRight: 0,\r\n\t},\r\n\tauthor: {\r\n\t\tmargin: theme.spacing(4, 0),\r\n\t\tdisplay: 'flex',\r\n\t},\r\n\tavatar: {\r\n\t\tmarginRight: theme.spacing(2),\r\n\t},\r\n\tactions: {\r\n\t\tbackgroundColor: colors.grey[100],\r\n\t\tpadding: theme.spacing(2),\r\n\t\tdisplay: 'flex',\r\n\t\talignContent: 'right',\r\n\t},\r\n\tapplyButton: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst IncidentTrackerAddFileDialog = (props) => {\r\n\tconst { author, open, onClose, onApply, className, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.incidentTrackerDemoReducer.formState);\r\n\tconst userId = useSelector(state => state.session.user.id);\r\n\r\n\tconst _onChangeInput = (event) => {\r\n\t\tif (event.target.files[0].type === 'image/jpeg' || event.target.files[0].type === 'image/png'\r\n\t\t\t|| event.target.files[0].type === 'application/vnd.openxmlformats-officedocument.presentationml.presentation'\r\n\t\t\t|| event.target.files[0].type === 'application/pdf') {\r\n\t\t\tif (event.target.files && event.target.files.length > 0) {\r\n\t\t\t\tconst file = event.target.files[0];\r\n\t\t\t\tsetFormState({\r\n\t\t\t\t\t...formState,\r\n\t\t\t\t\tvalues: {\r\n\t\t\t\t\t\t...formState.values,\r\n\t\t\t\t\t\tinputFilePath: file\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'File type not supported', options: { variant: 'warning' } }));\r\n\t\t}\r\n\t};\r\n\r\n\tconst _addAttachmentFile = (event) => {\r\n\t\tif (formState.values.inputFilePath === '' || formState.values.inputFilePath === undefined) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'No file selected', options: { variant: 'Info' } }));\r\n\t\t} else if (formState.values.inputFilePath.size > 50000000) {\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'File size cannot be superior to 50MB', options: { variant: 'warning' } }));\r\n\t\t} else {\r\n\t\t\tdispatch(UploadAttachment(userId, formState.values.id, formState.values.inputFilePath));\r\n\t\t\tdispatch(ToggleAttachFileIncidentTrackerDialog(false));\r\n\t\t\tdispatch(enqueueSnackbar({ message: 'File uploaded', options: { variant: 'info' } }));\r\n\t\t\tsetFormState({\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...formState.values,\r\n\t\t\t\t\thasAttachment: true\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t{/* New row */}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tUpload\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t
    \r\n\t\t\r\n\t);\r\n};\r\n\r\nIncidentTrackerAddFileDialog.propTypes = {\r\n\tauthor: PropTypes.object.isRequired,\r\n\tclassName: PropTypes.string,\r\n\tonApply: PropTypes.func,\r\n\tonClose: PropTypes.func,\r\n\topen: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default IncidentTrackerAddFileDialog;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { InputBase } from '@mui/material';\r\nimport { enqueueSnackbar } from 'actions';\r\nimport ModalDialog from '../../../../../../../components/ModalDialog/ModalDialog.js';\r\nimport { SetFormState, RemoveAttachment, ToggleRemoveFileIncidentTrackerDialog } from '../../../../../actions/IncidentTrackerActions';\r\n\r\nconst IncidentTrackerDeleteFileDialog = (props) => {\r\n\tconst { author, open, onClose, onApply, className, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst tableId = useSelector((state) => state.incidentTrackerDemoReducer.tableId);\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.incidentTrackerDemoReducer.formState);\r\n\tconst userId = useSelector(state => state.session.user.id);\r\n\tconst role = useSelector(state => state.session.user.role);\r\n\r\n\tconst _onConfirmClick = () => {\r\n\t\tdispatch(RemoveAttachment(userId, tableId));\r\n\t\tdispatch(ToggleRemoveFileIncidentTrackerDialog(false));\r\n\t\tdispatch(enqueueSnackbar({ message: 'Attachment deleted', options: { variant: 'info' } }));\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\thasAttachment: false\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nIncidentTrackerDeleteFileDialog.propTypes = {\r\n\tauthor: PropTypes.object.isRequired,\r\n\tclassName: PropTypes.string,\r\n\tonApply: PropTypes.func,\r\n\tonClose: PropTypes.func,\r\n\topen: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default IncidentTrackerDeleteFileDialog;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport Accordion from '@mui/material/Accordion';\r\nimport { Button, TextField, Card, Grid, CardHeader, CardContent, Typography, Box } from '@mui/material';\r\nimport { SelectField } from 'components';\r\nimport Dialog from '@mui/material/Dialog';\r\nimport DialogActions from '@mui/material/DialogActions';\r\nimport DialogContent from '@mui/material/DialogContent';\r\nimport DialogContentText from '@mui/material/DialogContentText';\r\nimport DialogTitle from '@mui/material/DialogTitle';\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { SetFormState, ToggleOptionsIncidentTrackerForm, AddDropdownField, RemoveDropdownField } from '../../../../../actions/IncidentTrackerActions';\r\n\r\nconst IncidentTrackerOptionsForm = (props) => {\r\n\tconst { open, dropdownLabel, dropdownName, dropdownValue, dropdownId, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst tableId = useSelector((state) => state.incidentTrackerDemoReducer.tableId);\r\n\tconst userId = useSelector(state => state.session.user.id);\r\n\tconst role = useSelector(state => state.session.user.role);\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector(state => state.incidentTrackerDemoReducer.formState);\r\n\tconst dropdowns = useSelector(state => state.incidentTrackerDemoReducer.dropdowns);\r\n\r\n\tconst [dropdownValueAdded, setdropdownValueAdded] = useState('');\r\n\r\n\tconst _handleChange = (event) => {\r\n\t\tsetdropdownValueAdded(event.target.value);\r\n\t};\r\n\r\n\tconst _handleClose = () => {\r\n\t\tdispatch(ToggleOptionsIncidentTrackerForm(false));\r\n\t};\r\n\r\n\tconst relations = { levelOneId: formState.values.levelOne, levelTwoId: formState.values.levelTwo, levelThreeId: formState.values.levelThree };\r\n\r\n\tconst _handleAdd = () => {\r\n\t\tdispatch(AddDropdownField(userId, dropdownName, dropdownValueAdded, relations));\r\n\t\tdispatch(ToggleOptionsIncidentTrackerForm(false));\r\n\t};\r\n\r\n\tconst _handleRemove = () => {\r\n\t\tdispatch(RemoveDropdownField(userId, dropdownName, dropdownValue, dropdownId, relations));\r\n\t\tdispatch(ToggleOptionsIncidentTrackerForm(false));\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[dropdownName]: undefined\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tconst [expanded, setExpanded] = useState(false);\r\n\r\n\treturn (\r\n\t\t
    \r\n\t\t\t\r\n\t\t\t\t{dropdownLabel}\r\n\t\t\t\t\r\n\t\t\t\t\t :not(style)': { m: 1, width: '25ch' },\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t\tnoValidate\r\n\t\t\t\t\t\tautoComplete=\"off\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nIncidentTrackerOptionsForm.propTypes = {\r\n\topen: PropTypes.bool,\r\n\tdropdownLabel: PropTypes.string.isRequired,\r\n\tdropdownName: PropTypes.string.isRequired,\r\n\tdropdownValue: PropTypes.string,\r\n\tdropdownId: PropTypes.string\r\n};\r\n\r\nexport default IncidentTrackerOptionsForm;\r\n","import React, { useState, useEffect, useCallback, useMemo } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport Accordion from '@mui/material/Accordion';\r\nimport { Button, TextField, Card, Grid, CardHeader, CardContent, IconButton, Tooltip } from '@mui/material';\r\nimport { SelectField } from 'components';\r\nimport AccordionDetails from '@mui/material/AccordionDetails';\r\nimport AccordionSummary from '@mui/material/AccordionSummary';\r\nimport Typography from '@mui/material/Typography';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\nimport AddCircleOutlineIcon from '@mui/icons-material/AddCircleOutline';\r\nimport CancelIcon from '@mui/icons-material/Cancel';\r\nimport { enqueueSnackbar } from 'actions';\r\nimport ModalDialog from '../../../../../components/ModalDialog/ModalDialog.js';\r\nimport { SetFormState, GetIncidentDropdowns, ToggleOptionsIncidentTrackerForm, RemoveDropdownField } from '../../../actions/IncidentTrackerActions';\r\nimport IncidentTrackerOptionsForm from './components/components/IncidentTrackerOptionsForm';\r\n\r\nconst IncidentTrackerOptionsDialog = (props) => {\r\n\tconst { author, open, onClose, onApply, className, ...rest } = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst tableId = useSelector((state) => state.incidentTrackerDemoReducer.tableId);\r\n\tconst userId = useSelector(state => state.session.user.id);\r\n\tconst role = useSelector(state => state.session.user.role);\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector(state => state.incidentTrackerDemoReducer.formState);\r\n\tconst dropdowns = useSelector(state => state.incidentTrackerDemoReducer.dropdowns);\r\n\tconst optionsIncidentTrackerFormVisibility = useSelector(state => state.incidentTrackerDemoReducer.optionsIncidentTrackerFormVisibility);\r\n\tconst dropdownLabel = useSelector(state => state.incidentTrackerDemoReducer.dropdownLabel);\r\n\tconst dropdownName = useSelector(state => state.incidentTrackerDemoReducer.dropdownName);\r\n\tconst dropdownValue = useSelector(state => state.incidentTrackerDemoReducer.dropdownValue);\r\n\tconst dropdownId = useSelector(state => state.incidentTrackerDemoReducer.dropdownId);\r\n\r\n\tconst newDropdownField = useSelector(state => state.incidentTrackerDemoReducer.newDropdownField);\r\n\r\n\tconst [expanded, setExpanded] = useState(false);\r\n\r\n\tconst handleChange = (panel) => (event, isExpanded) => {\r\n\t\tsetExpanded(isExpanded ? panel : false);\r\n\t};\r\n\r\n\tconst getData = useCallback(() => {\r\n\t\tdispatch(GetIncidentDropdowns());\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tgetData();\r\n\t}, []);\r\n\r\n\tconst _handleChangeDropDown = event => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\t[event.target.name]: true\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleChangeLevels = event => {\r\n\t\tif (event.target.name === 'levelOne') {\r\n\t\t\t// Filtrar\r\n\t\t\tlet levelsTwo = dropdowns.levelsRelation\r\n\t\t\t\t.filter(x => x.levelOneId === event.target.value)\r\n\t\t\t\t.map(({ levelTwoId, levelTwoName }) => ({\r\n\t\t\t\t\tvalue: levelTwoId,\r\n\t\t\t\t\ttext: levelTwoName\r\n\t\t\t\t}));\r\n\t\t\t// Distintos\r\n\t\t\tlevelsTwo = [...new Map(levelsTwo.map((item) => [item.value, item])).values()];\r\n\r\n\t\t\tsetFormState({\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...formState.values,\r\n\t\t\t\t\t[event.target.name]: event.target.value,\r\n\t\t\t\t\tlevelTwo: undefined,\r\n\t\t\t\t\tlevelThree: undefined,\r\n\t\t\t\t\tlevelsTwo,\r\n\t\t\t\t\tlevelsThree: [],\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t} else if (event.target.name === 'levelTwo') {\r\n\t\t\t// Filtrar\r\n\t\t\tlet levelsThree = dropdowns.levelsRelation\r\n\t\t\t\t.filter(x => x.levelTwoId === event.target.value)\r\n\t\t\t\t.map(({ levelThreeId, levelThreeName }) => ({\r\n\t\t\t\t\tvalue: levelThreeId,\r\n\t\t\t\t\ttext: levelThreeName\r\n\t\t\t\t}));\r\n\t\t\t// Distintos\r\n\t\t\tlevelsThree = [...new Map(levelsThree.map((item) => [item.value, item])).values()];\r\n\r\n\t\t\tsetFormState({\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...formState.values,\r\n\t\t\t\t\t[event.target.name]: event.target.value,\r\n\t\t\t\t\tlevelThree: undefined,\r\n\t\t\t\t\tlevelsThree,\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t} else if (event.target.name === 'levelThree') {\r\n\t\t\tsetFormState({\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...formState.values,\r\n\t\t\t\t\t[event.target.name]: event.target.value\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tconst _addField = (event, label, name) => {\r\n\t\tdispatch(ToggleOptionsIncidentTrackerForm(true, label, name));\r\n\t};\r\n\r\n\tuseMemo(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\t[newDropdownField.name]: newDropdownField.id\r\n\t\t\t}\r\n\t\t});\r\n\t}, [newDropdownField]);\r\n\r\n\tuseMemo(() => {\r\n\t\tif (dropdowns && dropdowns.levelsRelation) {\r\n\t\t\t// Filtrar\r\n\t\t\tlet levelsTwo = dropdowns.levelsRelation\r\n\t\t\t\t.filter(x => x.levelOneId === formState.values.levelOne)\r\n\t\t\t\t.map(({ levelTwoId, levelTwoName }) => ({\r\n\t\t\t\t\tvalue: levelTwoId,\r\n\t\t\t\t\ttext: levelTwoName\r\n\t\t\t\t}));\r\n\t\t\t// Distintos\r\n\t\t\tlevelsTwo = [...new Map(levelsTwo.map((item) => [item.value, item])).values()];\r\n\r\n\t\t\t// Filtrar\r\n\t\t\tlet levelsThree = dropdowns.levelsRelation\r\n\t\t\t\t.filter(x => x.levelTwoId === formState.values.levelTwo)\r\n\t\t\t\t.map(({ levelThreeId, levelThreeName }) => ({\r\n\t\t\t\t\tvalue: levelThreeId,\r\n\t\t\t\t\ttext: levelThreeName\r\n\t\t\t\t}));\r\n\t\t\t// Distintos\r\n\t\t\tlevelsThree = [...new Map(levelsThree.map((item) => [item.value, item])).values()];\r\n\r\n\t\t\tsetFormState({\r\n\t\t\t\t...formState,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...formState.values,\r\n\t\t\t\t\tlevelsTwo,\r\n\t\t\t\t\tlevelsThree\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}, [dropdowns]);\r\n\r\n\tconst _deleteField = (event, label, name, value, id) => {\r\n\t\tdispatch(ToggleOptionsIncidentTrackerForm(true, label, name, value, id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{optionsIncidentTrackerFormVisibility && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\taria-controls=\"panel2bh-content\"\r\n\t\t\t\t\t\tid=\"panel2bh-header\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\tEdit Status\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t _addField(e, 'Status', 'status')}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t _deleteField(\r\n\t\t\t\t\t\t\t\t\t\t\te,\r\n\t\t\t\t\t\t\t\t\t\t\t'Status',\r\n\t\t\t\t\t\t\t\t\t\t\t'status',\r\n\t\t\t\t\t\t\t\t\t\t\tdropdowns.status.find(x => x.value === formState.values.status).text,\r\n\t\t\t\t\t\t\t\t\t\t\tformState.values.status\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\taria-controls=\"panel4bh-content\"\r\n\t\t\t\t\t\tid=\"panel4bh-header\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\tEdit Solution Type\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t _addField(e, 'Solution Type', 'solutionType')}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t _deleteField(\r\n\t\t\t\t\t\t\t\t\t\t\te,\r\n\t\t\t\t\t\t\t\t\t\t\t'Solution Type',\r\n\t\t\t\t\t\t\t\t\t\t\t'solutionType',\r\n\t\t\t\t\t\t\t\t\t\t\tdropdowns.solutionType.find(x => x.value === formState.values.solutionType).text,\r\n\t\t\t\t\t\t\t\t\t\t\tformState.values.solutionType\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\taria-controls=\"panel5bh-content\"\r\n\t\t\t\t\t\tid=\"panel5bh-header\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\tEdit Levels\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t _addField(e, 'Level One', 'levelOne')}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t _deleteField(\r\n\t\t\t\t\t\t\t\t\t\t\te,\r\n\t\t\t\t\t\t\t\t\t\t\t'Level One',\r\n\t\t\t\t\t\t\t\t\t\t\t'levelOne',\r\n\t\t\t\t\t\t\t\t\t\t\tdropdowns.levelOne.find(x => x.value === formState.values.levelOne).text,\r\n\t\t\t\t\t\t\t\t\t\t\tformState.values.levelOne\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t _addField(e, 'Level Two', 'levelTwo')}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t _deleteField(\r\n\t\t\t\t\t\t\t\t\t\t\te,\r\n\t\t\t\t\t\t\t\t\t\t\t'Level Two',\r\n\t\t\t\t\t\t\t\t\t\t\t'levelTwo',\r\n\t\t\t\t\t\t\t\t\t\t\tdropdowns.levelTwo.find(x => x.value === formState.values.levelTwo).text,\r\n\t\t\t\t\t\t\t\t\t\t\tformState.values.levelTwo\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t _addField(e, 'Level Three', 'levelThree')}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t _deleteField(\r\n\t\t\t\t\t\t\t\t\t\t\te,\r\n\t\t\t\t\t\t\t\t\t\t\t'Level Three',\r\n\t\t\t\t\t\t\t\t\t\t\t'levelThree',\r\n\t\t\t\t\t\t\t\t\t\t\tdropdowns.levelThree.find(x => x.value === formState.values.levelThree).text,\r\n\t\t\t\t\t\t\t\t\t\t\tformState.values.levelThree\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nIncidentTrackerOptionsDialog.propTypes = {\r\n\tauthor: PropTypes.object.isRequired,\r\n\tclassName: PropTypes.string,\r\n\tonApply: PropTypes.func,\r\n\tonClose: PropTypes.func,\r\n\topen: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default IncidentTrackerOptionsDialog;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Grid, Button, Card, CardContent, Switch } from '@mui/material';\r\nimport { Page, Header } from 'components';\r\nimport SpeedDial from '@mui/material/SpeedDial';\r\nimport SpeedDialIcon from '@mui/material/SpeedDialIcon';\r\nimport SpeedDialAction from '@mui/material/SpeedDialAction';\r\nimport AddBoxIcon from '@mui/icons-material/AddBox';\r\nimport FileOpenIcon from '@mui/icons-material/FileOpen';\r\nimport ManageAccountsIcon from '@mui/icons-material/ManageAccounts';\r\nimport IncidentTrackerDatatable from './components/IncidentTrackerDatatable';\r\nimport IncidentTrackerDialog from './components/IncidentTrackerDialog/IncidentTrackerDialog';\r\nimport IncidentTrackerDeleteDialog from './components/IncidentTrackerDialog/IncidentTrackerDeleteDialog';\r\nimport IncidentTrackerAddFileDialog from './components/IncidentTrackerDialog/components/components/IncidentTrackerAddFileDialog';\r\nimport IncidentTrackerDeleteFileDialog from './components/IncidentTrackerDialog/components/components/IncidentTrackerDeleteFileDialog';\r\nimport IncidentTrackerOptionsDialog from './components/IncidentTrackerDialog/IncidentTrackerOptionsDialog';\r\n\r\nimport {\r\n\tSetFormState, GetIncidents, ToggleIncidentTrackerDialog,\r\n\tToggleDeleteIncidentTrackerDialog, ExportIncidents,\r\n\tToggleAttachFileIncidentTrackerDialog, ToggleRemoveFileIncidentTrackerDialog,\r\n\tToggleOptionsIncidentTrackerDialog\r\n} from '../actions/IncidentTrackerActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(1),\r\n\t},\r\n}));\r\n\r\nconst IncidentTracker = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector((state) => state.incidentTrackerDemoReducer.formState);\r\n\tconst userId = useSelector(state => state.session.user.id);\r\n\tconst role = useSelector(state => state.session.user.role);\r\n\tconst incidents = useSelector((state) => state.incidentTrackerDemoReducer.incidents);\r\n\tconst incidentTrackerDialogVisibility = useSelector((state) => state.incidentTrackerDemoReducer.IncidentTrackerDialogVisibility);\r\n\tconst deleteIncidentTrackerDialogVisibility = useSelector((state) => state.incidentTrackerDemoReducer.deleteIncidentTrackerDialogVisibility);\r\n\tconst attachFileIncidentTrackerDialogVisibility = useSelector((state) => state.incidentTrackerDemoReducer.attachFileIncidentTrackerDialogVisibility);\r\n\tconst removeFileIncidentTrackerDialogVisibility = useSelector((state) => state.incidentTrackerDemoReducer.removeFileIncidentTrackerDialogVisibility);\r\n\tconst optionsIncidentTrackerDialogVisibility = useSelector((state) => state.incidentTrackerDemoReducer.optionsIncidentTrackerDialogVisibility);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (incidentTrackerDialogVisibility === false && deleteIncidentTrackerDialogVisibility === false) {\r\n\t\t\tdispatch(GetIncidents(userId, role));\r\n\t\t}\r\n\t}, [incidentTrackerDialogVisibility, deleteIncidentTrackerDialogVisibility]);\r\n\r\n\tconst _incidentTrackerDialogClose = (event, reason) => {\r\n\t\tif (reason !== 'backdropClick') {\r\n\t\t\tdispatch(ToggleIncidentTrackerDialog(false));\r\n\t\t}\r\n\t};\r\n\r\n\tconst _incidentTrackerDeleteDialogClose = () => {\r\n\t\tdispatch(ToggleDeleteIncidentTrackerDialog(false));\r\n\t};\r\n\r\n\tconst _attachFileIncidentTrackerDialogClose = () => {\r\n\t\tdispatch(ToggleAttachFileIncidentTrackerDialog(false));\r\n\t};\r\n\r\n\tconst _removeFileIncidentTrackerDialogClose = () => {\r\n\t\tdispatch(ToggleRemoveFileIncidentTrackerDialog(false));\r\n\t};\r\n\r\n\tconst _optionsIncidentTrackerDialogClose = () => {\r\n\t\tdispatch(ToggleOptionsIncidentTrackerDialog(false));\r\n\t};\r\n\r\n\tconst _onCreateSiteIncidentClick = () => {\r\n\t\tdispatch(ToggleIncidentTrackerDialog(true));\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\tcfnOwner: userId\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _onExportIncidentsClick = () => {\r\n\t\tdispatch(ExportIncidents(userId, role));\r\n\t};\r\n\r\n\tconst _onOptionsClick = () => {\r\n\t\tdispatch(ToggleOptionsIncidentTrackerDialog(true));\r\n\t};\r\n\r\n\tconst actions = [\r\n\t\t{ icon: , name: 'Create Ticket', id: 'createIncident' },\r\n\t\t{ icon: , name: 'Export Tracker', id: 'exportIncidents' },\r\n\t];\r\n\r\n\t/* \tif (role === 'Administrator' || role === 'Manager') {\r\n\t\tactions.push({ icon: , name: 'Options', id: 'options' });\r\n\t} */\r\n\r\n\tconst _handleSpeedDialClick = (action) => {\r\n\t\tif (action.id === 'createIncident') {\r\n\t\t\t_onCreateSiteIncidentClick();\r\n\t\t} else if (action.id === 'exportIncidents') {\r\n\t\t\t_onExportIncidentsClick();\r\n\t\t} else if (action.id === 'options') {\r\n\t\t\t_onOptionsClick();\r\n\t\t}\r\n\t};\r\n\r\n\tconst [formating, setFormating] = React.useState(true);\r\n\tfunction handleClick() {\r\n\t\tsetFormating(true);\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t}\r\n\t\t\t>\r\n\t\t\t\t{actions.map((action) => (\r\n\t\t\t\t\t { _handleSpeedDialClick(action); }}\r\n\t\t\t\t\t/>\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{incidentTrackerDialogVisibility && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{deleteIncidentTrackerDialogVisibility && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{attachFileIncidentTrackerDialogVisibility && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{removeFileIncidentTrackerDialogVisibility && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{optionsIncidentTrackerDialogVisibility && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default IncidentTracker;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport uuid from 'uuid/v1';\r\nimport {\r\n\tCard,\r\n\tCardHeader,\r\n\tCardContent,\r\n\tCardActions,\r\n\tDivider,\r\n\tButton,\r\n\tGrid,\r\n\tTextField,\r\n\tCheckbox,\r\n\tAutocomplete\r\n} from '@mui/material';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport moment from 'moment';\r\nimport { Page, Header, Alert } from 'components';\r\n\r\nimport CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank';\r\nimport CheckBoxIcon from '@mui/icons-material/CheckBox';\r\nimport { ReportSunsetForm } from './components';\r\nimport { ReportSunsetExport, SetFormState } from '../actions/ReportSunsetActions';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tsitelist: {\r\n\t\tmarginTop: theme.spacing(6)\r\n\t}\r\n}));\r\n\r\nconst ReportSunset = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst formState = useSelector(state => state.reportSunsetReducer.formState);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetFormState({\r\n\t\t\t...formState,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formState.values,\r\n\t\t\t\tsite: '',\r\n\t\t\t\tactivationDate: null,\r\n\t\t\t\tStart_Period: null,\r\n\t\t\t\tEnd_Period: null,\r\n\t\t\t\tvendor: '',\r\n\t\t\t\ttech: '',\r\n\t\t\t\ttype: ''\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formState.touched,\r\n\t\t\t\tsite: false\r\n\t\t\t}\r\n\t\t});\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default ReportSunset;\r\n","import * as React from 'react';\r\nimport CardMedia from '@mui/material/CardMedia';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, TextField, Accordion, AccordionSummary, AccordionDetails, Typography, colors } from '@mui/material';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { SetFormState, DownloadTemplate } from '../actions/FocusOccasionUploadActions';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tpaper: {\r\n\t\tpadding: theme.spacing(1)\r\n\t},\r\n\tpopover: {\r\n\t\tpointerEvents: 'none'\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900]\r\n\t\t}\r\n\t}\r\n}));\r\n\r\nexport default function MediaCard() {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\tconst setFormState = formState => dispatch(SetFormState(formState));\r\n\tconst _generate = () => {\r\n\t\tdispatch(DownloadTemplate());\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tImportant\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tThis module its only to upload files with specific nomenclature such:\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t- Focus_Occasion_Events (.xlsx)\r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n}\r\n","/* eslint-disable max-len */\r\nimport React, { useEffect, useCallback } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Page, FilesDropzone, Header, Alert } from 'components';\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, TextField, Accordion, AccordionSummary, AccordionDetails, Typography, colors } from '@mui/material';\r\nimport { RunFileUpload } from '../actions/FocusOccasionUploadActions.js';\r\nimport MediaCard from './FocusOccasionCard';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tpaper: {\r\n\t\tpadding: theme.spacing(1)\r\n\t},\r\n\tpopover: {\r\n\t\tpointerEvents: 'none'\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900]\r\n\t\t}\r\n\t}\r\n}));\r\n\r\nconst FocusOccasionFilesUpload = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst user = useSelector(state => state.session.user);\r\n\r\n\tconst _FocusOccasionFilesUpload = file => {\r\n\t\tfile.forEach(element => {\r\n\t\t\t// eslint-disable-next-line max-len\r\n\t\t\tif (!element.name.includes('Focus_Occasion_Events')) {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tenqueueSnackbar({\r\n\t\t\t\t\t\tmessage: `File ${element.name} not valid. Please check file nomenclature.`,\r\n\t\t\t\t\t\toptions: { variant: 'warning' }\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tconst username = `${user.firstname} ${user.lastname}`;\r\n\t\t\t\tdispatch(RunFileUpload(element, username, user.id));\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tFocus Occasion Events Upload\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default FocusOccasionFilesUpload;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport validate from 'validate.js';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography, Button, Card, CardHeader, CardContent, CardActions, Grid, Divider, TextField, colors } from '@mui/material';\r\nimport { enqueueSnackbar } from 'actions';\r\nimport { GetTeamAssign, GetTeamAssignDetails, SetFormStateEricsson, SetFormStateNokia, ResetAllocation, SaveAllocation } from '../../actions/ManagementActions';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tsave: {\r\n\t\tmarginLeft: 'auto',\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n\treset: {\r\n\t\tmarginLeft: 'auto',\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.blue[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.blue[900],\r\n\t\t},\r\n\t}\r\n}));\r\n\r\nconst schema = {\r\n\tmonday: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required; ' }, format: { pattern: /^\\d+(\\.\\d+)?$/, message: 'Numeric Field; ' }\r\n\t},\r\n\ttuesday: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required; ' }, format: { pattern: /^\\d+(\\.\\d+)?$/, message: 'Numeric Field; ' }\r\n\t},\r\n\twednesday: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required; ' }, format: { pattern: /^\\d+(\\.\\d+)?$/, message: 'Numeric Field; ' }\r\n\t},\r\n\tthursday: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required; ' }, format: { pattern: /^\\d+(\\.\\d+)?$/, message: 'Numeric Field; ' }\r\n\t},\r\n\tfriday: {\r\n\t\tpresence: { allowEmpty: false, message: 'is required; ' }, format: { pattern: /^\\d+(\\.\\d+)?$/, message: 'Numeric Field; ' }\r\n\t}\r\n};\r\n\r\nfunction allocationPerDayIsValid(_formStateEricsson, _formStateNokia, totalOfEngineers) {\r\n\tconst weekDays = ['monday', 'tuesday', 'wednesday', 'thursday', 'friday'];\r\n\r\n\tconst checkValues = (dia) => {\r\n\t\tconst ericssonDayValue = _formStateEricsson.values[dia];\r\n\t\tconst nokiaDayValue = _formStateNokia.values[dia];\r\n\r\n\t\tconst newTotal = (parseFloat(ericssonDayValue) + parseFloat(nokiaDayValue));\r\n\t\treturn (parseFloat(newTotal) <= parseFloat(totalOfEngineers));\r\n\t};\r\n\r\n\tfor (let i = 0; i < weekDays.length; i++) {\r\n\t\tconst dia = weekDays[i];\r\n\t\tconst isValid = checkValues(dia);\r\n\t\tif (!isValid) {\r\n\t\t\treturn isValid;\r\n\t\t}\r\n\t}\r\n\r\n\treturn true;\r\n}\r\n\r\nfunction disableThisDay(day, teamDetails) {\r\n\tif (teamDetails.userAllowed) {\r\n\t\treturn !(teamDetails.currentDay === day);\r\n\t}\r\n\treturn true;\r\n}\r\n\r\nconst AcceptanceManagementForm = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst setFormStateNokia = formStateNokia => dispatch(SetFormStateNokia(formStateNokia));\r\n\tconst setFormStateEricsson = formStateEricsson => dispatch(SetFormStateEricsson(formStateEricsson));\r\n\r\n\tconst userId = useSelector(state => state.session.user.id);\r\n\tconst formStateEricsson = useSelector(state => state.managementReducer.formStateEricsson);\r\n\tconst formStateNokia = useSelector(state => state.managementReducer.formStateNokia);\r\n\tconst teamDetails = useSelector(state => state.managementReducer.teamDetails);\r\n\r\n\tconst _hasErrorNokia = (field) => (!!(formStateNokia.touched[field] && formStateNokia.errors[field]));\r\n\tconst _hasErrorEricsson = (field) => (!!(formStateEricsson.touched[field] && formStateEricsson.errors[field]));\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatch(GetTeamAssign(userId));\r\n\t\tdispatch(GetTeamAssignDetails(userId));\r\n\t}, []);\r\n\r\n\tuseMemo(() => {\r\n\t\tconst errorsNokia = validate(formStateNokia.values, schema);\r\n\r\n\t\tsetFormStateNokia({\r\n\t\t\t...formStateNokia,\r\n\t\t\tisValid: !errorsNokia,\r\n\t\t\terrors: errorsNokia || {},\r\n\t\t});\r\n\t}, [formStateNokia.values]);\r\n\r\n\tuseMemo(() => {\r\n\t\tconst errorsEricsson = validate(formStateEricsson.values, schema);\r\n\r\n\t\tsetFormStateEricsson({\r\n\t\t\t...formStateEricsson,\r\n\t\t\tisValid: !errorsEricsson,\r\n\t\t\terrors: errorsEricsson || {},\r\n\t\t});\r\n\t}, [formStateEricsson.values]);\r\n\r\n\tconst _handleChangeNokia = (event) => {\r\n\t\tsetFormStateNokia({\r\n\t\t\t...formStateNokia,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formStateNokia.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formStateNokia.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst _handleChangeEricsson = (event) => {\r\n\t\tsetFormStateEricsson({\r\n\t\t\t...formStateEricsson,\r\n\t\t\tvalues: {\r\n\t\t\t\t...formStateEricsson.values,\r\n\t\t\t\t[event.target.name]:\r\n\t\t\t\t\tevent.target.type === 'checkbox'\r\n\t\t\t\t\t\t? event.target.checked\r\n\t\t\t\t\t\t: event.target.value,\r\n\t\t\t},\r\n\t\t\ttouched: {\r\n\t\t\t\t...formStateEricsson.touched,\r\n\t\t\t\t[event.target.name]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\r\n\tconst reset = () => {\r\n\t\tdispatch(ResetAllocation(userId, teamDetails.id));\r\n\t};\r\n\r\n\tconst save = () => {\r\n\t\tconst allocationUpdate = {\r\n\t\t\tEricsson: formStateEricsson.values,\r\n\t\t\tNokia: formStateNokia.values,\r\n\t\t\tUserId: userId\r\n\t\t};\r\n\r\n\t\tif (allocationPerDayIsValid(formStateEricsson, formStateNokia, teamDetails.totalOfEngineers)) {\r\n\t\t\tdispatch(SaveAllocation(allocationUpdate));\r\n\t\t} else {\r\n\t\t\tconst errorMessage = `The total resources allocated per day is ${teamDetails.totalOfEngineers}.`;\r\n\r\n\t\t\tdispatch(enqueueSnackbar({ message: errorMessage, options: { variant: 'error' } }));\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tEricsson\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tNokia\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tCurrent Period\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tLast Modification\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tThe total resources allocated per day is\r\n\t\t\t\t\t{' '}\r\n\t\t\t\t\t{teamDetails.totalOfEngineers}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default AcceptanceManagementForm;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { makeStyles } from '@mui/styles';\r\nimport _ from 'underscore';\r\nimport { Page, Header } from 'components';\r\n\r\nimport { ManagementForm } from './components';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tsitelist: {\r\n\t\tmarginTop: theme.spacing(6)\r\n\t}\r\n}));\r\n\r\nconst AcceptanceManagement = () => {\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default AcceptanceManagement;\r\n","/* eslint-disable max-len */\r\nimport React, { useState } from 'react';\r\nimport clsx from 'clsx';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Page, FilesDropzone, Header, Alert } from 'components';\r\nimport { Card, CardContent, CardActions, Grid, Divider, TextField, Accordion, AccordionSummary, AccordionDetails, Typography, colors } from '@mui/material';\r\nimport { IncidentCellListUpload } from '../../actions/IncidentCellListActions.js';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3)\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3)\r\n\t},\r\n\tpaper: {\r\n\t\tpadding: theme.spacing(1)\r\n\t},\r\n\tpopover: {\r\n\t\tpointerEvents: 'none'\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900]\r\n\t\t}\r\n\t}\r\n}));\r\n\r\nconst IncidentCellList = () => {\r\n\tconst classes = useStyles();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst user = useSelector(state => state.session.user);\r\n\r\n\tconst _IncidentCellListUpload = file => {\r\n\t\tconst username = `${user.firstname} ${user.lastname}`;\r\n\t\tdispatch(IncidentCellListUpload(file[0], user.id));\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tThis module its only to upload Incident Cell List file and generate a report.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default IncidentCellList;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { colors } from '@mui/material';\r\nimport { Page, Header } from 'components';\r\nimport IncidentCellList from './IncidentCellList/IncidentCellListUpload';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tpadding: theme.spacing(3),\r\n\t},\r\n\tcontainer: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\ttabs: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tcontent: {\r\n\t\tmarginTop: theme.spacing(3),\r\n\t},\r\n\tgenerate: {\r\n\t\tcolor: theme.palette.white,\r\n\t\tbackgroundColor: colors.green[600],\r\n\t\t'&:hover': {\r\n\t\t\tbackgroundColor: colors.green[900],\r\n\t\t},\r\n\t},\r\n}));\r\n\r\nconst GEOFiles = () => {\r\n\tconst classes = useStyles();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default GEOFiles;\r\n","/* eslint-disable react/no-multi-comp */\r\n/* eslint-disable react/display-name */\r\nimport React, { lazy } from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\n\r\nimport AuthGuard from './components/AuthGuard';\r\n\r\nimport AuthLayout from './layouts/Auth';\r\nimport ErrorLayout from './layouts/Error';\r\nimport DashboardLayout from './layouts/Dashboard';\r\nimport DashboardAnalyticsView from './views/DashboardAnalytics';\r\nimport DashboardDefaultView from './views/DashboardDefault';\r\nimport OverviewView from './views/Overview';\r\nimport Home from './views/Home';\r\nimport PresentationView from './views/Presentation';\r\nimport Users from './views/Management/components/Users';\r\nimport Operators from './views/Management/components/Operators';\r\nimport OperatorDetails from './views/Management/components/OperatorDetails';\r\nimport Settings from './views/Management/components/Settings';\r\nimport DashboardInspect from './views/Dashboard/components/Inspect/DashboardInspect.js';\r\nimport Uploads from './views/ReportKpis/components/Uploads/Uploads.js';\r\nimport Reports from './views/ReportKpis/components/Reports/Reports.js';\r\nimport TechAdd from './views/Scripts/components/TechAdd/TechAdd.js';\r\nimport Tickets from './views/Tickets/components/Tickets/Tickets.js';\r\nimport TicketDetails from './views/Tickets/components/TicketDetails/TicketDetails.js';\r\nimport Configuration from './views/CM/components/Configuration/Configuration';\r\nimport CellInfo from './views/CM/components/CellInfo/CellInfo';\r\nimport HuaweiRemoteAnalysis from './views/CM/components/HuaweiRemoteAnalysis/HuaweiRemoteAnalysis';\r\nimport ServiceIpAssignment from './views/IpAssignment/components/ServiceIpAssignment/ServiceIpAssignment';\r\nimport TransportIpAssignment from './views/IpAssignment/components/TransportIpAssignment/TransportIpAssignment';\r\nimport RemoveEBandIps from './views/IpAssignment/components/RemoveEBandIps/RemoveEBandIps';\r\nimport IpAudits from './views/IpAudits/components/IpAudits/IpAudits';\r\nimport SmallCells from './views/SmallCells/components/SmallCells';\r\nimport Scf from './views/Scripts/components/Scf/Scf';\r\nimport Downloads from './views/Downloads/Downloads';\r\nimport Report2CA from './views/Acceptance/components/Report2CA';\r\nimport ReportNR from './views/Acceptance/components/ReportNR';\r\nimport ReportNR7Assessment from './views/Acceptance/components/ReportNR7Assessment';\r\nimport RETEnablingChecks from './views/RanRETAudit/components/RETAudit_FileUpload/RetAudit';\r\nimport RETFilesUpload from './views/RanRETAudit/components/RETAudit_FileUpload/RETFilesUpload';\r\nimport IncidentTracker from './views/IncidentTracker/components/IncidentTracker/IncidentTracker';\r\nimport IncidentTrackerConfiguration from './views/IncidentTracker/components/IncidentTrackerConfiguration/IncidentTrackerConfiguration';\r\nimport SiteTracker from './views/SiteTracker/components/SiteTracker/SiteTracker';\r\nimport RANDumpExport from './views/RANDumpExport/components/RANDumpExport';\r\nimport CPMDumpExport from './views/RanRETAudit/components/CPMDumpExport';\r\nimport GEOFiles from './views/RanRETAudit/components/GEOInputFile';\r\nimport SiteAssessmentExport from './views/SiteAssessment7Days/components/SiteAssessment7Days';\r\nimport PerformanceMonitoring from './views/TopOffenders/components/TopOffendersExport';\r\nimport PerformanceMonitoringCities from './views/TopOffendersCities/components/TopOffendersCitiesExport';\r\nimport RanReportRFForm from './views/RanReportRF/components/RanReportRF';\r\nimport TopOffendersWorstSites from './views/TopOffendersWorstSites/components/WorstSitesExport';\r\nimport CapacityPRBBlackList from './views/CapacityPRBBlackList/components/CapacityPRBBlackListExport';\r\nimport TopOffendersWorstSitesCities from './views/TopOffendersWorstSites/components/WorstSitesCitiesExport';\r\nimport TopOffendersWorstSitesRegion from './views/TopOffendersWorstSites/components/WorstSitesRegionExport';\r\nimport BwUpdate from './views/Scripts/components/BwUpdate/BwUpdate';\r\nimport TopOffendersAggSite from './views/TopOffendersGenericReports/components/TopOffendersAggSiteReport';\r\nimport ReportRFCounters from './views/Acceptance/components/ReportRFCounters';\r\nimport TopOffendersAggSubRegion from './views/TopOffendersGenericReports/components/TopOffendersAggSubRegionReport';\r\nimport TopOffendersAggRegion from './views/TopOffendersGenericReports/components/TopOffendersAggRegionReport';\r\nimport TopOffendersAggCity from './views/TopOffendersGenericReports/components/TopOffendersAggCityReport';\r\nimport IncidentTrackerDemo from './views/RFOPTTracker/components/IncidentTracker';\r\nimport ReportSunset from './views/Acceptance/components/ReportSunset';\r\nimport FocusOccasionEventsUpload from './views/FocusOccasion/components/FocusOccasionUpload';\r\nimport AcceptanceManagement from './views/AcceptanceManagement/components/AcceptanceManagement';\r\nimport IncidentCellList from './views/IncidentCellList/components/IncidentCellList';\r\n\r\nconst routes = [\r\n\t{\r\n\t\tpath: '/',\r\n\t\texact: true,\r\n\t\tcomponent: () => ,\r\n\t},\r\n\t{\r\n\t\tpath: '/home',\r\n\t\texact: true,\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\t// roles: ['Administrator'],\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '*',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: Home(props)\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}),\r\n\t\t}),\r\n\t},\r\n\t{\r\n\t\tpath: '/DynamicClusters',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\tprojects: ['Ran'],\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/dashboards/inspect/:id',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: DashboardInspect(props)\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/dashboards/inspect/:id',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: DashboardInspect(props)\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\t},\r\n\t{\r\n\t\tpath: '/RFOPTTracker',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\t// roles: ['Administrator'],\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/RFOPTTracker',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// roles: ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: IncidentTrackerDemo()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\t},\r\n\t{\r\n\t\tpath: '/dashboards',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/dashboards/inspect/:id',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: DashboardInspect(props)\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\t},\r\n\t{\r\n\t\tpath: '/NetworkPerformanceMonitoring',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tprojects: ['Ran'],\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/NetworkPerformanceMonitoring/HardySubRegions',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: PerformanceMonitoring()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/NetworkPerformanceMonitoring/WorstSites',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: TopOffendersWorstSites()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/NetworkPerformanceMonitoring/HardyCities',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: PerformanceMonitoringCities()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/NetworkPerformanceMonitoring/CapacityPRBBlackList',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: CapacityPRBBlackList()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/NetworkPerformanceMonitoring/WorstSitesCities',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: TopOffendersWorstSitesCities()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/NetworkPerformanceMonitoring/WorstSitesRegion',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: TopOffendersWorstSitesRegion()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/NetworkPerformanceMonitoring/TopOffendersAggSite',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: TopOffendersAggSite()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/NetworkPerformanceMonitoring/TopOffendersAggSubRegion',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: TopOffendersAggSubRegion()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/NetworkPerformanceMonitoring/TopOffendersAggRegion',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: TopOffendersAggRegion()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/NetworkPerformanceMonitoring/TopOffendersAggCity',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: TopOffendersAggCity()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\t}, /* ,\r\n\t{\r\n\t\tpath: '/NetworkPerformanceMonitoring/HardyCities',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tprojects: ['Ran'],\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/NetworkPerformanceMonitoring/HardyCities',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: PerformanceMonitoringCities()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\t} */\r\n\t{\r\n\t\tpath: '/smallcells',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tprojects: ['Ran'],\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/smallcells/reports',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: SmallCells()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\t},\r\n\t{\r\n\t\tpath: '/acceptance',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\t// roles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tprojects: ['Ran'],\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/acceptance/management',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t\t\t\t\t\t\tchildren: AcceptanceManagement()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/acceptance/reports/2ca',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\t\t\t\t\t\tchildren: Report2CA()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/acceptance/reports/nr',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\t\t\t\t\t\tchildren: ReportNR()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/acceptance/reports/rf',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\t\t\t\t\t\tchildren: RanReportRFForm()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/acceptance/reports/nrBulkAssessment',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t\t\t\t\t\t\tchildren: ReportNR7Assessment()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/acceptance/reports/sunset',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\t\t\t\t\t\tchildren: ReportSunset()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\t},\r\n\t{\r\n\t\tpath: '/acceptanceTools',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\t// roles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tprojects: ['Ran'],\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/acceptanceTools/reports/nrBulkAssessment',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t\t\t\t\t\t\tchildren: ReportNR7Assessment()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/acceptanceTools/reports/nr_cbo',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t\t\t\t\t\t\tchildren: Reports()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/acceptanceTools/reports/dumpsExport',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t\t\t\t\t\t\tchildren: RANDumpExport()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/acceptanceTools/reports/sitePowerBoost',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\t\t\t\t\t\tchildren: SiteAssessmentExport()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/acceptanceTools/reports/reportRFCounters',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t\t\t\t\t\t\tchildren: ReportRFCounters()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\t},\r\n\t{\r\n\t\tpath: '/focusOccasion',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\tprojects: ['Ran'],\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/FocusOccasion/EventsUpload',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: FocusOccasionEventsUpload()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\t},\r\n\t{\r\n\t\tpath: '/retaudit',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tprojects: ['Ran'],\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/retaudit/retfilesupload',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: RETFilesUpload()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/retaudit/retenablingchecks',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\t\t\t\t\t\tchildren: RETEnablingChecks()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/retaudit/CPMDumps',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: CPMDumpExport()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/retaudit/GEOinput',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: GEOFiles()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\t},\r\n\t{\r\n\t\tpath: '/onDemandReport',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\tprojects: ['Ran'],\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/onDemandReport/retEnablingChecks',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\t\t\t\t\t\t\tchildren: RETEnablingChecks()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\t},\r\n\t{\r\n\t\tpath: '/kpis',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tprojects: ['Operations', 'Ran'],\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/kpis/uploads',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: Uploads()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/kpis/reports',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: Reports()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\t},\r\n\t{\r\n\t\tpath: '/scripts',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tprojects: ['Operations'],\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\t// eslint-disable-next-line no-sparse-arrays\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/scripts/techadd',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: TechAdd()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/scripts/scf',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: Scf()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t}, ,\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/scripts/bwupdate',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: BwUpdate()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\t},\r\n\t{\r\n\t\tpath: '/cm',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tprojects: ['Operations', 'Ran'],\r\n\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/cm/configuration',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: Configuration()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/cm/cellinfo',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: CellInfo()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/cm/huaweiRemoteAnalysis',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: HuaweiRemoteAnalysis()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/cm/incidentcelllist',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: IncidentCellList()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\t},\r\n\t{\r\n\t\tpath: '/ipassignment',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tprojects: ['Core'],\r\n\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/ipassignment/serviceipassignment',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: ServiceIpAssignment()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/ipassignment/transportipassignment',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: TransportIpAssignment()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/ipassignment/removeebandips',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: RemoveEBandIps()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\t},\r\n\t{\r\n\t\tpath: '/ipaudits',\r\n\t\texact: true,\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tprojects: ['Core'],\r\n\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '*',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: IpAudits()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\t},\r\n\t{\r\n\t\tpath: '/incidenttracker',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tprojects: ['Operations'],\r\n\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/incidenttracker/incidenttracker',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: IncidentTracker()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/incidenttracker/incidenttrackerconfiguration',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: IncidentTrackerConfiguration()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\t},\r\n\t{\r\n\t\tpath: '/sitetracker',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tprojects: ['Operations'],\r\n\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/sitetracker/sitetracker',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: SiteTracker()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\t},\r\n\t{\r\n\t\tpath: '/tickets',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tprojects: ['Operations', 'Ran'],\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/tickets',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: Tickets()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/tickets/details/:id',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: TicketDetails(props)\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\t},\r\n\t{\r\n\t\tpath: '/downloads',\r\n\t\texact: true,\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\troles: ['Administrator'],\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '*',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: Downloads(props)\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}),\r\n\t\t}),\r\n\t},\r\n\t{\r\n\t\tpath: '/management',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\t// roles: ['Administrator'],\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t{\r\n\t\t\t\t\troute: {\r\n\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/management/operators',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: Operators()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/management/operators/details',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: OperatorDetails()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/management/users',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: Users(),\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/management/settings',\r\n\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\tchildren: Settings()\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/management/statistics',\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\troute: {\r\n\t\t\t\t\t\t\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpath: '/dashboards/inspect/:id',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchildren: DashboardInspect(props)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tpath: '/management/dataintegrity',\r\n\t\t\t\t\t\t\t\tcomponent: () => AuthGuard({\r\n\t\t\t\t\t\t\t\t\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS'],\r\n\t\t\t\t\t\t\t\t\tchildren: DashboardLayout(\r\n\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\troute: {\r\n\t\t\t\t\t\t\t\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpath: '/dashboards/inspect/:id',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchildren: DashboardInspect(props)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpath: '/dashboards/inspect/:id',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcomponent: (props) => AuthGuard({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// : ['Administrator', 'Manager'],\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchildren: DashboardInspect(props)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t}),\r\n\r\n\t},\r\n\t{\r\n\t\tpath: '/auth',\r\n\t\tcomponent: AuthLayout,\r\n\t\troutes: [\r\n\t\t\t{\r\n\t\t\t\tpath: '/auth/login',\r\n\t\t\t\texact: true,\r\n\t\t\t\tcomponent: lazy(() => import('views/Auth/Login')),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: '/auth/completeregistration',\r\n\t\t\t\texact: true,\r\n\t\t\t\tcomponent: lazy(() => import('views/Auth/CompleteRegistration')),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: '/auth/resetpassword',\r\n\t\t\t\texact: true,\r\n\t\t\t\tcomponent: lazy(() => import('views/Auth/ResetPassword')),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: '/auth/recover',\r\n\t\t\t\texact: true,\r\n\t\t\t\tcomponent: lazy(() => import('views/Auth/Recover')),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: '/auth/recoverconfirmation',\r\n\t\t\t\texact: true,\r\n\t\t\t\tcomponent: lazy(() => import('views/Auth/RecoverConfirmation')),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcomponent: () => ,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\r\n\t{\r\n\t\tpath: '/errors',\r\n\t\tcomponent: ErrorLayout,\r\n\t\troutes: [\r\n\t\t\t{\r\n\t\t\t\tpath: '/errors/error-401',\r\n\t\t\t\texact: true,\r\n\t\t\t\tcomponent: lazy(() => import('views/Error401')),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: '/errors/error-404',\r\n\t\t\t\texact: true,\r\n\t\t\t\tcomponent: lazy(() => import('views/Error404')),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: '/errors/error-500',\r\n\t\t\t\texact: true,\r\n\t\t\t\tcomponent: lazy(() => import('views/Error500')),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcomponent: () => ,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tpath: '*',\r\n\t\tcomponent: () => AuthGuard({\r\n\t\t\troles: ['Administrator'],\r\n\t\t\t// operator: ['Vodafone', ...]\r\n\t\t\tchildren: DashboardLayout({\r\n\t\t\t\troute: {\r\n\t\t\t\t\troutes: [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/notifications',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/Notifications')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/calendar',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/Calendar')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/changelog',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/Changelog')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/chat',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/Chat')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/chat/:id',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/Chat')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/dashboard/analytics',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: DashboardAnalyticsView,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/dashboard/default',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: DashboardDefaultView,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/invoices/:id',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/InvoiceDetails')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/kanban-board',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/KanbanBoard')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/mail',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/Mail')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/manage/customers',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/CustomerManagementList')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/manage/customers/:id',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/CustomerManagementDetails')\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/manage/customers/:id/:tab',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/CustomerManagementDetails')\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/manage/projects',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/ProjectManagementList')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/manage/orders',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/OrderManagementList')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/manage/orders/:id',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/OrderManagementDetails')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/overview',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: OverviewView,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/presentation',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: PresentationView,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/profile/:id',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/Profile')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/profile/:id/:tab',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/Profile')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/projects/create',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/ProjectCreate')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/projects/:id',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/ProjectDetails')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/projects/:id/:tab',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/ProjectDetails')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/projects',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/ProjectList')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/settings',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/Settings')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/settings/:tab',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/Settings')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/social-feed',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/SocialFeed')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpath: '/getting-started',\r\n\t\t\t\t\t\t\texact: true,\r\n\t\t\t\t\t\t\tcomponent: lazy(() => import('views/GettingStarted')),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tcomponent: () => ,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t}),\r\n\t},\r\n];\r\n\r\nexport default routes;\r\n","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useSnackbar } from 'notistack';\r\nimport { removeSnackbar } from 'actions';\r\n\r\nlet displayed = [];\r\n\r\nconst Notifier = () => {\r\n\tconst dispatch = useDispatch();\r\n\tconst notifications = useSelector(store => store.notifierReducer.notifications || []);\r\n\tconst { enqueueSnackbar, closeSnackbar } = useSnackbar();\r\n\r\n\tconst storeDisplayed = (id) => {\r\n\t\tdisplayed = [...displayed, id];\r\n\t};\r\n\r\n\tconst removeDisplayed = (id) => {\r\n\t\tdisplayed = [...displayed.filter(key => id !== key)];\r\n\t};\r\n\r\n\tReact.useEffect(() => {\r\n\t\tnotifications.forEach(({ key, message, options = {}, dismissed = false }) => {\r\n\t\t\tif (dismissed) {\r\n\t\t\t\t// dismiss snackbar using notistack\r\n\t\t\t\tcloseSnackbar(key);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// do nothing if snackbar is already displayed\r\n\t\t\tif (displayed.includes(key)) return;\r\n\r\n\t\t\t// display snackbar using notistack\r\n\t\t\tenqueueSnackbar(message, {\r\n\t\t\t\tkey,\r\n\t\t\t\t...options,\r\n\t\t\t\tonClose: (event, reason, myKey) => {\r\n\t\t\t\t\tif (options.onClose) {\r\n\t\t\t\t\t\toptions.onClose(event, reason, myKey);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tonExited: (event, myKey) => {\r\n\t\t\t\t\t// remove this snackbar from redux store\r\n\t\t\t\t\tdispatch(removeSnackbar(myKey));\r\n\t\t\t\t\tremoveDisplayed(myKey);\r\n\t\t\t\t},\r\n\t\t\t});\r\n\r\n\t\t\t// keep track of snackbars that we've displayed\r\n\t\t\tstoreDisplayed(key);\r\n\t\t});\r\n\t}, [notifications, closeSnackbar, enqueueSnackbar, dispatch]);\r\n\r\n\treturn null;\r\n};\r\n\r\nexport default Notifier;\r\n","import { Chart } from 'react-chartjs-2';\r\n\r\n// ChartJS extension rounded bar chart\r\n// https://codepen.io/jedtrow/full/ygRYgo\r\nfunction draw() {\r\n\tconst { ctx } = this._chart;\r\n\tconst vm = this._view;\r\n\tlet { borderWidth } = vm;\r\n\r\n\tlet left;\r\n\tlet right;\r\n\tlet top;\r\n\tlet bottom;\r\n\tlet signX;\r\n\tlet signY;\r\n\tlet borderSkipped;\r\n\tlet radius;\r\n\r\n\t// If radius is less than 0 or is large enough to cause drawing errors a max\r\n\t// radius is imposed. If cornerRadius is not defined set it to 0.\r\n\tlet { cornerRadius } = this._chart.config.options;\r\n\tif (cornerRadius < 0) {\r\n\t\tcornerRadius = 0;\r\n\t}\r\n\r\n\tif (typeof cornerRadius === 'undefined') {\r\n\t\tcornerRadius = 0;\r\n\t}\r\n\r\n\tif (!vm.horizontal) {\r\n\t\t// bar\r\n\t\tleft = vm.x - vm.width / 2;\r\n\t\tright = vm.x + vm.width / 2;\r\n\t\ttop = vm.y;\r\n\t\tbottom = vm.base;\r\n\t\tsignX = 1;\r\n\t\tsignY = bottom > top ? 1 : -1;\r\n\t\tborderSkipped = vm.borderSkipped || 'bottom';\r\n\t} else {\r\n\t\t// horizontal bar\r\n\t\tleft = vm.base;\r\n\t\tright = vm.x;\r\n\t\ttop = vm.y - vm.height / 2;\r\n\t\tbottom = vm.y + vm.height / 2;\r\n\t\tsignX = right > left ? 1 : -1;\r\n\t\tsignY = 1;\r\n\t\tborderSkipped = vm.borderSkipped || 'left';\r\n\t}\r\n\r\n\t// Canvas doesn't allow us to stroke inside the width so we can\r\n\t// adjust the sizes to fit if we're setting a stroke on the line\r\n\tif (borderWidth) {\r\n\t\t// borderWidth shold be less than bar width and bar height.\r\n\t\tconst barSize = Math.min(Math.abs(left - right), Math.abs(top - bottom));\r\n\t\tborderWidth = borderWidth > barSize ? barSize : borderWidth;\r\n\t\tconst halfStroke = borderWidth / 2;\r\n\t\t// Adjust borderWidth when bar top position is near vm.base(zero).\r\n\t\tconst borderLeft =\t\t\tleft + (borderSkipped !== 'left' ? halfStroke * signX : 0);\r\n\t\tconst borderRight =\t\t\tright + (borderSkipped !== 'right' ? -halfStroke * signX : 0);\r\n\t\tconst borderTop =\t\t\ttop + (borderSkipped !== 'top' ? halfStroke * signY : 0);\r\n\t\tconst borderBottom =\t\t\tbottom + (borderSkipped !== 'bottom' ? -halfStroke * signY : 0);\r\n\t\t// not become a vertical line?\r\n\t\tif (borderLeft !== borderRight) {\r\n\t\t\ttop = borderTop;\r\n\t\t\tbottom = borderBottom;\r\n\t\t}\r\n\t\t// not become a horizontal line?\r\n\t\tif (borderTop !== borderBottom) {\r\n\t\t\tleft = borderLeft;\r\n\t\t\tright = borderRight;\r\n\t\t}\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.fillStyle = vm.backgroundColor;\r\n\tctx.strokeStyle = vm.borderColor;\r\n\tctx.lineWidth = borderWidth;\r\n\r\n\t// Corner points, from bottom-left to bottom-right clockwise\r\n\t// | 1 2 |\r\n\t// | 0 3 |\r\n\tconst corners = [\r\n\t\t[left, bottom],\r\n\t\t[left, top],\r\n\t\t[right, top],\r\n\t\t[right, bottom],\r\n\t];\r\n\r\n\t// Find first (starting) corner with fallback to 'bottom'\r\n\tconst borders = ['bottom', 'left', 'top', 'right'];\r\n\tlet startCorner = borders.indexOf(borderSkipped, 0);\r\n\tif (startCorner === -1) {\r\n\t\tstartCorner = 0;\r\n\t}\r\n\r\n\tfunction cornerAt(index) {\r\n\t\treturn corners[(startCorner + index) % 4];\r\n\t}\r\n\r\n\t// Draw rectangle from 'startCorner'\r\n\tlet corner = cornerAt(0);\r\n\tctx.moveTo(corner[0], corner[1]);\r\n\r\n\tfor (let i = 1; i < 4; i += 1) {\r\n\t\tcorner = cornerAt(i);\r\n\t\tlet nextCornerId = i + 1;\r\n\t\tif (nextCornerId === 4) {\r\n\t\t\tnextCornerId = 0;\r\n\t\t}\r\n\r\n\t\tconst width = corners[2][0] - corners[1][0];\r\n\t\tconst height = corners[0][1] - corners[1][1];\r\n\t\tconst x = corners[1][0];\r\n\t\tconst y = corners[1][1];\r\n\r\n\t\tradius = cornerRadius;\r\n\t\t// Fix radius being too large\r\n\t\tif (radius > Math.abs(height) / 2) {\r\n\t\t\tradius = Math.floor(Math.abs(height) / 2);\r\n\t\t}\r\n\t\tif (radius > Math.abs(width) / 2) {\r\n\t\t\tradius = Math.floor(Math.abs(width) / 2);\r\n\t\t}\r\n\r\n\t\tif (height < 0) {\r\n\t\t\t// Negative values in a standard bar chart\r\n\t\t\tconst xTl = x;\r\n\t\t\tconst xTr = x + width;\r\n\t\t\tconst yTl = y + height;\r\n\t\t\tconst yTr = y + height;\r\n\r\n\t\t\tconst xBl = x;\r\n\t\t\tconst xBr = x + width;\r\n\t\t\tconst yBl = y;\r\n\t\t\tconst yBr = y;\r\n\r\n\t\t\t// Draw\r\n\t\t\tctx.moveTo(xBl + radius, yBl);\r\n\t\t\tctx.lineTo(xBr - radius, yBr);\r\n\t\t\tctx.quadraticCurveTo(xBr, yBr, xBr, yBr - radius);\r\n\t\t\tctx.lineTo(xTr, yTr + radius);\r\n\t\t\tctx.quadraticCurveTo(xTr, yTr, xTr - radius, yTr);\r\n\t\t\tctx.lineTo(xTl + radius, yTl);\r\n\t\t\tctx.quadraticCurveTo(xTl, yTl, xTl, yTl + radius);\r\n\t\t\tctx.lineTo(xBl, yBl - radius);\r\n\t\t\tctx.quadraticCurveTo(xBl, yBl, xBl + radius, yBl);\r\n\t\t} else if (width < 0) {\r\n\t\t\t// Negative values in a horizontal bar chart\r\n\t\t\tconst xTl = x + width;\r\n\t\t\tconst xTr = x;\r\n\t\t\tconst yTl = y;\r\n\t\t\tconst yTr = y;\r\n\r\n\t\t\tconst xBl = x + width;\r\n\t\t\tconst xBr = x;\r\n\t\t\tconst yBl = y + height;\r\n\t\t\tconst yBr = y + height;\r\n\r\n\t\t\t// Draw\r\n\t\t\tctx.moveTo(xBl + radius, yBl);\r\n\t\t\tctx.lineTo(xBr - radius, yBr);\r\n\t\t\tctx.quadraticCurveTo(xBr, yBr, xBr, yBr - radius);\r\n\t\t\tctx.lineTo(xTr, yTr + radius);\r\n\t\t\tctx.quadraticCurveTo(xTr, yTr, xTr - radius, yTr);\r\n\t\t\tctx.lineTo(xTl + radius, yTl);\r\n\t\t\tctx.quadraticCurveTo(xTl, yTl, xTl, yTl + radius);\r\n\t\t\tctx.lineTo(xBl, yBl - radius);\r\n\t\t\tctx.quadraticCurveTo(xBl, yBl, xBl + radius, yBl);\r\n\t\t} else {\r\n\t\t\t// Positive Value\r\n\t\t\tctx.moveTo(x + radius, y);\r\n\t\t\tctx.lineTo(x + width - radius, y);\r\n\t\t\tctx.quadraticCurveTo(x + width, y, x + width, y + radius);\r\n\t\t\tctx.lineTo(x + width, y + height - radius);\r\n\t\t\tctx.quadraticCurveTo(\r\n\t\t\t\tx + width,\r\n\t\t\t\ty + height,\r\n\t\t\t\tx + width - radius,\r\n\t\t\t\ty + height\r\n\t\t\t);\r\n\t\t\tctx.lineTo(x + radius, y + height);\r\n\t\t\tctx.quadraticCurveTo(x, y + height, x, y + height - radius);\r\n\t\t\tctx.lineTo(x, y + radius);\r\n\t\t\tctx.quadraticCurveTo(x, y, x + radius, y);\r\n\t\t}\r\n\t}\r\n\r\n\tctx.fill();\r\n\tif (borderWidth) {\r\n\t\tctx.stroke();\r\n\t}\r\n}\r\n\r\nChart.helpers.extend(Chart.elements.Rectangle.prototype, {\r\n\tdraw,\r\n});\r\n","import moment from 'moment';\r\n\r\nmoment.updateLocale('en', {\r\n\trelativeTime: {\r\n\t\tfuture: 'in %s',\r\n\t\tpast: '%s ago',\r\n\t\ts: 'seconds',\r\n\t\tss: '%ss',\r\n\t\tm: '1m',\r\n\t\tmm: '%dm',\r\n\t\th: '1h',\r\n\t\thh: '%dh',\r\n\t\td: '1d',\r\n\t\tdd: '%dd',\r\n\t\tM: '1M',\r\n\t\tMM: '%dM',\r\n\t\ty: '1Y',\r\n\t\tyy: '%dY',\r\n\t},\r\n});\r\n","import validate from 'validate.js';\r\n\r\n// eslint-disable-next-line consistent-return\r\nconst regex = (value, options) => {\r\n\tconst regExp = new RegExp(options.pattern);\r\n\r\n\tif (!regExp.test(value)) {\r\n\t\treturn options.message;\r\n\t}\r\n};\r\n\r\n// eslint-disable-next-line consistent-return\r\nconst checked = (value, options) => {\r\n\tif (value !== true) {\r\n\t\treturn options.message || 'must be checked';\r\n\t}\r\n};\r\n\r\nvalidate.validators = {\r\n\t...validate.validators,\r\n\tregex,\r\n\tchecked,\r\n};\r\n","import AxiosMockAdapter from 'axios-mock-adapter';\r\n\r\nimport axios from './axios';\r\n\r\nconst instance = new AxiosMockAdapter(axios, { delayResponse: 0 });\r\n\r\nexport default instance;\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\nimport { colors } from '@mui/material';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/account/profile').reply(200, {\r\n\tprofile: {\r\n\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\tcanHire: false,\r\n\t\tcountry: 'USA',\r\n\t\temail: 'shen.zhi@devias.io',\r\n\t\tfirstName: 'Shen',\r\n\t\tisPublic: true,\r\n\t\tlastName: 'Zhi',\r\n\t\tphone: '+40 777666555',\r\n\t\tstate: 'Alabama',\r\n\t\ttimezone: '4:32PM (GMT-4)',\r\n\t},\r\n});\r\n\r\nmock.onGet('/api/account/statistics').reply(200, {\r\n\tstatistics: {\r\n\t\tpayout: '4,250',\r\n\t\tprojects: '12,500',\r\n\t\tvisitors: '230',\r\n\t\twatching: '5',\r\n\t},\r\n});\r\n\r\nmock.onGet('/api/account/projects').reply(200, {\r\n\tprojects: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Mella Full Screen Slider',\r\n\t\t\tprice: '3K - 6K',\r\n\t\t\tcurrency: '$',\r\n\t\t\ttype: 'Full-Time',\r\n\t\t\tlocation: 'Europe',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Anje Keizer',\r\n\t\t\t\tavatar: '/images/avatars/avatar_5.png',\r\n\t\t\t},\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\ttext: 'Vue JS',\r\n\t\t\t\t\tcolor: colors.green[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tupdated_at: moment().subtract(24, 'minutes'),\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/account/todos').reply(200, {\r\n\ttodos: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle:\r\n\t\t\t\t'Finish the proposal design and contract for the client ASAP',\r\n\t\t\tdeadline: moment().subtract(2, 'days'),\r\n\t\t\tdone: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle:\r\n\t\t\t\t'Finish the proposal design and contract for the client ASAP',\r\n\t\t\tdeadline: moment(),\r\n\t\t\tdone: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle:\r\n\t\t\t\t'Upload the files for the client @Adrian Stefan with the fonts, assets exported and all the fancy svgs',\r\n\t\t\tdeadline: moment().add(2, 'days'),\r\n\t\t\tdone: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Re-write the card component with hooks and context',\r\n\t\t\tdeadline: moment().add(5, 'days'),\r\n\t\t\tdone: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Send proposal for the fintech project',\r\n\t\t\tdeadline: moment().add(5, 'days'),\r\n\t\t\tdone: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle:\r\n\t\t\t\t'Create todo app with react hooks just to get a better understanding of the concept',\r\n\t\t\tdeadline: moment().add(7, 'days'),\r\n\t\t\tdone: true,\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/account/notifications').reply(200, {\r\n\tnotifications: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'New order has been received',\r\n\t\t\ttype: 'order',\r\n\t\t\tcreated_at: moment().subtract(2, 'hours'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'New customer is registered',\r\n\t\t\ttype: 'user',\r\n\t\t\tcreated_at: moment().subtract(1, 'day'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Project has been approved',\r\n\t\t\ttype: 'project',\r\n\t\t\tcreated_at: moment().subtract(3, 'days'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'New feature has been added',\r\n\t\t\ttype: 'feature',\r\n\t\t\tcreated_at: moment().subtract(7, 'days'),\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/account/subscription').reply(200, {\r\n\tsubscription: {\r\n\t\tname: 'Freelancer',\r\n\t\tprice: '5',\r\n\t\tcurrency: '$',\r\n\t\tproposalsLeft: 12,\r\n\t\ttemplatesLeft: 5,\r\n\t\tinvitesLeft: 24,\r\n\t\tadsLeft: 10,\r\n\t\thasAnalytics: true,\r\n\t\thasEmailAlerts: true,\r\n\t},\r\n});\r\n\r\nmock.onGet('/api/account/settings').reply(200, {\r\n\tsettings: {},\r\n});\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\nimport { colors } from '@mui/material';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/calendar').reply(200, {\r\n\tdraft: [],\r\n\tevents: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Call Samantha',\r\n\t\t\tdesc: 'Inform about new contract',\r\n\t\t\tcolor: colors.green['700'],\r\n\t\t\tstart: moment('2019-07-01 16:55:00'),\r\n\t\t\tend: moment('2019-07-01 17:02:00'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Meet with IBM',\r\n\t\t\tdesc: 'Discuss about new partnership',\r\n\t\t\tstart: moment('2019-07-03 08:55:00'),\r\n\t\t\tend: moment('2019-07-04 15:02:00'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'SCRUM Planning',\r\n\t\t\tdesc: 'Prepare documentation',\r\n\t\t\tallDay: true,\r\n\t\t\tstart: moment('2019-07-14 16:55:00'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Beign SEM',\r\n\t\t\tdesc: 'Meet with team to discuss',\r\n\t\t\tallDay: true,\r\n\t\t\tstart: moment('2019-07-18 07:00:00'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Fire John',\r\n\t\t\tdesc: 'Sorry, John',\r\n\t\t\tcolor: colors.green['700'],\r\n\t\t\tstart: moment('2019-07-20 08:55:00'),\r\n\t\t\tend: moment('2019-07-20 09:30:00'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Call Alex',\r\n\t\t\tdesc: 'Discuss about the new project',\r\n\t\t\tallDay: true,\r\n\t\t\tstart: moment('2019-07-30 08:00:00'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Visit Samantha',\r\n\t\t\tcolor: colors.green['700'],\r\n\t\t\tdesc: 'Get a new quote for the payment processor',\r\n\t\t\tstart: moment('2019-07-30 08:00:00'),\r\n\t\t\tend: moment('2019-07-30 09:00:00'),\r\n\t\t},\r\n\t],\r\n});\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/chat/conversations').reply(200, {\r\n\tconversations: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\totherUser: {\r\n\t\t\t\tname: 'Adam Denisov',\r\n\t\t\t\tavatar: '/images/avatars/avatar_7.png',\r\n\t\t\t\tactive: true,\r\n\t\t\t\tlastActivity: moment(),\r\n\t\t\t},\r\n\t\t\tmessages: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: false,\r\n\t\t\t\t\t\tname: 'Adam Denisov',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_7.png',\r\n\t\t\t\t\t\tlastActivity: moment(),\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent:\r\n\t\t\t\t\t\t\"Hey, nice projects! I really liked the one in react. What's your quote on kinda similar project?\",\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(10, 'hours'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: true,\r\n\t\t\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent:\r\n\t\t\t\t\t\t'I would need to know more details, but my hourly rate stats at $35/hour. Thanks!',\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(2, 'hours'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: false,\r\n\t\t\t\t\t\tname: 'Adam Denisov',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_7.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent:\r\n\t\t\t\t\t\t\"Well it's a really easy one, I'm sure we can make it half of the price.\",\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(5, 'minutes'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: true,\r\n\t\t\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent:\r\n\t\t\t\t\t\t\"Then why don't you make it if it's that easy? Sorry I'm not interetes, have fantastic day Adam!\",\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(3, 'minutes'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: false,\r\n\t\t\t\t\t\tname: 'Adam Denisov',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_7.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent: 'Last offer, $25 per hour',\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(1, 'minute'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: false,\r\n\t\t\t\t\t\tname: 'Adam Denisov',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_7.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent: '/images/projects/project_1.jpg',\r\n\t\t\t\t\tcontentType: 'image',\r\n\t\t\t\t\tcreated_at: moment().subtract(1, 'minute'),\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tunread: 0,\r\n\t\t\tcreated_at: moment().subtract(1, 'minute'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\totherUser: {\r\n\t\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\t\tavatar: '/images/avatars/avatar_2.png',\r\n\t\t\t\tactive: true,\r\n\t\t\t\tlastActivity: moment(),\r\n\t\t\t},\r\n\t\t\tmessages: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: true,\r\n\t\t\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent: 'Hey, would you like to collaborate?',\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(6, 'minutes'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: false,\r\n\t\t\t\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_2.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent: \"I don't think that's ideal\",\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(5, 'minutes'),\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tunread: 3,\r\n\t\t\tcreated_at: moment().subtract(26, 'minutes'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\totherUser: {\r\n\t\t\t\tname: 'Emilee Simchenko',\r\n\t\t\t\tavatar: '/images/avatars/avatar_9.png',\r\n\t\t\t\tactive: false,\r\n\t\t\t\tlastActivity: moment().subtract(2, 'minutes'),\r\n\t\t\t},\r\n\t\t\tmessages: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: false,\r\n\t\t\t\t\t\tname: 'Emilee Simchenko',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_9.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent: 'Hi Shen, we should submit the product today',\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(2, 'hours'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: true,\r\n\t\t\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent: 'Oh, totally forgot about it',\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment()\r\n\t\t\t\t\t\t.subtract(1, 'hour')\r\n\t\t\t\t\t\t.subtract(2, 'minutes'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: true,\r\n\t\t\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent: 'Alright then',\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(1, 'hour'),\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tunread: 0,\r\n\t\t\tcreated_at: moment().subtract(3, 'hours'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\totherUser: {\r\n\t\t\t\tname: 'Kwak Seong-Min',\r\n\t\t\t\tavatar: '/images/avatars/avatar_10.png',\r\n\t\t\t\tactive: true,\r\n\t\t\t\tlastActivity: moment(),\r\n\t\t\t},\r\n\t\t\tmessages: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: true,\r\n\t\t\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent:\r\n\t\t\t\t\t\t\"Hi Kwak! I've seen your projects and we can work together on a project. Will send you the details later.\",\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(3, 'days'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: false,\r\n\t\t\t\t\t\tname: 'Kwak Seong-Min',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_10.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent: \"Haha, right, we'll do it\",\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(2, 'days'),\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tunread: 1,\r\n\t\t\tcreated_at: moment().subtract(2, 'days'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\totherUser: {\r\n\t\t\t\tname: 'Cao Yu',\r\n\t\t\t\tavatar: '/images/avatars/avatar_3.png',\r\n\t\t\t\tactive: false,\r\n\t\t\t\tlastActivity: moment().subtract(4, 'hours'),\r\n\t\t\t},\r\n\t\t\tmessages: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: true,\r\n\t\t\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent: 'Did you receive my email about the brief?',\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(3, 'days'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: false,\r\n\t\t\t\t\t\tname: 'Cao Yu',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_3.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent: \"I'm not sure, but I will check it later\",\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(2, 'days'),\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tunread: 0,\r\n\t\t\tcreated_at: moment().subtract(5, 'days'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\totherUser: {\r\n\t\t\t\tname: 'Clarke Gillebert',\r\n\t\t\t\tavatar: '/images/avatars/avatar_6.png',\r\n\t\t\t\tactive: true,\r\n\t\t\t\tlastActivity: moment(),\r\n\t\t\t},\r\n\t\t\tmessages: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: false,\r\n\t\t\t\t\t\tname: 'Clarke Gillebert',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_6.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent: 'Hey Shen! I love your projects!!!',\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(2, 'days'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tsender: {\r\n\t\t\t\t\t\tauthUser: true,\r\n\t\t\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcontent: \"Haha thank you Clarke, I'm doing our best\",\r\n\t\t\t\t\tcontentType: 'text',\r\n\t\t\t\t\tcreated_at: moment().subtract(3, 'days'),\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tunread: 0,\r\n\t\t\tcreated_at: moment().subtract(5, 'days'),\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/chat/activity').reply(200, {\r\n\tgroups: [\r\n\t\t{\r\n\t\t\tid: 'clients',\r\n\t\t\tname: 'Clients',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 'friends',\r\n\t\t\tname: 'Friends',\r\n\t\t},\r\n\t],\r\n\tconnections: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\tavatar: '/images/avatars/avatar_2.png',\r\n\t\t\tactive: false,\r\n\t\t\tlastActivity: moment().subtract(24, 'minutes'),\r\n\t\t\tgroup: 'clients',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Cao Yu',\r\n\t\t\tavatar: '/images/avatars/avatar_3.png',\r\n\t\t\tactive: true,\r\n\t\t\tlastActivity: moment(),\r\n\t\t\tgroup: 'clients',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Anje Keizer',\r\n\t\t\tavatar: '/images/avatars/avatar_5.png',\r\n\t\t\tactive: false,\r\n\t\t\tlastActivity: moment().subtract(1, 'minutes'),\r\n\t\t\tgroup: 'clients',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Ava Gregoraci',\r\n\t\t\tavatar: '/images/avatars/avatar_8.png',\r\n\t\t\tactive: true,\r\n\t\t\tlastActivity: moment(),\r\n\t\t\tgroup: 'clients',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Clarke Gillebert',\r\n\t\t\tavatar: '/images/avatars/avatar_6.png',\r\n\t\t\tactive: true,\r\n\t\t\tlastActivity: moment(),\r\n\t\t\tgroup: 'friends',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Adam Denisov',\r\n\t\t\tavatar: '/images/avatars/avatar_7.png',\r\n\t\t\tactive: false,\r\n\t\t\tlastActivity: moment().subtract(24, 'minutes'),\r\n\t\t\tgroup: 'friends',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Emilee Simchenko',\r\n\t\t\tavatar: '/images/avatars/avatar_9.png',\r\n\t\t\tactive: true,\r\n\t\t\tlastActivity: moment(),\r\n\t\t\tgroup: 'friends',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Kwak Seong-Min',\r\n\t\t\tavatar: '/images/avatars/avatar_10.png',\r\n\t\t\tactive: true,\r\n\t\t\tlastActivity: moment(),\r\n\t\t\tgroup: 'friends',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Shen Zhi',\r\n\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\tactive: true,\r\n\t\t\tlastActivity: moment(),\r\n\t\t\tgroup: 'friends',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Merrile Burgett',\r\n\t\t\tavatar: '/images/avatars/avatar_12.png',\r\n\t\t\tactive: false,\r\n\t\t\tlastActivity: moment().subtract(2, 'days'),\r\n\t\t},\r\n\t],\r\n});\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/management/customers').reply(200, {\r\n\tcustomers: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\temail: 'ekaterina.tankova@devias.io',\r\n\t\t\tavatar: '/images/avatars/avatar_2.png',\r\n\t\t\tspent: '500.00',\r\n\t\t\tcurrency: '$',\r\n\t\t\ttype: 'Agency',\r\n\t\t\tprojects: '1',\r\n\t\t\trating: 5,\r\n\t\t\tlocation: 'West Virginia, USA',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Cao Yu',\r\n\t\t\temail: 'cao.yu@devias.io',\r\n\t\t\tavatar: '/images/avatars/avatar_3.png',\r\n\t\t\tspent: '300.00',\r\n\t\t\ttype: 'Freelancer',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprojects: '3',\r\n\t\t\trating: 4.3,\r\n\t\t\tlocation: 'Bristow',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Alexa Richardson',\r\n\t\t\temail: 'alexa.richardson@devias.io',\r\n\t\t\tavatar: '/images/avatars/avatar_4.png',\r\n\t\t\tspent: '2,600.00',\r\n\t\t\ttype: 'Enterprise',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprojects: '0',\r\n\t\t\trating: 4.5,\r\n\t\t\tlocation: 'Georgia, USA',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Anje Keizer',\r\n\t\t\temail: 'anje.keizer@devias.io',\r\n\t\t\tavatar: '/images/avatars/avatar_5.png',\r\n\t\t\tspent: '5,600.00',\r\n\t\t\ttype: 'Enterprise',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprojects: '6',\r\n\t\t\trating: 4,\r\n\t\t\tlocation: 'Ohio, USA',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Clarke Gillebert',\r\n\t\t\temail: 'clarke.gillebert@devias.io',\r\n\t\t\tavatar: '/images/avatars/avatar_6.png',\r\n\t\t\tspent: '500.00',\r\n\t\t\ttype: 'Agency',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprojects: '1',\r\n\t\t\trating: 3.5,\r\n\t\t\tlocation: 'Texas, USA',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Adam Denisov',\r\n\t\t\temail: 'adam.denisov@devias.io',\r\n\t\t\tavatar: '/images/avatars/avatar_7.png',\r\n\t\t\tspent: '5,230.00',\r\n\t\t\ttype: 'Agency',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprojects: '0',\r\n\t\t\trating: 3,\r\n\t\t\tlocation: 'California, USA',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Ava Gregoraci',\r\n\t\t\temail: 'ava.gregoraci@devias.io',\r\n\t\t\tavatar: '/images/avatars/avatar_8.png',\r\n\t\t\tspent: '300.00',\r\n\t\t\ttype: 'Freelancer',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprojects: '0',\r\n\t\t\trating: 4,\r\n\t\t\tlocation: 'California, USA',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Emilee Simchenko',\r\n\t\t\temail: 'emilee.simchenko@devias.io',\r\n\t\t\tavatar: '/images/avatars/avatar_9.png',\r\n\t\t\tspent: '100.00',\r\n\t\t\ttype: 'Agency',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprojects: '4',\r\n\t\t\trating: 4.5,\r\n\t\t\tlocation: 'Nevada, USA',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Kwak Seong-Min',\r\n\t\t\temail: 'kwak.seong.min@devias.io',\r\n\t\t\tavatar: '/images/avatars/avatar_10.png',\r\n\t\t\tspent: '1,000.00',\r\n\t\t\ttype: 'Freelancer',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprojects: '2',\r\n\t\t\trating: 5,\r\n\t\t\tlocation: 'Michigan, USA',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Shen Zhi',\r\n\t\t\temail: 'shen.zhi@devias.io',\r\n\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\tspent: '2,300.00',\r\n\t\t\ttype: 'Agency',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprojects: '0',\r\n\t\t\trating: 3.9,\r\n\t\t\tlocation: 'Utah, USA',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Merrile Burgett',\r\n\t\t\temail: 'merrile.burgett@devias.io',\r\n\t\t\tavatar: '/images/avatars/avatar_12.png',\r\n\t\t\tspent: '200.00',\r\n\t\t\ttype: 'Enterprise',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprojects: '7',\r\n\t\t\trating: 4.2,\r\n\t\t\tlocation: 'Utah, USA',\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/management/customers/1/summary').reply(200, {\r\n\tsummary: {\r\n\t\tname: 'Ekaterina Tankova',\r\n\t\temail: 'ekaterina@devias.io',\r\n\t\tphone: '+55 748 327 439',\r\n\t\tstate: 'Alabama',\r\n\t\tcountry: 'United States',\r\n\t\tzipCode: '240355',\r\n\t\taddress1: 'Street John Wick, no. 7',\r\n\t\taddress2: 'House #25',\r\n\t\tiban: '4142 **** **** **** ****',\r\n\t\tautoCC: false,\r\n\t\tverified: true,\r\n\t\tcurrency: '$',\r\n\t\tinvoices: [\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\ttype: 'paid',\r\n\t\t\t\tvalue: 10.0,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\ttype: 'paid',\r\n\t\t\t\tvalue: 15.0,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\ttype: 'due',\r\n\t\t\t\tvalue: 5,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\ttype: 'income',\r\n\t\t\t\tvalue: 10.0,\r\n\t\t\t},\r\n\t\t],\r\n\t\tvat: 19,\r\n\t\tbalance: 0,\r\n\t\temails: [\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tdescription: 'Order confirmation',\r\n\t\t\t\tcreated_at: moment()\r\n\t\t\t\t\t.subtract(3, 'days')\r\n\t\t\t\t\t.subtract(5, 'hours')\r\n\t\t\t\t\t.subtract(34, 'minutes'),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tdescription: 'Order confirmation',\r\n\t\t\t\tcreated_at: moment()\r\n\t\t\t\t\t.subtract(4, 'days')\r\n\t\t\t\t\t.subtract(11, 'hours')\r\n\t\t\t\t\t.subtract(49, 'minutes'),\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n});\r\n\r\nmock.onGet('/api/management/customers/1/invoices').reply(200, {\r\n\tinvoices: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tdate: moment(),\r\n\t\t\tdescription: 'Freelancer Subscription (12/05/2019 - 11/06/2019)',\r\n\t\t\tpaymentMethod: 'Credit Card',\r\n\t\t\tvalue: '5.25',\r\n\t\t\tcurrency: '$',\r\n\t\t\tstatus: 'paid',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tdate: moment(),\r\n\t\t\tdescription: 'Freelancer Subscription (12/05/2019 - 11/06/2019)',\r\n\t\t\tpaymentMethod: 'Credit Card',\r\n\t\t\tvalue: '5.25',\r\n\t\t\tcurrency: '$',\r\n\t\t\tstatus: 'paid',\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/management/customers/1/logs').reply(200, {\r\n\tlogs: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tstatus: 200,\r\n\t\t\tmethod: 'POST',\r\n\t\t\troute: '/api/purchase',\r\n\t\t\tdesc: 'Purchase',\r\n\t\t\tIP: '84.234.243.42',\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(2, 'days')\r\n\t\t\t\t.subtract(2, 'minutes')\r\n\t\t\t\t.subtract(56, 'seconds'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tstatus: 522,\r\n\t\t\terror: 'Invalid credit card',\r\n\t\t\tmethod: 'POST',\r\n\t\t\troute: '/api/purchase',\r\n\t\t\tdesc: 'Purchase',\r\n\t\t\tIP: '84.234.243.42',\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(2, 'days')\r\n\t\t\t\t.subtract(2, 'minutes')\r\n\t\t\t\t.subtract(56, 'seconds'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tstatus: 200,\r\n\t\t\tmethod: 'DELETE',\r\n\t\t\troute: '/api/products/d65654e/remove',\r\n\t\t\tdesc: 'Cart remove',\r\n\t\t\tIP: '84.234.243.42',\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(2, 'days')\r\n\t\t\t\t.subtract(8, 'minutes')\r\n\t\t\t\t.subtract(23, 'seconds'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tstatus: 200,\r\n\t\t\tmethod: 'GET',\r\n\t\t\troute: '/api/products/d65654e/add',\r\n\t\t\tdesc: 'Cart add',\r\n\t\t\tIP: '84.234.243.42',\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(2, 'days')\r\n\t\t\t\t.subtract(20, 'minutes')\r\n\t\t\t\t.subtract(54, 'seconds'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tstatus: 200,\r\n\t\t\tmethod: 'GET',\r\n\t\t\troute: '/api/products/c85727f/add',\r\n\t\t\tdesc: 'Cart add',\r\n\t\t\tIP: '84.234.243.42',\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(2, 'days')\r\n\t\t\t\t.subtract(34, 'minutes')\r\n\t\t\t\t.subtract(16, 'seconds'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tstatus: 200,\r\n\t\t\tmethod: 'GET',\r\n\t\t\troute: '/api/products/c85727f',\r\n\t\t\tdesc: 'View product',\r\n\t\t\tIP: '84.234.243.42',\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(2, 'days')\r\n\t\t\t\t.subtract(54, 'minutes')\r\n\t\t\t\t.subtract(30, 'seconds'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tstatus: 200,\r\n\t\t\tmethod: 'GET',\r\n\t\t\troute: '/api/products',\r\n\t\t\tdesc: 'Get products',\r\n\t\t\tIP: '84.234.243.42',\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(2, 'days')\r\n\t\t\t\t.subtract(56, 'minutes')\r\n\t\t\t\t.subtract(40, 'seconds'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tstatus: 200,\r\n\t\t\tmethod: 'POST',\r\n\t\t\troute: '/api/login',\r\n\t\t\tdesc: 'Login',\r\n\t\t\tIP: '84.234.243.42',\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(2, 'days')\r\n\t\t\t\t.subtract(57, 'minutes')\r\n\t\t\t\t.subtract(5, 'seconds'),\r\n\t\t},\r\n\t],\r\n});\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\nimport { colors } from '@mui/material';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/mail').reply(200, {\r\n\temails: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tseen: true,\r\n\t\t\tfavorited: true,\r\n\t\t\tlabels: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'Business',\r\n\t\t\t\t\tcolor: colors.blue[600],\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'Personal',\r\n\t\t\t\t\tcolor: colors.orange[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tsubject: 'Website redesign. Interested in collaboration',\r\n\t\t\tmessage: `\r\nHi Matt, I saw your work on instagram and would be interested in getting a quote for Logo and slider\r\n\r\nInteger velit massa, pharetra sed lacus eu, pulvinar faucibus ex. Ut pretium ex id turpis elementum, aliquam accumsan enim sollicitudin. Sed nec consectetur lorem, ac ullamcorper augue. Suspendisse tempus ligula suscipit finibus vehicula. Morbi viverra finibus lectus, egestas dictum mi mollis nec. Proin eget vehicula eros, sit amet molestie ipsum. Morbi feugiat, elit non placerat fringilla, leo risus tristique felis, sollicitudin tristique nibh arcu nec arcu. Maecenas vel turpis nibh. Etiam in lectus quis felis facilisis dictum. Morbi id vehicula lectus, vel imperdiet dolor. Phasellus consequat tempor tellus, quis placerat quam posuere eget. Mauris blandit, nisl eu sollicitudin tincidunt, tellus diam accumsan arcu, vel pharetra lectus est nec nisi. In sem dolor, mollis sed risus eu, mattis dictum lectus. Suspendisse urna est, finibus et urna non, tincidunt placerat eros.\r\n\r\nDonec viverra ipsum id auctor rutrum. Morbi consequat a nunc non interdum. Nulla accumsan eget felis a dictum. Cras rhoncus tortor eget velit fringilla suscipit. Donec quis arcu eu nibh aliquet auctor eget fringilla felis. Sed commodo efficitur massa. Proin maximus elit in suscipit laoreet. Integer pretium arcu ac mauris ullamcorper auctor. Vivamus tincidunt lacus eget purus feugiat tincidunt. Etiam feugiat gravida ullamcorper. Pellentesque cursus vehicula lectus et consectetur. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam ligula risus, congue eu pellentesque id, volutpat aliquam arcu. Donec efficitur ipsum id neque rhoncus viverra. Vestibulum hendrerit et eros eu bibendum.\r\n\r\n\r\nKind regards,\r\n\r\nEkaterina Tankova\r\n\t `,\r\n\t\t\treceiver: {\r\n\t\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\t\temail: 'ekaterina.tankova@devias.io',\r\n\t\t\t\tavatar: '/images/avatars/avatar_2.png',\r\n\t\t\t},\r\n\t\t\tcreated_at: moment(),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tseen: false,\r\n\t\t\tfavorited: false,\r\n\t\t\tlabels: [],\r\n\t\t\tsubject: 'Amazing work',\r\n\t\t\tmessage:\r\n\t\t\t\t\"Hey, nice projects! I really liked the one in react. What's your quote on kinda similar project?\",\r\n\t\t\treceiver: {\r\n\t\t\t\tname: 'Adam Denisov',\r\n\t\t\t\temail: 'adam.denisov@devias.io',\r\n\t\t\t\tavatar: '/images/avatars/avatar_7.png',\r\n\t\t\t},\r\n\t\t\tcreated_at: moment(),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tseen: false,\r\n\t\t\tfavorited: false,\r\n\t\t\tsubject: 'Flight reminder',\r\n\t\t\tlabels: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'Work',\r\n\t\t\t\t\tcolor: colors.green[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tmessage:\r\n\t\t\t\t'Dear Shen, Your flight is coming up soon. Please don’t forget to check in for your scheduled flight.',\r\n\t\t\treceiver: {\r\n\t\t\t\tname: 'Clarke Gillebert',\r\n\t\t\t\tavatar: '/images/avatars/avatar_6.png',\r\n\t\t\t},\r\n\t\t\tcreated_at: moment(),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tseen: true,\r\n\t\t\tfavorited: true,\r\n\t\t\tlabels: [],\r\n\t\t\tsubject: 'Posible candidates for the position',\r\n\t\t\tmessage:\r\n\t\t\t\t'My market leading client has another fantastic opportunity for an experienced Software Developer to join them on a heavily remote basis',\r\n\t\t\treceiver: {\r\n\t\t\t\tname: 'Cao Yu',\r\n\t\t\t\tavatar: '/images/avatars/avatar_3.png',\r\n\t\t\t},\r\n\t\t\tcreated_at: moment(),\r\n\t\t},\r\n\t],\r\n});\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\nimport { colors } from '@mui/material';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/projects').reply(200, {\r\n\tprojects: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Mella Full Screen Slider',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Anje Keizer',\r\n\t\t\t\tavatar: '/images/avatars/avatar_5.png',\r\n\t\t\t},\r\n\t\t\tprice: '12,500',\r\n\t\t\tcurrency: '$',\r\n\t\t\ttype: 'Full-Time',\r\n\t\t\tlocation: 'Europe',\r\n\t\t\tstatus: 'In progress',\r\n\t\t\tmembers: 5,\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'Angular JS',\r\n\t\t\t\t\tcolor: colors.red[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tstart_date: moment(),\r\n\t\t\tend_date: moment(),\r\n\t\t\tupdated_at: moment().subtract(24, 'minutes'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Dashboard Design',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Emilee Simchenko',\r\n\t\t\t\tavatar: '/images/avatars/avatar_9.png',\r\n\t\t\t},\r\n\t\t\tprice: '15,750',\r\n\t\t\tcurrency: '$',\r\n\t\t\ttype: 'Full-Time',\r\n\t\t\tlocation: 'Europe',\r\n\t\t\tstatus: 'In progress',\r\n\t\t\tmembers: 3,\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'HTML & CSS',\r\n\t\t\t\t\tcolor: colors.grey[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tstart_date: moment(),\r\n\t\t\tend_date: moment(),\r\n\t\t\tupdated_at: moment().subtract(1, 'hour'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Ten80 Web Design',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Kwak Seong-Min',\r\n\t\t\t\tavatar: '/images/avatars/avatar_10.png',\r\n\t\t\t},\r\n\t\t\tprice: '15,750',\r\n\t\t\tcurrency: '$',\r\n\t\t\ttype: 'Full-Time',\r\n\t\t\tlocation: 'Europe',\r\n\t\t\tstatus: 'Completed',\r\n\t\t\tmembers: 8,\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'React JS',\r\n\t\t\t\t\tcolor: colors.indigo[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tstart_date: moment(),\r\n\t\t\tend_date: moment(),\r\n\t\t\tupdated_at: moment().subtract(16, 'hour'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Neura e-commerce UI Kit',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t},\r\n\t\t\tprice: '12,500',\r\n\t\t\tcurrency: '$',\r\n\t\t\ttype: 'Full-Time',\r\n\t\t\tlocation: 'Europe',\r\n\t\t\tstatus: 'In progress',\r\n\t\t\tmembers: 10,\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'Vue JS',\r\n\t\t\t\t\tcolor: colors.green[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tstart_date: moment(),\r\n\t\t\tend_date: moment(),\r\n\t\t\tupdated_at: moment().subtract(3, 'days'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Administrator Dashboard',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Cao Yu',\r\n\t\t\t\tavatar: '/images/avatars/avatar_3.png',\r\n\t\t\t},\r\n\t\t\tprice: '15,750',\r\n\t\t\tcurrency: '$',\r\n\t\t\ttype: 'Full-Time',\r\n\t\t\tlocation: 'Europe',\r\n\t\t\tstatus: 'Canceled',\r\n\t\t\tmembers: 2,\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'Angular JS',\r\n\t\t\t\t\tcolor: colors.red[600],\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'HTML & CSS',\r\n\t\t\t\t\tcolor: colors.grey[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tstart_date: moment(),\r\n\t\t\tend_date: moment(),\r\n\t\t\tupdated_at: moment().subtract(7, 'days'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Kalli UI Kit',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Anje Keizer',\r\n\t\t\t\tavatar: '/images/avatars/avatar_5.png',\r\n\t\t\t},\r\n\t\t\tprice: '15,750',\r\n\t\t\tcurrency: '$',\r\n\t\t\ttype: 'Full-Time',\r\n\t\t\tlocation: 'Europe',\r\n\t\t\tstatus: 'Completed',\r\n\t\t\tmembers: 12,\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'Vue JS',\r\n\t\t\t\t\tcolor: colors.green[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tstart_date: moment(),\r\n\t\t\tend_date: moment(),\r\n\t\t\tupdated_at: moment().subtract(8, 'days'),\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/projects/1').reply(200, {\r\n\tproject: {\r\n\t\ttitle: 'Develop a PDF Export App',\r\n\t\tauthor: {\r\n\t\t\tname: 'Emilee Simchenko',\r\n\t\t\tavatar: '/images/avatars/avatar_9.png',\r\n\t\t\tbio: 'We build beautiful functional themes for web professionals',\r\n\t\t},\r\n\t\tbrief: `\r\n#### TL;DR\r\n\r\nThe primary aim of the product is to convert survery responses into PDF reports, these reports are generated on to what we call templates. This product is designer to work with 3rd party survery providers. The first MVP will integrate with TypeForm, because the's no direct way to convert results to PDF from the form people create in TypeForm and then ask users to fill out.\r\n\r\n#### Background information\r\n\r\nDesign files are attachedin the files tab.\r\n\r\nDevelop the web app screens for our product called \"PDFace\". Please look at the wireframes, system activity workflow and read the section above to understand what we're trying to archive.\r\n\r\nThere's not many screens we need designed, but there will be modals and various other system triggered evenets that will need to be considered.\r\n\r\nThe project has benn created in Sketch so let me know if there are any problmes opening this project and I'll try to convert into a usable file.\r\n\r\nI have attached a chat with our users most used devices.\r\n\r\n#### Goals:\r\n - Maintainable Code\r\n - Easy UX\r\n - Readable Code\r\n - No Redux\r\n\t`,\r\n\t\tprice: '12,500',\r\n\t\tcurrency: 'USD',\r\n\t\ttags: [\r\n\t\t\t{\r\n\t\t\t\ttext: 'React JS',\r\n\t\t\t\tcolor: colors.indigo[600],\r\n\t\t\t},\r\n\t\t],\r\n\t\tmembers: [\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\t\tavatar: '/images/avatars/avatar_2.png',\r\n\t\t\t\tbio: 'Front End Developer',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tname: 'Cao Yu',\r\n\t\t\t\tavatar: '/images/avatars/avatar_3.png',\r\n\t\t\t\tbio: 'UX Designer',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tname: 'Anje Keizer',\r\n\t\t\t\tavatar: '/images/avatars/avatar_5.png',\r\n\t\t\t\tbio: 'Copyright',\r\n\t\t\t},\r\n\t\t],\r\n\t\tfiles: [\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tname: 'example-project1.jpg',\r\n\t\t\t\turl: '/images/projects/project_2.jpg',\r\n\t\t\t\tmimeType: 'image/png',\r\n\t\t\t\tsize: 1024 * 1024 * 3,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tname: 'docs.zip',\r\n\t\t\t\turl: '#',\r\n\t\t\t\tmimeType: 'application/zip',\r\n\t\t\t\tsize: 1024 * 1024 * 25,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tname: 'example-project2.jpg',\r\n\t\t\t\turl: '/images/projects/project_1.jpg',\r\n\t\t\t\tmimeType: 'image/png',\r\n\t\t\t\tsize: 1024 * 1024 * 2,\r\n\t\t\t},\r\n\t\t],\r\n\t\tactivities: [\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tsubject: 'Project owner',\r\n\t\t\t\tsubject_type: 'user',\r\n\t\t\t\taction_type: 'upload_file',\r\n\t\t\t\taction_desc: 'has uploaded a new file',\r\n\t\t\t\tcreated_at: moment().subtract(23, 'minutes'),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tsubject: 'Adrian Stefan',\r\n\t\t\t\tsubject_type: 'user',\r\n\t\t\t\taction_type: 'join_team',\r\n\t\t\t\taction_desc: 'joined team as a Front-End Developer',\r\n\t\t\t\tcreated_at: moment().subtract(2, 'hours'),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tsubject: 'Alexandru Robert',\r\n\t\t\t\taction_type: 'join_team',\r\n\t\t\t\taction_desc: 'joined team as a Full Stack Developer',\r\n\t\t\t\tcreated_at: moment().subtract(9, 'hours'),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tsubject: 'Project owner',\r\n\t\t\t\tsubject_type: 'user',\r\n\t\t\t\taction_type: 'price_change',\r\n\t\t\t\taction_desc: 'raised the project budget',\r\n\t\t\t\tcreated_at: moment().subtract(2, 'days'),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tsubject: 'Contest',\r\n\t\t\t\tsubject_type: 'project',\r\n\t\t\t\taction_type: 'contest_created',\r\n\t\t\t\taction_desc: 'created',\r\n\t\t\t\tcreated_at: moment().subtract(4, 'days'),\r\n\t\t\t},\r\n\t\t],\r\n\t\tsubscribers: [\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\t\tavatar: '/images/avatars/avatar_2.png',\r\n\t\t\t\tcover: '/images/covers/cover_1.jpg',\r\n\t\t\t\tcommon_connections: 12,\r\n\t\t\t\tlabels: [\r\n\t\t\t\t\t'User Experience',\r\n\t\t\t\t\t'FrontEnd development',\r\n\t\t\t\t\t'HTML5',\r\n\t\t\t\t\t'VueJS',\r\n\t\t\t\t\t'ReactJS',\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tname: 'Cao Yu',\r\n\t\t\t\tavatar: '/images/avatars/avatar_3.png',\r\n\t\t\t\tcover: '/images/covers/cover_2.jpg',\r\n\t\t\t\tcommon_connections: 5,\r\n\t\t\t\tlabels: [\r\n\t\t\t\t\t'User Interface',\r\n\t\t\t\t\t'FullStack development',\r\n\t\t\t\t\t'Angular',\r\n\t\t\t\t\t'ExpressJS',\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tname: 'Clarke Gillebert',\r\n\t\t\t\tavatar: '/images/avatars/avatar_6.png',\r\n\t\t\t\tcover: '/images/covers/cover_2.jpg',\r\n\t\t\t\tcommon_connections: 17,\r\n\t\t\t\tlabels: [\r\n\t\t\t\t\t'BackEnd development',\r\n\t\t\t\t\t'Firebase',\r\n\t\t\t\t\t'MongoDB',\r\n\t\t\t\t\t'ExpressJS',\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t],\r\n\t\tdeadline: moment().add(7, 'days'),\r\n\t\tupdated_at: moment().subtract(23, 'minutes'),\r\n\t},\r\n});\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/social-feed').reply(200, {\r\n\tposts: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Kwak Seong-Min',\r\n\t\t\t\tavatar: '/images/avatars/avatar_10.png',\r\n\t\t\t},\r\n\t\t\tmessage: \"Hey guys! What's your favorite framework?\",\r\n\t\t\tliked: true,\r\n\t\t\tlikes: 1,\r\n\t\t\tcomments: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tauthor: {\r\n\t\t\t\t\t\tname: 'Merrile Burgett',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_12.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmessage: \"I've been using Angular for the past 3 years\",\r\n\t\t\t\t\tcreated_at: moment().subtract(3, 'hours'),\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcreated_at: moment().subtract(16, 'minutes'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t},\r\n\t\t\tmessage:\r\n\t\t\t\t'Just made this home screen for a project, what-cha thinkin?',\r\n\t\t\tmedia: '/images/posts/post_1.jpg',\r\n\t\t\tliked: true,\r\n\t\t\tlikes: 24,\r\n\t\t\tcomments: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tauthor: {\r\n\t\t\t\t\t\tname: 'Anje Keizer',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_5.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmessage:\r\n\t\t\t\t\t\t'Could use some more statistics, but that’s me haha',\r\n\t\t\t\t\tcreated_at: moment().subtract(3, 'hours'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tauthor: {\r\n\t\t\t\t\t\tname: 'Ava Gregoraci',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_8.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmessage:\r\n\t\t\t\t\t\t'Hmm, honestly this looks nice but I would change the shadow though',\r\n\t\t\t\t\tcreated_at: moment().subtract(2, 'hours'),\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcreated_at: moment().subtract(4, 'hours'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t},\r\n\t\t\tmessage:\r\n\t\t\t\t'As a human being, you are designed in a way that makes you incapable of experiencing any positive emotion unless you set an aim and progress towards it. What makes you happy is not, in fact, attaining it, but making progress towards it.',\r\n\t\t\tliked: false,\r\n\t\t\tlikes: 65,\r\n\t\t\tcomments: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tauthor: {\r\n\t\t\t\t\t\tname: 'Clarke Gillebert',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_6.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmessage:\r\n\t\t\t\t\t\t'That’s actually deep. Thanks for the design, would you consider making an interaction?',\r\n\t\t\t\t\tcreated_at: moment().subtract(3, 'hours'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tauthor: {\r\n\t\t\t\t\t\tname: 'Alexa Richardson',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_4.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmessage: 'Oh... so sentimental',\r\n\t\t\t\t\tcreated_at: moment().subtract(2, 'hours'),\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcreated_at: moment().subtract(7, 'hours'),\r\n\t\t},\r\n\t],\r\n});\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\nimport { colors } from '@mui/material';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/users').reply(200, {\r\n\tusers: [],\r\n});\r\n\r\nmock.onGet('/api/users/1/posts').reply(200, {\r\n\tposts: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t},\r\n\t\t\tmessage:\r\n\t\t\t\t'Just made this home screen for a project, what-cha thinkin?',\r\n\t\t\tmedia: '/images/posts/post_1.jpg',\r\n\t\t\tliked: true,\r\n\t\t\tlikes: 24,\r\n\t\t\tcomments: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tauthor: {\r\n\t\t\t\t\t\tname: 'Anje Keizer',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_5.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmessage:\r\n\t\t\t\t\t\t'Could use some more statistics, but that’s me haha',\r\n\t\t\t\t\tcreated_at: moment().subtract(3, 'hours'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tauthor: {\r\n\t\t\t\t\t\tname: 'Ava Gregoraci',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_8.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmessage:\r\n\t\t\t\t\t\t'Hmm, honestly this looks nice but I would change the shadow though',\r\n\t\t\t\t\tcreated_at: moment().subtract(2, 'hours'),\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcreated_at: moment().subtract(4, 'hours'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t},\r\n\t\t\tmessage:\r\n\t\t\t\t'As a human being, you are designed in a way that makes you incapable of experiencing any positive emotion unless you set an aim and progress towards it. What makes you happy is not, in fact, attaining it, but making progress towards it.',\r\n\t\t\tliked: false,\r\n\t\t\tlikes: 65,\r\n\t\t\tcomments: [\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tauthor: {\r\n\t\t\t\t\t\tname: 'Clarke Gillebert',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_6.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmessage:\r\n\t\t\t\t\t\t'That’s actually deep. Thanks for the design, would you consider making an interaction?',\r\n\t\t\t\t\tcreated_at: moment().subtract(3, 'hours'),\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: uuid(),\r\n\t\t\t\t\tauthor: {\r\n\t\t\t\t\t\tname: 'Alexa Richardson',\r\n\t\t\t\t\t\tavatar: '/images/avatars/avatar_4.png',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmessage: 'It looks nice',\r\n\t\t\t\t\tcreated_at: moment().subtract(2, 'hours'),\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcreated_at: moment().subtract(7, 'hours'),\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/users/1/projects').reply(200, {\r\n\tprojects: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Mella Full Screen Slider',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Anje Keizer',\r\n\t\t\t\tavatar: '/images/avatars/avatar_5.png',\r\n\t\t\t},\r\n\t\t\tprice: '12,500',\r\n\t\t\tcurrency: '$',\r\n\t\t\ttype: 'Full-Time',\r\n\t\t\tlocation: 'Europe',\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'Angular JS',\r\n\t\t\t\t\tcolor: colors.red[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tupdated_at: moment().subtract(24, 'minutes'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Dashboard Design',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Devias IO',\r\n\t\t\t\tavatar: '',\r\n\t\t\t},\r\n\t\t\tprice: '15,750',\r\n\t\t\tcurrency: '$',\r\n\t\t\ttype: 'Full-Time',\r\n\t\t\tlocation: 'Europe',\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'React JS',\r\n\t\t\t\t\tcolor: colors.indigo[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tupdated_at: moment().subtract(1, 'hour'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Ten80 Web Design',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Devias IO',\r\n\t\t\t\tavatar: '',\r\n\t\t\t},\r\n\t\t\tprice: '15,750',\r\n\t\t\tcurrency: '$',\r\n\t\t\ttype: 'Full-Time',\r\n\t\t\tlocation: 'Europe',\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'Vue JS',\r\n\t\t\t\t\tcolor: colors.green[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tupdated_at: moment().subtract(16, 'hour'),\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/users/1/reviews').reply(200, {\r\n\treviews: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\trating: 4,\r\n\t\t\tmessage:\r\n\t\t\t\t'Shen was really great during the all time session we created the project',\r\n\t\t\treviewer: {\r\n\t\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\t\tavatar: '/images/avatars/avatar_2.png',\r\n\t\t\t},\r\n\t\t\tproject: {\r\n\t\t\t\ttitle: 'Mella Full Screen Slider',\r\n\t\t\t\tprice: '5,240.00',\r\n\t\t\t},\r\n\t\t\tpricePerHour: '43.00',\r\n\t\t\thours: 31,\r\n\t\t\tcurrency: '$',\r\n\t\t\tcreated_at: moment().subtract(4, 'hours'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\trating: 5,\r\n\t\t\treviewer: {\r\n\t\t\t\tname: 'Cao Yu',\r\n\t\t\t\tavatar: '/images/avatars/avatar_3.png',\r\n\t\t\t},\r\n\t\t\tproject: {\r\n\t\t\t\ttitle: 'Dashboard Design',\r\n\t\t\t\tprice: '3,680.00',\r\n\t\t\t},\r\n\t\t\tpricePerHour: '38.00',\r\n\t\t\thours: 76,\r\n\t\t\tcurrency: '$',\r\n\t\t\tmessage:\r\n\t\t\t\t\"Being the savage's bowsman, that is, the person who pulled the bow-oar in his boat (the second one from forward), it was my cheerful duty to attend upon him while taking that hard-scrabble scramble upon the dead whale's back. You have seen Italian organ-boys holding a dancing-ape by a long cord. Just so, from the ship's steep side, did I hold Queequeg down there in the sea, by what is technically called in the fishery a monkey-rope, attached to a strong strip of canvas belted round his waist.\",\r\n\t\t\tcreated_at: moment().subtract(8, 'days'),\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/users/1/connections').reply(200, {\r\n\tconnections: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\tavatar: '/images/avatars/avatar_2.png',\r\n\t\t\tcommon: 12,\r\n\t\t\tstatus: 'connected',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Cao Yu',\r\n\t\t\tavatar: '/images/avatars/avatar_3.png',\r\n\t\t\tcommon: 10,\r\n\t\t\tstatus: 'rejected',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Alexa Richardson',\r\n\t\t\tavatar: '/images/avatars/avatar_4.png',\r\n\t\t\tcommon: 8,\r\n\t\t\tstatus: 'pending',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Adam Denisov',\r\n\t\t\tavatar: '/images/avatars/avatar_7.png',\r\n\t\t\tcommon: 5,\r\n\t\t\tstatus: 'not_connected',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tname: 'Ava Gregoraci',\r\n\t\t\tavatar: '/images/avatars/avatar_8.png',\r\n\t\t\tcommon: 1,\r\n\t\t\tstatus: 'connected',\r\n\t\t},\r\n\t],\r\n});\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/invoices').reply(200, {\r\n\tinvoices: [],\r\n});\r\n\r\nmock.onGet('/api/invoices/1').reply(200, {\r\n\tinvoice: {\r\n\t\tid: uuid(),\r\n\t\tdue_date: moment(),\r\n\t\tissue_date: moment().add(15, 'days'),\r\n\t\tref: 'DEV-9483',\r\n\t\tcustomer: {\r\n\t\t\tname: 'Tracey Herman',\r\n\t\t\tcompany: 'Countdown Grey Lynn',\r\n\t\t\tnzbn: '6934656584231',\r\n\t\t\taddress: '271 Richmond Rd, Grey Lynn, Auckland 1022, New Zealand',\r\n\t\t},\r\n\t\tproducts: [\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tdesc: 'Freelancer Subscription (12/05/2019 - 11/06/2019)',\r\n\t\t\t\tvalue: '55.50',\r\n\t\t\t},\r\n\t\t],\r\n\t\tsubtotal: '50.00',\r\n\t\ttaxes: '5.50',\r\n\t\ttotal: '55.50',\r\n\t\tcurrency: '$',\r\n\t\tcreated_at: moment(),\r\n\t},\r\n});\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/kanban').reply(200, {\r\n\tlists: [\r\n\t\t{\r\n\t\t\tid: 'incoming',\r\n\t\t\ttitle: 'Incoming',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 'in_progress',\r\n\t\t\ttitle: 'In progress',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 'in_review',\r\n\t\t\ttitle: 'In review',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 'completed',\r\n\t\t\ttitle: 'Completed',\r\n\t\t},\r\n\t],\r\n\ttasks: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: '38',\r\n\t\t\tlist: 'incoming',\r\n\t\t\ttitle: 'Call with sales of HubSpot',\r\n\t\t\tdesc:\r\n\t\t\t\t'Duis condimentum lacus finibus felis pellentesque, ac auctor nibh fermentum. Duis sed dui ante. Phasellus id eros tincidunt, dictum lorem vitae, pellentesque sem. Aenean eu enim sit amet mauris rhoncus mollis. Sed enim turpis, porta a felis et, luctus faucibus nisi. Phasellus et metus fermentum, ultrices arcu aliquam, facilisis justo. Cras nunc nunc, elementum sed euismod ut, maximus eget nibh. Phasellus condimentum lorem neque. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Fusce sagittis pharetra eleifend. Suspendisse potenti.',\r\n\t\t\tmembers: [\r\n\t\t\t\t'/images/avatars/avatar_1.png',\r\n\t\t\t\t'/images/avatars/avatar_5.png',\r\n\t\t\t\t'/images/avatars/avatar_6.png',\r\n\t\t\t],\r\n\t\t\tfiles: 0,\r\n\t\t\tcomments: 1,\r\n\t\t\tprogress: 0,\r\n\t\t\tdeadline: moment().add(7, 'days'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: '37',\r\n\t\t\tlist: 'incoming',\r\n\t\t\ttitle: 'Interview for the Asis. Sales Manager',\r\n\t\t\tdesc:\r\n\t\t\t\t'We are looking for vue experience and of course node js strong knowledge',\r\n\t\t\tmembers: [\r\n\t\t\t\t'/images/avatars/avatar_2.png',\r\n\t\t\t\t'/images/avatars/avatar_3.png',\r\n\t\t\t],\r\n\t\t\tfiles: 0,\r\n\t\t\tcomments: 2,\r\n\t\t\tprogress: 0,\r\n\t\t\tdeadline: moment().add(6, 'days'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: '39',\r\n\t\t\tlist: 'incoming',\r\n\t\t\ttitle:\r\n\t\t\t\t'Change the height of the top bar because it looks too chunky',\r\n\t\t\tdesc:\r\n\t\t\t\t'We nede to make it aggresive with pricing because it’s in their interest to acquire us',\r\n\t\t\tmembers: ['/images/avatars/avatar_11.png'],\r\n\t\t\tfiles: 0,\r\n\t\t\tcomments: 0,\r\n\t\t\tprogress: 0,\r\n\t\t\tdeadline: moment().add(5, 'days'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: '19',\r\n\t\t\tlist: 'incoming',\r\n\t\t\ttitle: 'Integrate Stripe API',\r\n\t\t\tdesc:\r\n\t\t\t\t'We nede to make it aggresive with pricing because it’s in their interest to acquire us',\r\n\t\t\tmembers: [\r\n\t\t\t\t'/images/avatars/avatar_6.png',\r\n\t\t\t\t'/images/avatars/avatar_5.png',\r\n\t\t\t\t'/images/avatars/avatar_9.png',\r\n\t\t\t],\r\n\t\t\tfiles: 2,\r\n\t\t\tcomments: 1,\r\n\t\t\tprogress: 0,\r\n\t\t\tdeadline: moment().add(4, 'days'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: '15',\r\n\t\t\tlist: 'in_progress',\r\n\t\t\ttitle: 'Update the customer API for payments',\r\n\t\t\tdesc:\r\n\t\t\t\t'We nede to make it aggresive with pricing because it’s in their interest to acquire us',\r\n\t\t\tmembers: ['/images/avatars/avatar_10.png'],\r\n\t\t\tfiles: 2,\r\n\t\t\tcomments: 0,\r\n\t\t\tprogress: 60,\r\n\t\t\tdeadline: moment().add(4, 'hours'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: '10',\r\n\t\t\tlist: 'in_progress',\r\n\t\t\ttitle: 'Redesign the landing page',\r\n\t\t\tdesc:\r\n\t\t\t\t'We nede to make it aggresive with pricing because it’s in their interest to acquire us',\r\n\t\t\tmembers: [\r\n\t\t\t\t'/images/avatars/avatar_10.png',\r\n\t\t\t\t'/images/avatars/avatar_11.png',\r\n\t\t\t],\r\n\t\t\tfiles: 0,\r\n\t\t\tcomments: 2,\r\n\t\t\tprogress: 76,\r\n\t\t\tdeadline: moment().add(4, 'hours'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: '24',\r\n\t\t\tlist: 'in_review',\r\n\t\t\ttitle:\r\n\t\t\t\t'Change the height of the top bar because it looks too chunky',\r\n\t\t\tdesc:\r\n\t\t\t\t'We nede to make it aggresive with pricing because it’s in their interest to acquire us',\r\n\t\t\tmembers: [\r\n\t\t\t\t'/images/avatars/avatar_6.png',\r\n\t\t\t\t'/images/avatars/avatar_4.png',\r\n\t\t\t\t'/images/avatars/avatar_2.png',\r\n\t\t\t],\r\n\t\t\tfiles: 0,\r\n\t\t\tcomments: 7,\r\n\t\t\tprogress: 90,\r\n\t\t\tdeadline: moment().subtract(1, 'days'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: '21',\r\n\t\t\tlist: 'in_review',\r\n\t\t\ttitle: 'Integrate Stripe API',\r\n\t\t\tdesc:\r\n\t\t\t\t'We nede to make it aggresive with pricing because it’s in their interest to acquire us',\r\n\t\t\tmembers: [\r\n\t\t\t\t'/images/avatars/avatar_6.png',\r\n\t\t\t\t'/images/avatars/avatar_4.png',\r\n\t\t\t\t'/images/avatars/avatar_8.png',\r\n\t\t\t\t'/images/avatars/avatar_2.png',\r\n\t\t\t],\r\n\t\t\tfiles: 0,\r\n\t\t\tcomments: 7,\r\n\t\t\tprogress: 90,\r\n\t\t\tdeadline: moment().subtract(1, 'days'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: '17',\r\n\t\t\tlist: 'completed',\r\n\t\t\ttitle: 'Design Customer Management Page',\r\n\t\t\tdesc:\r\n\t\t\t\t'Change the height of the top bar because it looks too chunky',\r\n\t\t\tmembers: [\r\n\t\t\t\t'/images/avatars/avatar_6.png',\r\n\t\t\t\t'/images/avatars/avatar_2.png',\r\n\t\t\t\t'/images/avatars/avatar_9.png',\r\n\t\t\t],\r\n\t\t\tfiles: 3,\r\n\t\t\tcomments: 3,\r\n\t\t\tprogress: 100,\r\n\t\t\tdeadline: moment().subtract(7, 'days'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: '23',\r\n\t\t\tlist: 'completed',\r\n\t\t\ttitle: 'Integrate Messaging API',\r\n\t\t\tdesc:\r\n\t\t\t\t'We nede to make it aggresive with pricing because it’s in their interest to acquire us',\r\n\t\t\tmembers: [\r\n\t\t\t\t'/images/avatars/avatar_6.png',\r\n\t\t\t\t'/images/avatars/avatar_4.png',\r\n\t\t\t\t'/images/avatars/avatar_5.png',\r\n\t\t\t\t'/images/avatars/avatar_2.png',\r\n\t\t\t\t'/images/avatars/avatar_9.png',\r\n\t\t\t],\r\n\t\t\tfiles: 1,\r\n\t\t\tcomments: 0,\r\n\t\t\tprogress: 100,\r\n\t\t\tdeadline: moment().subtract(7, 'days'),\r\n\t\t},\r\n\t],\r\n});\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/tasks').reply(200, {\r\n\ttasks: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Update the API for the project',\r\n\t\t\tdeadline: moment().add(1, 'days').add(1, 'hour'),\r\n\t\t\tmembers: [\r\n\t\t\t\t'/images/avatars/avatar_2.png',\r\n\t\t\t\t'/images/avatars/avatar_3.png',\r\n\t\t\t\t'/images/avatars/avatar_4.png',\r\n\t\t\t\t'/images/avatars/avatar_5.png',\r\n\t\t\t\t'/images/avatars/avatar_6.png',\r\n\t\t\t\t'/images/avatars/avatar_7.png',\r\n\t\t\t],\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Redesign the landing page',\r\n\t\t\tdeadline: moment().add(2, 'day').add(1, 'hour'),\r\n\t\t\tmembers: [\r\n\t\t\t\t'/images/avatars/avatar_8.png',\r\n\t\t\t\t'/images/avatars/avatar_10.png',\r\n\t\t\t\t'/images/avatars/avatar_12.png',\r\n\t\t\t],\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Solve the bug for the showState',\r\n\t\t\tdeadline: moment(),\r\n\t\t\tmembers: ['/images/avatars/avatar_7.png'],\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Release v1.0 Beta',\r\n\t\t\tdeadline: null,\r\n\t\t\tmembers: [\r\n\t\t\t\t'/images/avatars/avatar_2.png',\r\n\t\t\t\t'/images/avatars/avatar_10.png',\r\n\t\t\t],\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'GDPR Compliance',\r\n\t\t\tdeadline: null,\r\n\t\t\tmembers: [\r\n\t\t\t\t'/images/avatars/avatar_5.png',\r\n\t\t\t\t'/images/avatars/avatar_2.png',\r\n\t\t\t\t'/images/avatars/avatar_6.png',\r\n\t\t\t],\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Redesign Landing Page',\r\n\t\t\tdeadline: null,\r\n\t\t\tmembers: ['/images/avatars/avatar_8.png'],\r\n\t\t},\r\n\t],\r\n});\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/orders').reply(200, {\r\n\torders: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcreated_at: moment().subtract(10, 'minutes'),\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\t},\r\n\t\t\tpayment: {\r\n\t\t\t\tref: 'FAD103',\r\n\t\t\t\tmethod: 'CreditCard',\r\n\t\t\t\ttotal: '500.00',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t\tstatus: 'pending',\r\n\t\t\t},\r\n\t\t\tstatus: 'inactive',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(32, 'minutes')\r\n\t\t\t\t.subtract(23, 'seconds'),\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Cao Yu',\r\n\t\t\t},\r\n\t\t\tpayment: {\r\n\t\t\t\tref: 'FAD102',\r\n\t\t\t\tmethod: 'CreditCard',\r\n\t\t\t\ttotal: '500.00',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t\tstatus: 'pending',\r\n\t\t\t},\r\n\t\t\tstatus: 'inactive',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(36, 'minutes')\r\n\t\t\t\t.subtract(51, 'seconds'),\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Alexa Richardson',\r\n\t\t\t},\r\n\t\t\tpayment: {\r\n\t\t\t\tref: 'FAD101',\r\n\t\t\t\tmethod: 'PayPal',\r\n\t\t\t\ttotal: '500.00',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t\tstatus: 'completed',\r\n\t\t\t},\r\n\t\t\tstatus: 'active',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(38, 'minutes')\r\n\t\t\t\t.subtract(55, 'seconds'),\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Anje Keizer',\r\n\t\t\t},\r\n\t\t\tpayment: {\r\n\t\t\t\tref: 'FAD100',\r\n\t\t\t\tmethod: 'CreditCard',\r\n\t\t\t\ttotal: '500.00',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t\tstatus: 'pending',\r\n\t\t\t},\r\n\t\t\tstatus: 'inactive',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcreated_at: moment().subtract(40, 'minutes').subtract(3, 'seconds'),\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Clarke Gillebert',\r\n\t\t\t},\r\n\t\t\tpayment: {\r\n\t\t\t\tref: 'FAD99',\r\n\t\t\t\tmethod: 'PayPal',\r\n\t\t\t\ttotal: '500.00',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t\tstatus: 'completed',\r\n\t\t\t},\r\n\t\t\tstatus: 'active',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(45, 'minutes')\r\n\t\t\t\t.subtract(32, 'seconds'),\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Adam Denisov',\r\n\t\t\t},\r\n\t\t\tpayment: {\r\n\t\t\t\tref: 'FAD98',\r\n\t\t\t\tmethod: 'PayPal',\r\n\t\t\t\ttotal: '500.00',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t\tstatus: 'completed',\r\n\t\t\t},\r\n\t\t\tstatus: 'active',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(48, 'minutes')\r\n\t\t\t\t.subtract(57, 'seconds'),\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Ava Gregoraci',\r\n\t\t\t\tavatar: '/images/avatars/avatar_8.png',\r\n\t\t\t},\r\n\t\t\tpayment: {\r\n\t\t\t\tref: 'FAD97',\r\n\t\t\t\tmethod: 'CreditCard',\r\n\t\t\t\ttotal: '500.00',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t\tstatus: 'pending',\r\n\t\t\t},\r\n\t\t\tstatus: 'inactive',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcreated_at: moment().subtract(49, 'minutes').subtract(4, 'seconds'),\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Emilee Simchenko',\r\n\t\t\t},\r\n\t\t\tpayment: {\r\n\t\t\t\tref: 'FAD96',\r\n\t\t\t\tmethod: 'CreditCard',\r\n\t\t\t\ttotal: '500.00',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t\tstatus: 'completed',\r\n\t\t\t},\r\n\t\t\tstatus: 'active',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(57, 'minutes')\r\n\t\t\t\t.subtract(43, 'seconds'),\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Kwak Seong-Min',\r\n\t\t\t},\r\n\t\t\tpayment: {\r\n\t\t\t\tref: 'FAD95',\r\n\t\t\t\tmethod: 'PayPal',\r\n\t\t\t\ttotal: '500.00',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t\tstatus: 'rejected',\r\n\t\t\t},\r\n\t\t\tstatus: 'inactive',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcreated_at: moment().subtract(59, 'minutes').subtract(6, 'seconds'),\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t},\r\n\t\t\tpayment: {\r\n\t\t\t\tref: 'FAD94',\r\n\t\t\t\tmethod: 'CreditCard',\r\n\t\t\t\ttotal: '500.00',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t\tstatus: 'canceled',\r\n\t\t\t},\r\n\t\t\tstatus: 'inactive',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcreated_at: moment()\r\n\t\t\t\t.subtract(1, 'hour')\r\n\t\t\t\t.subtract(15, 'minutes')\r\n\t\t\t\t.subtract(43, 'seconds'),\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Merrile Burgett',\r\n\t\t\t},\r\n\t\t\tpayment: {\r\n\t\t\t\tref: 'FAD93',\r\n\t\t\t\tmethod: 'PayPal',\r\n\t\t\t\ttotal: '500.00',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t\tstatus: 'canceled',\r\n\t\t\t},\r\n\t\t\tstatus: 'inactive',\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/orders/1').reply(200, {\r\n\torder: {\r\n\t\tid: uuid(),\r\n\t\tref: 'FAD107',\r\n\t\tpromoCode: null,\r\n\t\tvalue: '55.25',\r\n\t\tcurrency: '$',\r\n\t\tstatus: 'canceled',\r\n\t\tcustomer: {\r\n\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\taddress: 'Street King William, 42456',\r\n\t\t\tcity: 'Montgomery',\r\n\t\t\tcountry: 'United States',\r\n\t\t},\r\n\t\titems: [\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tname: 'Project Points',\r\n\t\t\t\tcuantity: 25,\r\n\t\t\t\tbilling: 'monthly',\r\n\t\t\t\tstatus: 'completed',\r\n\t\t\t\tvalue: '50.25',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tname: 'Freelancer Subscription',\r\n\t\t\t\tcuantity: 1,\r\n\t\t\t\tbilling: 'monthly',\r\n\t\t\t\tstatus: 'completed',\r\n\t\t\t\tvalue: '5.00',\r\n\t\t\t\tcurrency: '$',\r\n\t\t\t},\r\n\t\t],\r\n\t\tcreated_at: moment(),\r\n\t},\r\n});\r\n","import uuid from 'uuid/v1';\r\nimport moment from 'moment';\r\nimport { colors } from '@mui/material';\r\n\r\nimport mock from 'utils/mock';\r\n\r\nmock.onGet('/api/dashboard/top-referrals').reply(200, {\r\n\treferrals: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcolor: colors.blueGrey['700'],\r\n\t\t\tname: 'GitHub',\r\n\t\t\tinitials: 'GT',\r\n\t\t\tvalue: '53,032',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcolor: colors.cyan['500'],\r\n\t\t\tname: 'Twitter',\r\n\t\t\tinitials: 'TW',\r\n\t\t\tvalue: '39,551',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcolor: colors.indigo[600],\r\n\t\t\tname: 'Hacker News',\r\n\t\t\tinitials: 'HN',\r\n\t\t\tvalue: '23,150',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcolor: colors.red['500'],\r\n\t\t\tname: 'Stack Overflow',\r\n\t\t\tinitials: 'SO',\r\n\t\t\tvalue: '14,093',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcolor: colors.orange['900'],\r\n\t\t\tname: 'Reddit.com',\r\n\t\t\tinitials: 'RD',\r\n\t\t\tvalue: '7,251',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcolor: colors.blueGrey['900'],\r\n\t\t\tname: 'Dev.to',\r\n\t\t\tinitials: 'DE',\r\n\t\t\tvalue: '5,694',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcolor: colors.blue['900'],\r\n\t\t\tname: 'Facebook',\r\n\t\t\tinitials: 'FB',\r\n\t\t\tvalue: '3,643',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tcolor: colors.blueGrey['900'],\r\n\t\t\tname: 'Medium',\r\n\t\t\tinitials: 'MD',\r\n\t\t\tvalue: '1,654',\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/dashboard/profitable-products').reply(200, {\r\n\tproducts: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttype: 'freelancer_basic',\r\n\t\t\tname: 'Freelancer Basic Subscription',\r\n\t\t\timage: '/images/products/product_freelancer.svg',\r\n\t\t\tsubscriptions: '13,153',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprice: '5.00',\r\n\t\t\tprogress: 93,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttype: 'freelancer_extra',\r\n\t\t\tname: 'Freelancer Extra Subscription',\r\n\t\t\timage: '/images/products/product_freelancer.svg',\r\n\t\t\tsubscriptions: '10,300',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprice: '15.00',\r\n\t\t\tprogress: 76,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttype: 'agency_basic',\r\n\t\t\tname: 'Agency Basic Subscription',\r\n\t\t\timage: '/images/products/product_agency.svg',\r\n\t\t\tsubscriptions: '5,300',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprice: '25.00',\r\n\t\t\tprogress: 60,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttype: 'enterprise_basic',\r\n\t\t\tname: 'Enterprise Basic Subscription',\r\n\t\t\timage: '/images/products/product_enterprise.svg',\r\n\t\t\tsubscriptions: '1,203',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprice: '205.00',\r\n\t\t\tprogress: 46,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttype: 'enterprise_extra',\r\n\t\t\tname: 'Enterprise Extra Subscription',\r\n\t\t\timage: '/images/products/product_enterprise.svg',\r\n\t\t\tsubscriptions: '254',\r\n\t\t\tcurrency: '$',\r\n\t\t\tprice: '500.00',\r\n\t\t\tprogress: 41,\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/dashboard/customer-activity').reply(200, {\r\n\tcustomers: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttype: 'payment',\r\n\t\t\tdescription: 'Subscription Purchase',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\t\tavatar: '/images/avatars/avatar_2.png',\r\n\t\t\t},\r\n\t\t\tcreated_at: moment().subtract(23, 'minutes'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttype: 'payment',\r\n\t\t\tdescription: 'Subscription Purchase',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Cao Yu',\r\n\t\t\t\tavatar: '/images/avatars/avatar_3.png',\r\n\t\t\t},\r\n\t\t\tcreated_at: moment().subtract(56, 'minutes'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttype: 'payment',\r\n\t\t\tdescription: 'Subscription Purchase',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Alexa Richardson',\r\n\t\t\t\tavatar: '/images/avatars/avatar_4.png',\r\n\t\t\t},\r\n\t\t\tcreated_at: moment().subtract(2, 'hours'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttype: 'payment',\r\n\t\t\tdescription: 'Subscription Purchase',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Anje Keizer',\r\n\t\t\t\tavatar: '/images/avatars/avatar_5.png',\r\n\t\t\t},\r\n\t\t\tcreated_at: moment().subtract(5, 'minutes'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttype: 'payment',\r\n\t\t\tdescription: 'Subscription Purchase',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Clarke Gillebert',\r\n\t\t\t\tavatar: '/images/avatars/avatar_6.png',\r\n\t\t\t},\r\n\t\t\tcreated_at: moment().subtract(5, 'minutes'),\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/dashboard/earnings').reply(200, {\r\n\tearnings: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tlabel: 'Subscriptions',\r\n\t\t\tvalue: 56,\r\n\t\t\tcolor: colors.indigo[500],\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tlabel: 'Afiliate',\r\n\t\t\tvalue: 24,\r\n\t\t\tcolor: colors.indigo[300],\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tlabel: 'Sales',\r\n\t\t\tvalue: 20,\r\n\t\t\tcolor: colors.indigo[100],\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/dashboard/latest-orders').reply(200, {\r\n\torders: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: 'DEV1042',\r\n\t\t\titems: 7,\r\n\t\t\tvalue: '25.00',\r\n\t\t\tcurrency: '$',\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Ekaterina Tankova',\r\n\t\t\t\temail: 'ekaterina@devias.io',\r\n\t\t\t},\r\n\t\t\tstatus: 'pending',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: 'DEV1041',\r\n\t\t\titems: 8,\r\n\t\t\tvalue: '25.00',\r\n\t\t\tcurrency: '$',\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Cao Yu',\r\n\t\t\t\temail: 'cao.yu@devias.io',\r\n\t\t\t},\r\n\t\t\tstatus: 'complete',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: 'DEV1040',\r\n\t\t\titems: 4,\r\n\t\t\tvalue: '25.00',\r\n\t\t\tcurrency: '$',\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Alexa Richardson',\r\n\t\t\t\temail: 'alexa.richardson@devias.io',\r\n\t\t\t},\r\n\t\t\tstatus: 'rejected',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: 'DEV1039',\r\n\t\t\titems: 1,\r\n\t\t\tvalue: '25.00',\r\n\t\t\tcurrency: '$',\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Anje Keizer',\r\n\t\t\t\temail: 'anje.keiser@devias.io',\r\n\t\t\t},\r\n\t\t\tstatus: 'pending',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: 'DEV1038',\r\n\t\t\titems: 5,\r\n\t\t\tvalue: '25.00',\r\n\t\t\tcurrency: '$',\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Clarke Gillebert',\r\n\t\t\t\temail: 'clarke.gillebert@devias.io',\r\n\t\t\t},\r\n\t\t\tstatus: 'complete',\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\tref: 'DEV1037',\r\n\t\t\titems: 2,\r\n\t\t\tvalue: '25.00',\r\n\t\t\tcurrency: '$',\r\n\t\t\tcustomer: {\r\n\t\t\t\tname: 'Merrile Burgett',\r\n\t\t\t\temail: 'merrile.burgett@devias.io',\r\n\t\t\t},\r\n\t\t\tstatus: 'complete',\r\n\t\t},\r\n\t],\r\n});\r\n\r\nmock.onGet('/api/dashboard/latest-projects').reply(200, {\r\n\tprojects: [\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Mella Full Screen Slider',\r\n\t\t\tprice: '12,500',\r\n\t\t\tcurrency: '$',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Anje Keizer',\r\n\t\t\t\tavatar: '/images/avatars/avatar_5.png',\r\n\t\t\t},\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'Angular JS',\r\n\t\t\t\t\tcolor: colors.red[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Dashboard Design',\r\n\t\t\tprice: '15,750',\r\n\t\t\tcurrency: '$',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Emilee Simchenko',\r\n\t\t\t\tavatar: '/images/avatars/avatar_9.png',\r\n\t\t\t},\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'HTML & CSS',\r\n\t\t\t\t\tcolor: colors.grey[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Ten80 Web Design',\r\n\t\t\tprice: '15,750',\r\n\t\t\tcurrency: '$',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Kwak Seong-Min',\r\n\t\t\t\tavatar: '/images/avatars/avatar_10.png',\r\n\t\t\t},\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'React JS',\r\n\t\t\t\t\tcolor: colors.indigo[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Neura e-commerce UI Kit',\r\n\t\t\tprice: '12,500',\r\n\t\t\tcurrency: '$',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Shen Zhi',\r\n\t\t\t\tavatar: '/images/avatars/avatar_11.png',\r\n\t\t\t},\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'Vue JS',\r\n\t\t\t\t\tcolor: colors.green[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: uuid(),\r\n\t\t\ttitle: 'Administrator Dashboard',\r\n\t\t\tprice: '15,750',\r\n\t\t\tcurrency: '$',\r\n\t\t\tauthor: {\r\n\t\t\t\tname: 'Cao Yu',\r\n\t\t\t\tavatar: '/images/avatars/avatar_3.png',\r\n\t\t\t},\r\n\t\t\ttags: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttext: 'Angular JS',\r\n\t\t\t\t\tcolor: colors.red[600],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t},\r\n\t],\r\n});\r\n","import React from 'react';\r\nimport { Router } from 'react-router-dom';\r\nimport { createBrowserHistory } from 'history';\r\nimport { SnackbarProvider } from 'notistack';\r\nimport { Provider as StoreProvider } from 'react-redux';\r\nimport { StyledEngineProvider, ThemeProvider } from '@mui/material/styles';\r\nimport DateAdapter from '@mui/lab/AdapterMoment';\r\nimport LocalizationProvider from '@mui/lab/LocalizationProvider';\r\nimport { renderRoutes } from 'react-router-config';\r\nimport jwt from 'jwt-decode';\r\nimport { DateEnv } from '@fullcalendar/core';\r\nimport config from 'configuration/configuration.js';\r\nimport theme from './theme';\r\nimport { configureStore } from './store';\r\nimport routes from './routes';\r\nimport { getUserInfo } from './actions';\r\nimport { Loading, ScrollReset, GoogleAnalytics, CookiesNotification } from './components';\r\nimport Notifier from './components/Notifier/Notifier';\r\nimport './mixins/chartjs';\r\nimport './mixins/moment';\r\nimport './mixins/validate';\r\nimport './mixins/prismjs';\r\nimport './mock';\r\nimport './assets/scss/index.scss';\r\n\r\nimport { interceptor } from './utils/AxiosRequest';\r\n\r\nconst history = createBrowserHistory({ basename: process.env.PUBLIC_URL });\r\nconst store = configureStore();\r\ninterceptor(store);\r\n\r\nconst App = () => {\r\n\tconst token = localStorage.getItem(config.TOKEN_KEY);\r\n\tif (token) {\r\n\t\tconst decoded = jwt(token);\r\n\t\tconst currentDate = new Date().getTime() / 1000;\r\n\t\tif (decoded.exp > currentDate) {\r\n\t\t\tstore.dispatch(getUserInfo(token));\r\n\t\t}\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{renderRoutes(routes)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default App;\r\n","import { applyMiddleware, createStore, compose } from 'redux';\r\nimport thunkMiddleware from 'redux-thunk';\r\nimport { composeWithDevTools } from 'redux-devtools-extension';\r\n// import { createLogger } from 'redux-logger';\r\nimport rootReducer from 'reducers';\r\n// const loggerMiddleware = createLogger();\r\n\r\nexport default function configureStore(preloadedState = {}) {\r\n\tconst middlewares = [thunkMiddleware]; // loggerMiddleware\r\n\tconst middlewareEnhancer = composeWithDevTools(\r\n\t\tapplyMiddleware(...middlewares)\r\n\t);\r\n\r\n\tconst enhancers = [middlewareEnhancer];\r\n\tconst composedEnhancers = compose(...enhancers);\r\n\r\n\tconst store = createStore(rootReducer, preloadedState, composedEnhancers);\r\n\r\n\treturn store;\r\n}\r\n","/* eslint-disable no-param-reassign */\r\n/* eslint-disable no-use-before-define */\r\n// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in projection, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read http://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n\twindow.location.hostname === 'localhost'\r\n\t// [::1] is the IPv6 localhost address.\r\n\t|| window.location.hostname === '[::1]'\r\n\t// 127.0.0.1/8 is considered localhost for IPv4.\r\n\t|| window.location.hostname.match(\r\n\t\t/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n\t)\r\n);\r\n\r\nexport function register(config) {\r\n\tif (process.env.NODE_ENV === 'projection' && 'serviceWorker' in navigator) {\r\n\t\t// The URL constructor is available in all browsers that support SW.\r\n\t\tconst publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n\t\tif (publicUrl.origin !== window.location.origin) {\r\n\t\t\t// Our service worker won't work if PUBLIC_URL is on a different origin\r\n\t\t\t// from what our page is served on. This might happen if a CDN is used to\r\n\t\t\t// serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\twindow.addEventListener('load', () => {\r\n\t\t\tconst swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n\t\t\tif (isLocalhost) {\r\n\t\t\t\t// This is running on localhost. Let's check if a service worker still exists or not.\r\n\t\t\t\tcheckValidServiceWorker(swUrl, config);\r\n\r\n\t\t\t\t// Add some additional logging to localhost, pointing developers to the\r\n\t\t\t\t// service worker/PWA documentation.\r\n\t\t\t\tnavigator.serviceWorker.ready.then(() => {\r\n\t\t\t\t\tconsole.log(\r\n\t\t\t\t\t\t'This web app is being served cache-first by a service '\r\n\t\t\t\t\t\t+ 'worker. To learn more, visit http://bit.ly/CRA-PWA'\r\n\t\t\t\t\t);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\t// Is not localhost. Just register service worker\r\n\t\t\t\tregisterValidSW(swUrl, config);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n\tnavigator.serviceWorker\r\n\t\t.register(swUrl)\r\n\t\t.then((registration) => {\r\n\t\t\tregistration.onupdatefound = () => {\r\n\t\t\t\tconst installingWorker = registration.installing;\r\n\t\t\t\tif (installingWorker == null) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tinstallingWorker.onstatechange = () => {\r\n\t\t\t\t\tif (installingWorker.state === 'installed') {\r\n\t\t\t\t\t\tif (navigator.serviceWorker.controller) {\r\n\t\t\t\t\t\t\t// At this point, the updated precached content has been fetched,\r\n\t\t\t\t\t\t\t// but the previous service worker will still serve the older\r\n\t\t\t\t\t\t\t// content until all client tabs are closed.\r\n\t\t\t\t\t\t\tconsole.log(\r\n\t\t\t\t\t\t\t\t'New content is available and will be used when all '\r\n\t\t\t\t\t\t\t\t+ 'tabs for this page are closed. See http://bit.ly/CRA-PWA.'\r\n\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\t// Execute callback\r\n\t\t\t\t\t\t\tif (config && config.onUpdate) {\r\n\t\t\t\t\t\t\t\tconfig.onUpdate(registration);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t// At this point, everything has been precached.\r\n\t\t\t\t\t\t\t// It's the perfect time to display a\r\n\t\t\t\t\t\t\t// \"Content is cached for offline use.\" message.\r\n\t\t\t\t\t\t\tconsole.log('Content is cached for offline use.');\r\n\r\n\t\t\t\t\t\t\t// Execute callback\r\n\t\t\t\t\t\t\tif (config && config.onSuccess) {\r\n\t\t\t\t\t\t\t\tconfig.onSuccess(registration);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\t};\r\n\t\t})\r\n\t\t.catch((error) => {\r\n\t\t\tconsole.error('Error during service worker registration:', error);\r\n\t\t});\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n\t// Check if the service worker can be found. If it can't reload the page.\r\n\tfetch(swUrl)\r\n\t\t.then((response) => {\r\n\t\t\t// Ensure service worker exists, and that we really are getting a JS file.\r\n\t\t\tconst contentType = response.headers.get('content-type');\r\n\t\t\tif (\r\n\t\t\t\tresponse.status === 404\r\n\t\t\t\t|| (contentType != null\r\n\t\t\t\t\t&& contentType.indexOf('javascript') === -1)\r\n\t\t\t) {\r\n\t\t\t\t// No service worker found. Probably a different app. Reload the page.\r\n\t\t\t\tnavigator.serviceWorker.ready.then((registration) => {\r\n\t\t\t\t\tregistration.unregister().then(() => {\r\n\t\t\t\t\t\twindow.location.reload();\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\t// Service worker found. Proceed as normal.\r\n\t\t\t\tregisterValidSW(swUrl, config);\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch(() => {\r\n\t\t\tconsole.log(\r\n\t\t\t\t'No internet connection found. App is running in offline mode.'\r\n\t\t\t);\r\n\t\t});\r\n}\r\n\r\nexport function unregister() {\r\n\tif ('serviceWorker' in navigator) {\r\n\t\tnavigator.serviceWorker.ready.then((registration) => {\r\n\t\t\tregistration.unregister();\r\n\t\t});\r\n\t}\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\n\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\nReactDOM.render(, document.getElementById('root'));\r\n\r\nserviceWorker.unregister();\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport MUIDataTable from 'mui-datatables';\r\nimport { createTheme, ThemeProvider, StyledEngineProvider, adaptV4Theme } from '@mui/material/styles';\r\n\r\nconst DataTable = (props) => {\r\n\tconst {\r\n\t\tid,\r\n\t\ttitle = '',\r\n\t\tdata = [],\r\n\t\tcolumns = [],\r\n\t\toptions,\r\n\t\t// pagination = true,\r\n\t\tshowDownload = false, // show download icon button\r\n\t\tshowPrint = false, // show print icon button\r\n\t\tselectableRows = 'none', // multiple, single, none\r\n\t\trowsPerPage = 20, // number of rows displayed by page\r\n\t\tfilterType = 'multiselect', // filter type can be multiselect, texfield, etc.,\r\n\t\ttableBodyMaxHeight = '40em',\r\n\t\t...rest\r\n\t} = props;\r\n\r\n\tconst getMuiTheme = (outerTheme) => {\r\n\t\tconst {\r\n\t\t\ttableBodyCellMaxWidth,\r\n\t\t\tactionColumnWidth\r\n\t\t} = props;\r\n\r\n\t\treturn createTheme(adaptV4Theme({\r\n\t\t\t...outerTheme,\r\n\t\t\toverrides: {\r\n\t\t\t\tMUIDataTable: {},\r\n\t\t\t\tMUIDataTableHead: {},\r\n\t\t\t\tMUIDataTableHeadCell: {},\r\n\t\t\t\tMUIDataTableHeadRow: {},\r\n\t\t\t\tMUIDataTableBody: {},\r\n\t\t\t\tMUIDataTableBodyRow: {},\r\n\t\t\t\tMuiTableCell: {\r\n\t\t\t\t\tbody: {\r\n\t\t\t\t\t\tmaxWidth: tableBodyCellMaxWidth,\r\n\t\t\t\t\t\t'&:last-child': {\r\n\t\t\t\t\t\t\twidth: actionColumnWidth\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tMUIDataTablePagination: {},\r\n\t\t\t\tMUIDataTableViewCol: {},\r\n\t\t\t\tMUIDataTableSearch: {},\r\n\t\t\t\tMUIDataTableToolbar: {},\r\n\t\t\t\tMUIDataTableFilter: {},\r\n\t\t\t\tMUIDataTableFilterList: {}\r\n\t\t\t}\r\n\t\t}));\r\n\t};\r\n\r\n\tconst _onRowSelection = (currentRowsSelected, allRowsSelected, rowsSelected) => {\r\n\t\tconst { onRowSelection } = props;\r\n\t\tconst selectedRows = data.filter((dt, index) => rowsSelected.indexOf(index) !== -1);\r\n\t\tonRowSelection(selectedRows);\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t ({ ...getMuiTheme(outerTheme) })}>\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n};\r\n\r\nDataTable.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\ttitle: PropTypes.string,\r\n\tdata: PropTypes.array.isRequired,\r\n\tcolumns: PropTypes.array.isRequired,\r\n\toptions: PropTypes.object,\r\n\tpagination: PropTypes.bool,\r\n\tshowDownload: PropTypes.bool,\r\n\tshowPrint: PropTypes.bool,\r\n\tselectableRows: PropTypes.string,\r\n\trowsPerPage: PropTypes.number,\r\n\tfilterType: PropTypes.string,\r\n\ttableBodyCellMaxWidth: PropTypes.string || PropTypes.number,\r\n\tactionColumnWidth: PropTypes.string || PropTypes.number,\r\n\tonRowSelection: PropTypes.func,\r\n\ttableBodyMaxHeight: PropTypes.string\r\n};\r\n\r\nexport default DataTable;\r\n","const config = {\r\n\tAPI_URL: process.env.REACT_APP_API_URL,\r\n\tTOKEN_KEY: process.env.REACT_APP_TOKEN_KEY,\r\n};\r\n\r\nexport default config;\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Select from '@mui/material/Select';\r\nimport MenuItem from '@mui/material/MenuItem';\r\nimport FormControl from '@mui/material/FormControl';\r\nimport FormHelperText from '@mui/material/FormHelperText';\r\nimport InputLabel from '@mui/material/InputLabel';\r\nimport { makeStyles } from '@mui/styles';\r\nimport Checkbox from '../Checkbox/Checkbox';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\tchips: {\r\n\t\tdisplay: 'flex',\r\n\t\tflexWrap: 'wrap',\r\n\t},\r\n\tchip: {\r\n\t\tmargin: theme.spacing(0.25),\r\n\t},\r\n}));\r\n\r\nconst SelectField = (props) => {\r\n\tconst { id, name, value, error = false, onChange, disabled, hintText, menuItems, isMultiSelect = false, customRenderValue, formControlStyle, ...rest } = props;\r\n\tconst classes = useStyles();\r\n\tconst [labelWidth, setLabelWidth] = useState(0);\r\n\tconst InputLabelRef = useRef(undefined);\r\n\tuseEffect(() => {\r\n\t\tsetLabelWidth(InputLabelRef.current ? InputLabelRef.current.offsetWidth : 0);\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t {\r\n\t\t\t\t\tInputLabelRef.current = ref;\r\n\t\t\t\t}}\r\n\t\t\t\thtmlFor={`${hintText}_selectField_input_id`}\r\n\t\t\t\tdisabled={disabled || false}\r\n\t\t\t>\r\n\t\t\t\t{hintText}\r\n\t\t\t\r\n\t\t\t {\r\n\t\t\t\t\tconst selectedText = menuItems.filter((item) => selected.indexOf(item.value) !== -1);\r\n\t\t\t\t\treturn selectedText.map(item => item.text).join(', ');\r\n\t\t\t\t} : false}\r\n\t\t\t\t{...rest}\r\n\t\t\t>\r\n\t\t\t\t{\r\n\t\t\t\t\t!isMultiSelect && menuItems.map((item, i) => ({item.text}))\r\n\t\t\t\t}\r\n\t\t\t\t{\r\n\t\t\t\t\tisMultiSelect && menuItems.map((item, i) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t -1} />\r\n\t\t\t\t\t\t\t{item.text}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t\t{\r\n\t\t\t\terror && (\r\n\t\t\t\t\t{error}\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t\r\n\t);\r\n};\r\n\r\nSelectField.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\tvalue: PropTypes.oneOfType([\r\n\t\tPropTypes.string,\r\n\t\tPropTypes.number\r\n\t]),\r\n\tname: PropTypes.string,\r\n\terror: PropTypes.any,\r\n\tonChange: PropTypes.func.isRequired,\r\n\tdisabled: PropTypes.bool,\r\n\thintText: PropTypes.string.isRequired,\r\n\tmenuItems: PropTypes.array.isRequired,\r\n\tclasses: PropTypes.object,\r\n\tisMultiSelect: PropTypes.bool,\r\n\tcustomRenderValue: PropTypes.func,\r\n\tformControlStyle: PropTypes.object\r\n};\r\n\r\nexport default SelectField;\r\n","import _ from 'underscore';\r\nimport axios from 'axios';\r\nimport config from 'configuration/configuration.js';\r\n\r\nimport { SetLoading, RedirectToError } from 'actions/sessionActions';\r\n\r\nexport const interceptor = (store) => {\r\n\t// Add a request interceptor\r\n\taxios.interceptors.request.use((configuration) => {\r\n\t\t// Do something before request is sent\r\n\t\tif (!configuration.headers.Authorization) {\r\n\t\t\tconst token = localStorage.getItem(config.TOKEN_KEY);\r\n\t\t\tif (token) {\r\n\t\t\t\t// eslint-disable-next-line no-param-reassign\r\n\t\t\t\tconfiguration.headers.Authorization = `Bearer ${token}`;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (configuration.hasLoading !== false || configuration.hasLoading === undefined) {\r\n\t\t\tstore.dispatch(SetLoading(true));\r\n\t\t}\r\n\r\n\t\treturn configuration;\r\n\t}, (error) => {\r\n\t\t// Do something with request error\r\n\t\tstore.dispatch(SetLoading(false));\r\n\t\treturn Promise.reject(error);\r\n\t});\r\n\r\n\t// Add a response interceptor\r\n\taxios.interceptors.response.use((response) => {\r\n\t\t// Any status code that lie within the range of 2xx cause this function to trigger\r\n\t\t// Do something with response data\r\n\t\tstore.dispatch(SetLoading(false));\r\n\t\treturn response;\r\n\t}, (error) => {\r\n\t\t// Any status codes that falls outside the range of 2xx cause this function to trigger\r\n\t\t// Do something with response error\r\n\t\tconst { request, response } = error;\r\n\t\tconst statusCode = response ? response.status : request.status;\r\n\r\n\t\tstore.dispatch(SetLoading(false));\r\n\t\tif (statusCode === 401) {\r\n\t\t\tstore.dispatch(RedirectToError('/errors/error-401'));\r\n\t\t\treturn Promise.reject();\r\n\t\t}\r\n\r\n\t\tif (statusCode === 404) {\r\n\t\t\tstore.dispatch(RedirectToError('/errors/error-404'));\r\n\t\t\treturn Promise.reject();\r\n\t\t}\r\n\r\n\t\tif (statusCode < 599 && statusCode >= 500) {\r\n\t\t\tstore.dispatch(RedirectToError('/errors/error-500'));\r\n\t\t\treturn Promise.reject();\r\n\t\t}\r\n\r\n\t\tconst errorObject = {\r\n\t\t\t// eslint-disable-next-line no-nested-ternary\r\n\t\t\tmessage: error.response ? (_.isString(error.response.data) ? error.response.data : 'Something went wrong!') : 'Network error!',\r\n\t\t\t// eslint-disable-next-line no-nested-ternary\r\n\t\t\tvariant: error.response ? (statusCode === 599 ? 'warning' : 'error') : 'error'\r\n\t\t};\r\n\r\n\t\treturn Promise.reject(errorObject);\r\n\t});\r\n};\r\n\r\nexport default axios;\r\n","import React, { Fragment, useEffect } from 'react';\r\nimport moment from 'moment';\r\nimport _ from 'underscore';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport jwt from 'jwt-decode';\r\nimport config from 'configuration/configuration.js';\r\n\r\nimport useRouter from 'utils/useRouter';\r\n\r\nimport { RedirectToError } from 'actions';\r\n\r\n// Example of user roles: ['GUEST', 'USER', 'ADMIN'];\r\n\r\nconst AuthGuard = (props) => {\r\n\tconst { roles, children, operators, projects } = props;\r\n\tconst loggedIn = useSelector((state) => state.session.loggedIn);\r\n\tconst link = useSelector((state) => state.session.link);\r\n\tconst user = useSelector((state) => state.session.user);\r\n\tconst router = useRouter();\r\n\tconst dispatch = useDispatch();\r\n\tconst { history } = router;\r\n\tconst token = localStorage.getItem(config.TOKEN_KEY);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (token) {\r\n\t\t\tconst decoded = jwt(token);\r\n\t\t\t// const currentDate = moment().add(1, 'year').toDate().getTime() / 1000;\r\n\t\t\tconst currentDate = new Date().getTime() / 1000;\r\n\t\t\tif (decoded.exp < currentDate) {\r\n\t\t\t\thistory.push('/auth/login');\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\thistory.push('/auth/login');\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!loggedIn || !user) {\r\n\t\t\thistory.push('/auth/login');\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (link) {\r\n\t\t\tdispatch(RedirectToError());\r\n\t\t\thistory.push(link);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ((roles && !roles.includes(user.role)) || (operators && !operators.includes(user.operator)) || (projects && user.projects && _.intersection(projects, user.projects).length === 0)) {\r\n\t\t\thistory.push('/errors/error-401');\r\n\t\t}\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [router]);\r\n\r\n\treturn <>{children};\r\n};\r\n\r\nAuthGuard.propTypes = {\r\n\tchildren: PropTypes.node,\r\n\troles: PropTypes.array.isRequired,\r\n\toperators: PropTypes.array,\r\n\tprojects: PropTypes.array,\r\n};\r\n\r\nexport default AuthGuard;\r\n","export default (bytes, decimals = 2) => {\r\n\tif (bytes === 0) return '0 Bytes';\r\n\r\n\tconst k = 1024;\r\n\tconst dm = decimals < 0 ? 0 : decimals;\r\n\tconst sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n\r\n\tconst i = Math.floor(Math.log(bytes) / Math.log(k));\r\n\r\n\t// eslint-disable-next-line no-restricted-properties\r\n\treturn `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;\r\n};\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@mui/styles';\r\nimport { Typography, colors } from '@mui/material';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: 'inline-flex',\r\n\t\talignItems: 'center',\r\n\t\tjustifyContent: 'center',\r\n\t\tflexGrow: 0,\r\n\t\tflexShrink: 0,\r\n\t\tborderRadius: theme.shape.borderRadius,\r\n\t\tlineHeight: '10px',\r\n\t\tfontSize: '10px',\r\n\t\theight: 20,\r\n\t\tminWidth: 20,\r\n\t\twhiteSpace: 'nowrap',\r\n\t\tpadding: theme.spacing(0.5, 1),\r\n\t},\r\n\trounded: {\r\n\t\tborderRadius: 10,\r\n\t\tpadding: theme.spacing(0.5),\r\n\t},\r\n}));\r\n\r\nconst Label = (props) => {\r\n\tconst { className, variant, color, shape, children, style, ...rest } = props;\r\n\r\n\tconst classes = useStyles();\r\n\r\n\tconst rootClassName = clsx(\r\n\t\t{\r\n\t\t\t[classes.root]: true,\r\n\t\t\t[classes.rounded]: shape === 'rounded',\r\n\t\t},\r\n\t\tclassName\r\n\t);\r\n\r\n\tconst finalStyle = { ...style };\r\n\r\n\tif (variant === 'contained') {\r\n\t\tfinalStyle.backgroundColor = color;\r\n\t\tfinalStyle.color = '#FFF';\r\n\t} else {\r\n\t\tfinalStyle.border = `1px solid ${color}`;\r\n\t\tfinalStyle.color = color;\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t\r\n\t);\r\n};\r\n\r\nLabel.propTypes = {\r\n\tchildren: PropTypes.node,\r\n\tclassName: PropTypes.string,\r\n\tcolor: PropTypes.string,\r\n\tshape: PropTypes.oneOf(['square', 'rounded']),\r\n\tstyle: PropTypes.object,\r\n\tvariant: PropTypes.oneOf(['contained', 'outlined']),\r\n};\r\n\r\nLabel.defaultProps = {\r\n\tstyle: {},\r\n\tcolor: colors.grey[600],\r\n\tvariant: 'contained',\r\n\tshape: 'square',\r\n};\r\n\r\nexport default Label;\r\n","import React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport tableau from 'tableau-api';\r\n\r\nlet viz;\r\n\r\nexport const ShowExportPDFDialog = () => {\r\n\tviz.showExportPDFDialog();\r\n};\r\n\r\nconst TableauDashboard = (props) => {\r\n\tconst { url } = props;\r\n\t// const url = \"https://public.tableau.com/views/VacationHome/VacationHome?:embed=y&:display_count=yes\";\r\n\r\n\tconst _initViz = () => {\r\n\t\tif (viz) {\r\n\t\t\tviz.dispose();\r\n\t\t}\r\n\r\n\t\tconst containerDiv = document.getElementById('dashboard');\r\n\t\tconst options = {\r\n\t\t\t// hideTabs: true,\r\n\t\t\thideToolbar: true,\r\n\t\t\twidth: '100%',\r\n\t\t\theight: '100vh',\r\n\t\t\tonFirstVizSizeKnown(innerHeight) {\r\n\t\t\t\tcontainerDiv.setAttribute('style', `height:${innerHeight}px`);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tviz = new window.tableau.Viz(containerDiv, url, options);\r\n\t\t// Create a viz object and embed it in the container div.\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (url) {\r\n\t\t\t_initViz();\r\n\t\t}\r\n\t}, [url]);\r\n\r\n\tif (!url) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nTableauDashboard.propTypes = {\r\n\turl: PropTypes.string.isRequired\r\n};\r\n\r\nexport default TableauDashboard;\r\n","import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { TextField } from '@mui/material';\r\nimport { DatePicker as MuiDatePicker } from '@mui/lab';\r\n\r\nconst DatePicker = (props) => {\r\n\tconst { value,\r\n\t\tonChange,\r\n\t\t...rest } = props;\r\n\r\n\tconst [open, setOpen] = useState(false);\r\n\r\n\treturn (\r\n\t\t setOpen(true)}\r\n\t\t\tonClose={() => setOpen(false)}\r\n\t\t\trenderInput={(p) => (\r\n\t\t\t\t setOpen(true)}\r\n\t\t\t\t\t{...rest}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t\tinputFormat=\"yyyy-MM-DD\"\r\n\t\t\tvalue={value || null}\r\n\t\t\tonChange={onChange}\r\n\t\t\tvariant=\"inline\"\r\n\t\t\tinputVariant=\"outlined\"\r\n\t\t\temptyLabel=\"\"\r\n\t\t\t{...rest}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nDatePicker.propTypes = {\r\n\tvalue: PropTypes.any.isRequired,\r\n\tonChange: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default DatePicker;\r\n","import React from 'react';\r\nimport FormControlLabel from '@mui/material/FormControlLabel';\r\nimport Checkbox from '@mui/material/Checkbox';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst propTypes = {\r\n\tid: PropTypes.string,\r\n\tname: PropTypes.string,\r\n\tcolor: PropTypes.string,\r\n\tchecked: PropTypes.bool,\r\n\tonCheck: PropTypes.func,\r\n\tdisabled: PropTypes.bool,\r\n\tlabel: PropTypes.object,\r\n\tlabelPlacement: PropTypes.string,\r\n\tlabelStyle: PropTypes.object,\r\n};\r\n\r\nconst MaterialCheckbox = ({\r\n\tid,\r\n\tcolor = 'primary',\r\n\tchecked = false,\r\n\tonCheck,\r\n\tdisabled = false,\r\n\tlabel = '',\r\n\tlabelPlacement = 'end',\r\n\tlabelStyle,\r\n\t...rest\r\n}) => (\r\n\t\r\n\t\t)}\r\n\t\tlabel={label}\r\n\t\tlabelPlacement={labelPlacement}\r\n\t\tstyle={labelStyle}\r\n\t/>\r\n);\r\n\r\nMaterialCheckbox.muiName = 'Checkbox';\r\nMaterialCheckbox.displayName = Checkbox.muiName;\r\n\r\nMaterialCheckbox.propTypes = propTypes;\r\n\r\nexport default MaterialCheckbox;\r\n","import { useContext } from 'react';\r\nimport { __RouterContext } from 'react-router';\r\n\r\nexport default () => useContext(__RouterContext);\r\n","import axios from 'axios';\r\n\r\nconst instance = axios.create();\r\n\r\nexport default instance;\r\n","import AxiosRequest from 'utils/AxiosRequest';\r\nimport config from 'configuration/configuration.js';\r\n\r\nexport const SESSION_LOGIN = 'SESSION_LOGIN';\r\nexport const SESSION_LOGOUT = 'SESSION_LOGOUT';\r\nexport const SET_NOTIFICATIONS = 'SET_NOTIFICATIONS';\r\nexport const USER_INFO = 'USER_INFO';\r\nexport const SET_LOADING = 'SET_LOADING';\r\nexport const REDIRECT_TO_ERROR = 'REDIRECT_TO_ERROR';\r\nexport const SET_DOWNLOADS = 'SET_DOWNLOADS';\r\n\r\nconst onSetNotifications = (value) => ({\r\n\ttype: SET_NOTIFICATIONS,\r\n\tnotifications: value\r\n});\r\n\r\nconst onLogin = () => ({\r\n\ttype: SESSION_LOGIN,\r\n});\r\n\r\nconst onGetUserInfo = (value) => ({\r\n\ttype: USER_INFO,\r\n\tuser: value\r\n});\r\n\r\nconst onSetLoading = (value) => ({\r\n\ttype: SET_LOADING,\r\n\tisLoading: value\r\n});\r\n\r\nconst onRedirectToError = (value) => ({\r\n\ttype: REDIRECT_TO_ERROR,\r\n\tlink: value\r\n});\r\n\r\nconst onSetDownloads = (downloads, downloadskey) => ({\r\n\ttype: SET_DOWNLOADS,\r\n\tdownloads,\r\n\tdownloadskey\r\n});\r\n\r\nexport const getUserInfo = (token) => async (dispatch) => {\r\n\ttry {\r\n\t\tawait AxiosRequest(\r\n\t\t\t{\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\turl: `${config.API_URL}account/GetUserInfo`,\r\n\t\t\t\theaders: { Authorization: `Bearer ${token}` }\r\n\t\t\t}\r\n\t\t).then(response => {\r\n\t\t\tdispatch(onGetUserInfo(response.data));\r\n\t\t});\r\n\t} catch (error) {\r\n\t\t// do nothing\r\n\t}\r\n};\r\n\r\nexport const login = (email, password) => async (dispatch) => {\r\n\ttry {\r\n\t\tawait AxiosRequest({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: `${config.API_URL}auth/login`,\r\n\t\t\tdata: { email, password }\r\n\t\t}).then(response => {\r\n\t\t\tlocalStorage.setItem(config.TOKEN_KEY, response.data.token);\r\n\t\t\tdispatch(onRedirectToError());\r\n\t\t\tdispatch(getUserInfo(response.data.token));\r\n\t\t\tdispatch(onLogin());\r\n\t\t});\r\n\t} catch (error) {\r\n\t\tthrow new Error(error ? error.message : 'Network error!');\r\n\t}\r\n};\r\n\r\nexport const logout = () => (dispatch) => {\r\n\tlocalStorage.removeItem(config.TOKEN_KEY);\r\n\tdispatch({\r\n\t\ttype: SESSION_LOGOUT,\r\n\t});\r\n};\r\n\r\nexport const RedirectToError = (link) => (dispatch) => {\r\n\tdispatch(onRedirectToError(link));\r\n};\r\n\r\nexport const recover = (email) => async (dispatch) => {\r\n\ttry {\r\n\t\tawait AxiosRequest({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: `${config.API_URL}auth/recover`,\r\n\t\t\tdata: {\r\n\t\t\t\temail\r\n\t\t\t}\r\n\t\t}).then(response => response);\r\n\t} catch (error) {\r\n\t\tthrow new Error(error ? error.message : 'Network error!');\r\n\t}\r\n};\r\n\r\nexport const CompleteRegistration = (password, rpassword, token, email) => async (dispatch) => {\r\n\ttry {\r\n\t\tawait AxiosRequest({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: `${config.API_URL}auth/completeRegistration`,\r\n\t\t\tdata: {\r\n\t\t\t\tpassword,\r\n\t\t\t\trpassword,\r\n\t\t\t\ttoken,\r\n\t\t\t\tuser: email\r\n\t\t\t}\r\n\t\t}).then(response => {\r\n\t\t\tlocalStorage.setItem(config.TOKEN_KEY, response.data.token);\r\n\t\t\tdispatch(onLogin());\r\n\t\t\tdispatch(getUserInfo(response.data.token));\r\n\t\t});\r\n\t} catch (error) {\r\n\t\tthrow new Error(error ? error.message : 'Network error!');\r\n\t}\r\n};\r\n\r\nexport const ResetPassword = (password, rpassword, token, email) => async (dispatch) => {\r\n\ttry {\r\n\t\tawait AxiosRequest({\r\n\t\t\tmethod: 'POST',\r\n\t\t\turl: `${config.API_URL}auth/recoverconfirmation`,\r\n\t\t\tdata: {\r\n\t\t\t\tpassword,\r\n\t\t\t\trpassword,\r\n\t\t\t\ttoken,\r\n\t\t\t\tuser: email\r\n\t\t\t}\r\n\t\t}).then(response => {\r\n\t\t\tlocalStorage.setItem(config.TOKEN_KEY, response.data.token);\r\n\t\t\tdispatch(onLogin());\r\n\t\t\tdispatch(getUserInfo(response.data.token));\r\n\t\t});\r\n\t} catch (error) {\r\n\t\tthrow new Error(error ? error.message : 'Network error!');\r\n\t}\r\n};\r\n\r\nexport const FetchNotifications = () => async (dispatch) => {\r\n\ttry {\r\n\t\tawait AxiosRequest(\r\n\t\t\t{\r\n\t\t\t\tmethod: 'GET',\r\n\t\t\t\turl: `${config.API_URL}Notification/Notifications`,\r\n\t\t\t\thasLoading: false\r\n\t\t\t}\r\n\t\t).then(response => {\r\n\t\t\tdispatch(onSetNotifications(response.data));\r\n\t\t});\r\n\t} catch (error) {\r\n\t\t// do nothing\r\n\t}\r\n};\r\n\r\nexport const FetchDownloads = (userId, key) => async (dispatch) => {\r\n\ttry {\r\n\t\tawait AxiosRequest(\r\n\t\t\t{\r\n\t\t\t\tmethod: 'GET',\r\n\t\t\t\turl: `${config.API_URL}File/GetDownloads`,\r\n\t\t\t\tparams: { userId, key },\r\n\t\t\t\thasLoading: false\r\n\t\t\t}\r\n\t\t).then(response => {\r\n\t\t\tdispatch(onSetDownloads(response.data, key));\r\n\t\t});\r\n\t} catch (error) {\r\n\t\t// do nothing\r\n\t}\r\n};\r\n\r\nexport const NotificationMarkAsRead = (id) => async (dispatch) => {\r\n\ttry {\r\n\t\tawait AxiosRequest(\r\n\t\t\t{\r\n\t\t\t\tmethod: 'PUT',\r\n\t\t\t\turl: `${config.API_URL}Notification/MarkAsRead/${id}`,\r\n\t\t\t\thasLoading: false\r\n\t\t\t}\r\n\t\t).then(response => {\r\n\t\t\tdispatch(FetchNotifications());\r\n\t\t});\r\n\t} catch (error) {\r\n\t\t// do nothing\r\n\t}\r\n};\r\n\r\nexport const SetLoading = (isLoading) => dispatch => {\r\n\tdispatch(onSetLoading(isLoading));\r\n};\r\n\r\nexport const UploadFile = (file) => {\r\n\tconst formData = new FormData();\r\n\tformData.append('file', file);\r\n\treturn AxiosRequest({\r\n\t\tmethod: 'POST',\r\n\t\turl: `${config.API_URL}File/Upload`,\r\n\t\tdata: formData,\r\n\t\theaders: {\r\n\t\t\t'Content-Type': 'multipart/form-data'\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexport const UploadMultipleFiles = (files) => {\r\n\tconst formData = new FormData();\r\n\tfiles.forEach(file => {\r\n\t\tif (!file.size < 10000000) {\r\n\t\t\tformData.append('file', file);\r\n\t\t}\r\n\t});\r\n\treturn AxiosRequest({\r\n\t\tmethod: 'POST',\r\n\t\turl: `${config.API_URL}File/UploadMultiple`,\r\n\t\tdata: formData,\r\n\t\theaders: {\r\n\t\t\t'Content-Type': 'multipart/form-data'\r\n\t\t}\r\n\t});\r\n};\r\n\r\nconst ShowFile = (response) => {\r\n\tconst blob = response.data;\r\n\tconst filename = decodeURIComponent(response.headers['content-disposition'].split('\\'')[2]);\r\n\t// It is necessary to create a new blob object with mime-type\r\n\t// explicitly set otherwise only Chrome works like it should\r\n\tconst newBlob = new Blob([blob], { type: 'application/force-download' });\r\n\r\n\t// IE doesn't allow using a blob object directly as link href\r\n\t// instead it is necessary to use msSaveOrOpenBlob\r\n\tif (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n\t\twindow.navigator.msSaveOrOpenBlob(newBlob);\r\n\t\treturn;\r\n\t}\r\n\r\n\t// For other browsers:\r\n\t// Create a link pointing to the ObjectURL containing the blob.\r\n\tconst data = window.URL.createObjectURL(newBlob);\r\n\tconst link = document.createElement('a');\r\n\tlink.href = data;\r\n\tlink.download = filename;\r\n\tdocument.body.appendChild(link);\r\n\tlink.click();\r\n\tsetTimeout(() => {\r\n\t\t// For Firefox it is necessary to delay revoking the ObjectURL\r\n\t\tdocument.body.removeChild(link);\r\n\t\twindow.URL.revokeObjectURL(data);\r\n\t}, 100);\r\n};\r\n\r\nexport const DownloadFile = (filePath) => async dispatch => {\r\n\ttry {\r\n\t\tawait AxiosRequest(\r\n\t\t\t{\r\n\t\t\t\tmethod: 'GET',\r\n\t\t\t\turl: `${config.API_URL}File/Download?file=${filePath}`,\r\n\t\t\t\tresponseType: 'blob'\r\n\t\t\t}\r\n\t\t).then(response => {\r\n\t\t\tShowFile(response);\r\n\t\t});\r\n\t} catch (error) {\r\n\t\t// do nothing\r\n\t}\r\n};\r\n","import { colors } from '@mui/material';\r\n\r\nconst buildGradient = (start, end) => `linear-gradient(180deg, ${start} 0%, ${end} 100%)`;\r\n\r\nconst grey = buildGradient(colors.grey[400], colors.grey[600]);\r\nconst blue = buildGradient(colors.blue[700], colors.blue[900]);\r\nconst indigo = buildGradient(colors.indigo[400], colors.indigo[600]);\r\nconst green = buildGradient(colors.green[400], colors.green[600]);\r\nconst orange = buildGradient(colors.orange[400], colors.orange[700]);\r\nconst red = buildGradient(colors.red[500], colors.red[700]);\r\n\r\nexport default {\r\n\tgrey,\r\n\tblue,\r\n\tindigo,\r\n\tgreen,\r\n\torange,\r\n\tred,\r\n};\r\n","export const ENQUEUE_SNACKBAR = 'ENQUEUE_SNACKBAR';\r\nexport const CLOSE_SNACKBAR = 'CLOSE_SNACKBAR';\r\nexport const REMOVE_SNACKBAR = 'REMOVE_SNACKBAR';\r\n\r\nexport const enqueueSnackbar = (notification) => {\r\n\tconst key = notification.options && notification.options.key;\r\n\r\n\treturn {\r\n\t\ttype: ENQUEUE_SNACKBAR,\r\n\t\tnotification: {\r\n\t\t\t...notification,\r\n\t\t\tkey: key || new Date().getTime() + Math.random(),\r\n\t\t},\r\n\t};\r\n};\r\n\r\nexport const closeSnackbar = key => ({\r\n\ttype: CLOSE_SNACKBAR,\r\n\tdismissAll: !key, // dismiss all if no key has been defined\r\n\tkey,\r\n});\r\n\r\nexport const removeSnackbar = key => ({\r\n\ttype: REMOVE_SNACKBAR,\r\n\tkey,\r\n});\r\n"],"sourceRoot":""}