{"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","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/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","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","components/SelectField/SelectField.js","configuration/configuration.js","utils/AxiosRequest.js","components/AuthGuard/AuthGuard.js","components/Label/Label.js","components/TableauDashboard/TableauDashboard.js","components/DatePicker/DatePicker.js","components/Checkbox/Checkbox.js","utils/useRouter.js","utils/axios.js","utils/bytesToSize.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","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","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","GetIncidentTable","incidentTable","ToggleIncidentTrackerDialog","incidentSubmitter","onToggleIncidentTrackerDialog","SetCurrentQueueDropdown","currentQueueDropdown","onSetCurrentQueueDropdown","GetProjectsDropdown","projectsDropdown","GetTypeDropdown","typeDropdown","onGetIncident","incident","incidentTrackerDialogVisibility","selectedIncidentId","selectedIncidentSubmitter","dropdowns","sowDropdown","layersDropdown","detailedTypeDropdown","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","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","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","groupNames","x","groupName","Number","b","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","priority","technologies","currentQueue","needsRevisit","handoverBlocking","observations","noBorder","IncidentTrackerDialogForm","submitter","submitterName","yesNoDropdown","GetIncident","GetAllDropdowns","useMemo","setCurrentQueueDropdown","partner","defaultValue","InputLabelProps","shrink","InputProps","startAdornment","InputAdornment","incidentNumber","taskNumber","Stack","siteTrackerPRef","bo","IncidentTrackerDialog","EditIncident","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","toLowerCase","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","TableContainer","conf","ListItemButton","pl","configuration","categoryLabel","pr","AddCircleOutlineRounded","priorities","detailedTypes","SiteTracker","reportTech","RANDumpExportForm","DumpExport","CPMDumpExportForm","Values","UserId","GEOInput","response2","console","log","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","hidden","selectedDates","selectedFailures","object","CreateIncident","IncidentTrackerDeleteDialog","DeleteIncident","IncidentTrackerAddFileDialog","UploadAttachment","hasAttachment","IncidentTrackerDeleteFileDialog","RemoveAttachment","IncidentTrackerOptionsForm","dropdownValueAdded","setdropdownValueAdded","_handleClose","Box","noValidate","autoComplete","AddDropdownField","RemoveDropdownField","IncidentTrackerOptionsDialog","panel","isExpanded","_handleChangeDropDown","_addField","_deleteField","_onCreateSiteIncidentClick","_onExportIncidentsClick","ExportIncidents","_handleSpeedDialClick","SpeedDial","ariaLabel","SpeedDialIcon","SpeedDialAction","tooltipTitle","ReportSunset","FocusOccasionFilesUpload","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","indexOf","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","pattern","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","document","getElementById","navigator","serviceWorker","ready","registration","unregister","showDownload","showPrint","outerTheme","actionColumnWidth","adaptV4Theme","MUIDataTable","MUIDataTableHead","MUIDataTableHeadCell","MUIDataTableHeadRow","MUIDataTableBody","MUIDataTableBodyRow","body","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","rounded","finalStyle","viz","showExportPDFDialog","dispose","containerDiv","hideToolbar","onFirstVizSizeKnown","innerHeight","setAttribute","tableau","Viz","_initViz","emptyLabel","MaterialCheckbox","labelPlacement","labelStyle","muiName","useContext","__RouterContext","bytes","decimals","k","dm","sizes","parseFloat","pow","toFixed","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","blob","decodeURIComponent","newBlob","Blob","msSaveOrOpenBlob","URL","createObjectURL","createElement","appendChild","removeChild","revokeObjectURL","responseType","buildGradient"],"mappings":"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","file":"static/js/main.fd729b9b.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) => AxiosRequest({\r\n\tmethod: 'GET',\r\n\turl: `${config.API_URL}Scripts/GenerateScf`,\r\n\tparams: { fileLocation, sowType, sowTechs, sowRmod, sran }\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) => async (dispatch) => {\r\n\tawait GenerateScfRequest(fileLocation, sowType, sowTechs, sowRmod, sran).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) => async (dispatch) => {\r\n\tawait UploadFile(file).then(response => {\r\n\t\tdispatch(ProcessFileScf(response.data, sowType, sowTechs, sowRmod, sran));\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\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","import { enqueueSnackbar, DownloadFile } 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} 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\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 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\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 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 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} 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\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};\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_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\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\tconsole.log(response2.data);\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 { 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\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});\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],\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-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: '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: '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\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],\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: 'Main KPIs Overview',\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: 'Undetected Performance Fault',\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'],\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\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: 'Regions',\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\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\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\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]\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: '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\troles: ['Administrator', 'Manager', 'CelfinetHQ', 'CelfinetOS', 'Client'],\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: '/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\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\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\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: '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\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],\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 } from '@mui/material';\r\nimport { Page, CustomizedDialogs } from 'components';\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\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\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.values,\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 _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\tselectedSowTechs: value.map(u => (u.value === '3500C2' || u.value === 'L800' || u.value === '2100 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};\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\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 !x?.value.includes('+') && x?.value !== '').filter(x => (formState.values.selectedSowTechs?.includes('L2600') ? x.value.includes('Radio') : !x.value.includes('Radio'))\r\n\t\t\t\t\t\t\t\t&& (!formState.values.selectedSowTechs?.includes('2100') ? (!x.value.includes('ARGA') && !x.value.includes('AHEGC')) : x)\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\tid=\"selectedSowRmod\"\r\n\t\t\t\t\t\t\tname=\"selectedSowRmod\"\r\n\t\t\t\t\t\t\tdisableCloseOnSelect\r\n\t\t\t\t\t\t\tonChange={_handleChangeSowRmod}\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\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\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, { useEffect, useCallback, useMemo } from 'react';\r\nimport clsx from 'clsx';\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 } from '@mui/material';\r\nimport AccountCircle from '@mui/icons-material/AccountCircle';\r\nimport _ from 'underscore';\r\nimport useRouter from 'utils/useRouter';\r\n\r\nimport { IsSafeToDeleteConfigurationRequest } from 'views/IncidentTracker/requests/IncidentTrackerConfigurationRequests';\r\nimport { SetFormState, SetCurrentQueueDropdown, GetDropdowns, GetProjectsDropdown, GetSowDropdown, GetLayersDropdown,\r\n\tGetTypeDropdown, GetDetailedTypeDropdown, GetIncidentBase, GetIncident, GetAllDropdowns } from '../../../actions/IncidentTrackerActions';\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\tobservations: {\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\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 yesNoDropdown = [{ value: 'Yes', text: 'Yes' }, { value: 'No', text: 'No' }];\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}\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{/* 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\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\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 } 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\r\n\tconst _onConfirmClick = () => {\r\n\t\tsetFormState({ ...formState, submit: true });\r\n\t\tif (formState.isValid && incidentId === 0) {\r\n\t\t\tdispatch(CreateIncident({ ...formState.values, submitter: userId }));\r\n\t\t\tdispatch(ToggleIncidentTrackerDialog(false, 0));\r\n\t\t} else if (formState.isValid) {\r\n\t\t\tdispatch(EditIncident({ ...formState.values }));\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","/* 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\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/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\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","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","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 _ 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","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","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 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\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":""}