{"version":3,"sources":["utils/providerHelpers/HttpError.js","utils/providerHelpers/fetchUtils.js","ui/images/logoPlaceholder.png","ui/images/loginBackground.png","ui/images/logo.png","ui/images/Certification.png","ui/images/Training.png","ui/images/General.png","ui/images/icons/doc.png","ui/images/icons/docx.png","ui/images/icons/jpg.png","ui/images/icons/pdf.png","ui/images/icons/png.png","ui/images/icons/tiff.png","ui/images/icons/undefined.png","ui/images/plusPlaceholder.png","ui/images/404.png","utils/actionTypesHelpers/createEnum.js","config/api.js","utils/constants/index.js","ui/routes/path.js","ui/components/CenteredContainer/styles.js","ui/components/CenteredContainer/index.js","utils/actionTypesHelpers/requestState.js","utils/actionTypesHelpers/craftsmanCertificationsAnswers.js","actionTypes/auth.js","actionTypes/entity.js","actionTypes/company.js","actionTypes/notification.js","actionTypes/currentCompany.js","actionTypes/pages.js","actionTypes/file.js","actionTypes/filePsmAudit.js","actionTypes/archive.js","actionTypes/yesNoQuestionsAll.js","actionTypes/settings.js","actionTypes/headerNotification.js","actionTypes/review.js","actionTypes/addendumFile.js","actionTypes/workingHours.js","actionTypes/workingHourNotes.js","utils/textFormaters/refineNumberString.js","utils/validate/method.js","utils/constants/yearHelper.js","utils/constants/formConstats.js","utils/validate/errorMessages.js","utils/constants/BLSIndustry.js","utils/validate/shemas.js","utils/constants/fileSizes.js","ui/components/FormInput/styles.js","ui/components/FormInput/phoneInput.js","ui/components/FormInput/index.js","ui/containers/LoginForm/styles.js","ui/containers/LoginForm/index.js","ui/containers/BrowserSupportMessage/styles.js","ui/containers/BrowserSupportMessage/index.js","utils/constants/chromeDownloadLink.js","ui/pages/Login/styles.js","ui/pages/Login/index.js","ui/containers/ResetPasswordForm/styles.js","ui/containers/ResetPasswordForm/index.js","ui/pages/ResetPassword/index.js","ui/containers/SetNewPasswordForm/styles.js","ui/containers/SetNewPasswordForm/index.js","ui/pages/SetNewPassword/index.js","ui/layouts/MainLayout/styles.js","ui/containers/MainMenu/styles.js","utils/effects/userPermissions.js","ui/containers/MainMenu/index.js","ui/components/UserLabel/styles.js","ui/containers/Header/Notifications/styles.js","ui/containers/Header/Notifications/headerNotificationTypes.js","utils/textFormaters/formatPath.js","utils/textFormaters/date.js","ui/containers/Header/Notifications/EmptyNotifications.js","ui/components/PageLoader/styles.js","ui/components/PageLoader/index.js","ui/components/NotificationsPopper/styles.js","ui/components/NotificationsPopper/index.js","ui/components/UserLabel/requestComponentType.js","ui/containers/Header/Notifications/SharingRequest.js","ui/containers/Header/Notifications/SharingRequestApproved.js","ui/containers/Header/Notifications/SharingRequestRejected.js","ui/containers/Header/Notifications/UploadExpiration.js","ui/containers/Header/Notifications/ReviewApprove.js","ui/containers/Header/Notifications/ReviewReject.js","ui/containers/Header/Notifications/ReviewRequest.js","ui/components/UserLabel/index.js","ui/containers/Header/styles.js","ui/containers/Header/index.js","utils/constants/companyRoleTypes.js","utils/pageHelpers/index.js","ui/components/Pagination/index.js","ui/components/PaginationWithCustomRows/SelectRow/styles.js","ui/components/PaginationWithCustomRows/SelectRow/index.js","utils/constants/pagination.js","ui/components/PaginationWithCustomRows/index.js","ui/components/TooltipWrapper/index.js","ui/components/LinkWrapper/styles.js","ui/components/LinkWrapper/index.js","ui/components/Ellipsis/index.js","ui/components/AdminPopUpConfirmation/index.js","ui/components/AdminPopUp/index.js","ui/components/ModalConfirmation/index.js","ui/components/IconWithPopUp/index.js","utils/textFormaters/formatPageTitle.js","ui/containers/MarketPlace/CompanyListTabel/FillingCell/styles.js","ui/containers/MarketPlace/CompanyListTabel/FillingCell/index.js","ui/containers/MarketPlace/CompanyListTabel/CellStatus/styles.js","ui/containers/MarketPlace/CompanyListTabel/CellStatus/index.js","ui/containers/MarketPlace/CompanyListTabel/FavoriteCell/styles.js","ui/containers/MarketPlace/CompanyListTabel/FavoriteCell/index.js","ui/containers/MarketPlace/CompanyListTabel/OverdueCell/styles.js","ui/containers/MarketPlace/CompanyListTabel/OverdueCell/index.js","ui/containers/MarketPlace/CompanyListTabel/ExpDate/styles.js","ui/containers/MarketPlace/CompanyListTabel/ExpDate/index.js","ui/containers/MarketPlace/CompanyListTabel/columns.js","ui/components/FormCheckbox/index.js","ui/containers/MarketPlace/CompanyListTabel/ConfigureModal/index.js","utils/constants/sorting.js","ui/containers/MarketPlace/CompanyListTabel/styles.js","ui/containers/MarketPlace/CompanyListTabel/index.js","ui/components/FormNumberInput/maskedInput.js","ui/components/FormNumberInput/index.js","ui/components/MultiselectDropdown/index.js","ui/components/MinMax/styles.js","ui/components/MinMax/index.js","ui/components/Effect/index.js","ui/components/ShowMoreLessFilters/styles.js","ui/components/ShowMoreLessFilters/ShowMoreLessButton/index.js","ui/components/ShowMoreLessFilters/ClearButton/index.js","ui/components/ShowMoreLessFilters/index.js","utils/containersHelpers/index.js","ui/containers/MarketPlace/CreateFilterForm/styles.js","utils/constants/usaStates.js","utils/constants/grades.js","ui/components/FormAutocomplete/index.js","ui/containers/ExportWorkingHoursModal/styles.js","ui/containers/ExportWorkingHoursModal/index.js","ui/containers/MarketPlace/CreateFilterForm/index.js","ui/components/PaperWrapper/styles.js","ui/components/PaperWrapper/index.js","ui/containers/MarketPlace/index.js","utils/effects/useCompanyInfo.js","ui/pages/MarketPlace/index.js","utils/providerHelpers/tokensHelper.js","ui/components/FormSelect/index.js","ui/components/FormBody/styles.js","ui/components/FormBody/index.js","ui/components/LoadingButton/styles.js","ui/containers/WarningDocumentUpdate/styles.js","ui/containers/WarningDocumentUpdate/index.js","ui/containers/WarningDocumentCreate/styles.js","ui/containers/WarningDocumentCreate/index.js","ui/components/LoadingButton/index.js","ui/containers/CreateCompanyForm/styles.js","ui/components/PromptComponent/styles.js","ui/components/PromptComponent/index.js","ui/containers/CreateCompanyForm/index.js","ui/pages/CreateNewCompany/index.js","ui/components/Icons/styles.js","ui/components/Icons/CertificationIcon.js","ui/components/Icons/TrainingIcon.js","ui/components/Icons/GeneralIcon.js","ui/containers/MenuCompany/styles.js","ui/containers/MenuCompany/MenuItem/styles.js","utils/constants/pqfValidationQuestions.js","ui/containers/MenuCompany/MenuTooltip/styles.js","ui/containers/MenuCompany/MenuTooltip/index.js","ui/containers/MenuCompany/MenuItem/index.js","ui/containers/MenuCompany/BackButton/styles.js","ui/containers/MenuCompany/BackButton/index.js","ui/containers/MenuCompany/index.js","ui/containers/CompanyNavigationBar/styles.js","ui/containers/CompanyNavigationBar/index.js","utils/constants/userTypesSidebarMenu.js","ui/containers/UsersListData/styles.js","ui/containers/UsersListData/UsersTable/styles.js","ui/containers/UsersListData/UsersTable/TableHead/styles.js","ui/containers/UsersListData/UsersTable/TableHead/index.js","ui/containers/UsersListData/UsersTable/Row/EditUserForm/styles.js","ui/containers/UsersListData/UsersTable/Row/EditUserForm/index.js","ui/containers/UsersListData/UsersTable/Row/index.js","ui/containers/UsersListData/UsersTable/index.js","ui/containers/UsersListData/CreateNewUser/NewUserForm/styles.js","ui/containers/UsersListData/CreateNewUser/NewUserForm/index.js","ui/containers/UsersListData/CreateNewUser/index.js","ui/containers/UsersListData/index.js","ui/pages/CompanyUserList/index.js","ui/containers/FileUploader/PopupLink/styles.js","ui/containers/FileUploader/PopupLink/index.js","utils/providerHelpers/fileUploader.js","ui/components/DropZone/styles.js","ui/components/DropZone/index.js","ui/components/ProgressBar/styles.js","ui/components/ProgressBar/index.js","ui/containers/FileUploader/DeleteFile/index.js","ui/containers/FileUploader/UploadItem/styles.js","ui/components/FormDataPicker/helper.js","ui/components/FormDataPicker/index.js","ui/containers/FileUploader/UploadItem/index.js","ui/containers/FileUploader/FileUploads/index.js","ui/containers/FileUploader/UploaderModal/styles.js","utils/enums/fileFormats.js","ui/containers/FileUploader/UploaderModal/index.js","ui/components/FileType/styles.js","ui/components/FileType/index.js","ui/containers/FileUploader/FileList/styles.js","ui/containers/FileUploader/FileList/index.js","ui/containers/FileUploader/DocumentList/styles.js","ui/containers/FileUploader/DocumentList/index.js","ui/containers/FileUploader/styles.js","ui/containers/FileUploader/index.js","ui/layouts/FileUploaderController/index.js","ui/components/FileUploaderInput/index.js","ui/containers/CreateOfficersForm/styles.js","ui/containers/CreateOfficersForm/OfficerManagerSubForm/styles.js","ui/containers/CreateOfficersForm/OfficerManagerSubForm/index.js","ui/containers/CreateOfficersForm/OfficersSubForm/styles.js","ui/containers/CreateOfficersForm/OfficersSubForm/index.js","ui/components/FormRadio/styles.js","ui/components/FormRadio/index.js","ui/components/QuestionWithOptions/styles.js","ui/components/QuestionWithOptions/index.js","ui/containers/CreateOfficersForm/OfficersSubFormWrapper/index.js","ui/containers/CreateOfficersForm/index.js","ui/pages/CompanyOfficers/index.js","ui/containers/CompanyInfoForm/styles.js","ui/containers/CompanyInfoForm/CompanyInfoSubForm/styles.js","ui/containers/CompanyInfoForm/CompanyInfoSubForm/index.js","ui/containers/CompanyInfoForm/LogoUploadForm/styles.js","ui/containers/CompanyInfoForm/LogoUploadForm/index.js","ui/containers/CompanyInfoForm/index.js","ui/pages/CompanyInfo/index.js","ui/containers/CreateFinancialInfoForm/styles.js","ui/containers/CommonTable/EditForm/index.js","ui/containers/CommonTable/TableContainer/styles.js","ui/containers/CommonTable/TableContainer/index.js","ui/containers/CommonTable/FieldFormContainer/styles.js","ui/containers/CommonTable/FieldFormContainer/index.js","ui/containers/CommonTable/index.js","ui/containers/CreateFinancialInfoForm/FinInfoSubForm/styles.js","ui/containers/CreateFinancialInfoForm/FinInfoSubForm/index.js","ui/containers/CreateFinancialInfoForm/index.js","ui/pages/FinancialInformation/index.js","ui/containers/ParentCompanyForm/ParentCompanySubForm/styles.js","ui/containers/ParentCompanyForm/ParentCompanySubForm/index.js","ui/containers/ParentCompanyForm/SubsidiaryContainer/styles.js","ui/containers/ParentCompanyForm/EditForm/index.js","ui/containers/ParentCompanyForm/Table/styles.js","ui/containers/ParentCompanyForm/Table/index.js","ui/containers/ParentCompanyForm/SubsidiaryInputForm/styles.js","ui/containers/ParentCompanyForm/SubsidiaryInputForm/index.js","ui/containers/ParentCompanyForm/SubsidiaryContainer/index.js","ui/containers/ParentCompanyForm/index.js","ui/pages/ParentCompany/index.js","ui/containers/InsurancePolicyForm/InsurancePolicySubForm/styles.js","ui/containers/InsurancePolicyForm/InsurancePolicySubForm/index.js","ui/containers/InsurancePolicyForm/styles.js","ui/containers/InsurancePolicyForm/AutomobileInsuranceSubForm/styles.js","ui/containers/InsurancePolicyForm/AutomobileInsuranceSubForm/index.js","ui/containers/InsurancePolicyForm/index.js","ui/pages/InsurancePolicy/index.js","ui/containers/CreateOrganizationInfoForm/styles.js","utils/constants/businessFormTypes.js","utils/constants/eeoCategoryTypes.js","ui/containers/CreateOrganizationInfoForm/OrganizationInfoSubForm/index.js","ui/containers/CreateOrganizationInfoForm/index.js","ui/pages/OrganizationInfo/index.js","ui/containers/CategoriesForm/styles.js","ui/containers/CategoriesForm/index.js","ui/pages/WorkCategories/index.js","ui/containers/ServicesPerformedForm/styles.js","ui/containers/ServicesPerformedForm/index.js","ui/pages/ServicesPerformed/index.js","ui/containers/ReferencesForm/ReferenceSubForm/styles.js","ui/containers/ReferencesForm/ReferenceSubForm/index.js","ui/containers/LargestJobForm/styles.js","utils/textFormaters/setAmountOnSubmit.js","ui/containers/LargestJobForm/index.js","ui/containers/ReferencesForm/EditForm/styles.js","ui/containers/ReferencesForm/EditForm/index.js","ui/containers/ReferencesForm/Table/styles.js","ui/containers/ReferencesForm/Table/index.js","ui/containers/ReferencesForm/index.js","ui/pages/References/index.js","ui/containers/YesNoFormConstructor/validate.js","ui/containers/YesNoFormConstructor/fields/yesNoFieldType.js","ui/containers/YesNoFormConstructor/fields/styles.js","ui/containers/YesNoFormConstructor/fields/textFieldType.js","ui/containers/YesNoFormConstructor/fields/frequencyFieldType.js","ui/containers/YesNoFormConstructor/fields/uploadFieldType.js","ui/containers/YesNoFormConstructor/fields/fieldComponent.js","ui/containers/YesNoFormConstructor/index.js","ui/components/QuestionStructure/styles.js","ui/components/QuestionStructure/index.js","ui/containers/CreateEnvironmentalForm/styles.js","ui/components/PopoverPopup/index.js","ui/containers/CreateEnvironmentalForm/index.js","ui/pages/CreateEnvironmentalManagement/index.js","utils/constants/formBuilder.js","ui/containers/FormBuilder/FormButtons/styles.js","ui/containers/FormBuilder/FormButtons/index.js","ui/containers/FormBuilder/AddRow/index.js","ui/components/FormSwitch/index.js","ui/layouts/SingleFileUploaderController/index.js","ui/components/SingleFileUploaderInput/index.js","ui/containers/FormBuilder/OptionItem/index.js","ui/containers/FormBuilder/OptionList/index.js","ui/containers/FormBuilder/SingleQuestion/styles.js","ui/containers/FormBuilder/SingleQuestion/index.js","ui/containers/FormBuilder/SortableList/index.js","ui/containers/FormBuilder/SortableWrap/index.js","ui/containers/FormBuilder/formaters.js","ui/containers/FormBuilder/validation.js","ui/containers/ContractorAddendumForm/SingleQuestion/styles.js","ui/containers/ContractorAddendumForm/SingleQuestion/TitleType.js","ui/containers/ContractorAddendumForm/SingleQuestion/TextType.js","ui/containers/ContractorAddendumForm/SingleQuestion/YesNoType.js","ui/containers/ContractorAddendumForm/SingleQuestion/NumberType.js","ui/containers/ContractorAddendumForm/SingleQuestion/ParagraphType.js","ui/containers/ContractorAddendumForm/SingleQuestion/DropdownType.js","ui/containers/ContractorAddendumForm/SingleQuestion/DateType.js","ui/containers/ContractorAddendumForm/SingleQuestion/LinkType.js","ui/containers/ContractorAddendumForm/SingleQuestion/FileType.js","ui/containers/ContractorAddendumForm/SingleQuestion/index.js","ui/containers/ContractorAddendumForm/QuestionStructure/styles.js","ui/containers/ContractorAddendumForm/QuestionStructure/index.js","ui/containers/ContractorAddendumForm/validation.js","ui/containers/ContractorAddendumForm/index.js","ui/containers/FormBuilder/styles.js","ui/containers/FormBuilder/index.js","ui/pages/OwnerAddendum/index.js","ui/containers/InjuryIllnessForm/TableActions/index.js","ui/containers/InjuryIllnessForm/FormCell/styles.js","ui/containers/InjuryIllnessForm/FormCell/index.js","ui/containers/InjuryIllnessForm/TitleCell/index.js","ui/containers/InjuryIllnessForm/styles.js","utils/textFormaters/formatCommaSeparator.js","ui/containers/InjuryIllnessForm/index.js","ui/pages/InjuryIllness/index.js","ui/containers/WorkingHoursForm/styles.js","ui/containers/WorkingHoursForm/LabelField/styles.js","ui/containers/WorkingHoursForm/LabelField/index.js","ui/containers/WorkingHoursForm/Months/index.js","ui/containers/WorkingHoursForm/form.js","ui/containers/WorkingHoursForm/Toolbar/index.js","ui/containers/WorkingHourNotesForm/form.js","ui/containers/WorkingHourNotesForm/index.js","ui/containers/WorkingHoursForm/index.js","ui/pages/ContractorAddendum/index.js","ui/containers/YesNoQuestionTypical/styles.js","ui/containers/YesNoQuestionTypical/index.js","ui/pages/YesNoQuestionDefault/index.js","ui/containers/EMRate/styles.js","utils/constants/sicCodes.js","ui/containers/EMRate/EmrRateInfo/styles.js","ui/containers/EMRate/EmrRateInfo/index.js","utils/constants/sicCodesLink.js","ui/containers/EMRate/index.js","ui/pages/EMR/index.js","ui/containers/CraftsmanCertificationForm/styles.js","ui/containers/CraftsmanCertificationForm/CraftsmanCertificationSubForm/styles.js","ui/containers/CraftsmanCertificationForm/CraftsmanCertificationSubForm/CraftsmanTableRow.js","ui/containers/CraftsmanCertificationForm/CraftsmanCertificationSubForm/index.js","ui/containers/CraftsmanCertificationForm/index.js","ui/containers/CraftsmanCertificationForm/modifyCraftsman.js","ui/pages/CraftsmanCertification/index.js","utils/enums/questions.js","ui/containers/Questions/Table/ButtonIcon/index.js","ui/containers/Questions/Table/styles.js","ui/containers/Questions/Table/index.js","utils/enums/options.js","ui/containers/Questions/FormTypes/index.js","ui/containers/Questions/FormTypes/renderValue.js","ui/containers/Questions/Modal/styles.js","ui/containers/Questions/Modal/validation.js","ui/containers/Questions/Modal/index.js","ui/containers/Questions/FiltersForm/Effect/index.js","ui/containers/Questions/FiltersForm/styles.js","ui/containers/Questions/FiltersForm/index.js","ui/containers/Questions/index.js","ui/pages/Questions/index.js","ui/containers/SettingsForm/styles.js","ui/containers/SettingsForm/index.js","ui/pages/SystemSettings/index.js","ui/containers/BLS/Table/styles.js","ui/containers/BLS/Table/index.js","ui/containers/BLS/index.js","ui/pages/BLSSettings/index.js","ui/containers/ArchiveCompany/CompanyTable/columns.js","ui/containers/ArchiveCompany/CompanyTable/styles.js","ui/containers/ArchiveCompany/CompanyTable/index.js","ui/containers/ArchiveCompany/FilterForm/index.js","ui/containers/ArchiveCompany/index.js","ui/pages/ArchiveCompany/index.js","ui/containers/ArchiveUser/UserTable/columns.js","ui/containers/ArchiveUser/UserTable/styles.js","ui/containers/ArchiveUser/UserTable/index.js","ui/containers/ArchiveUser/FilterForm/index.js","ui/containers/ArchiveUser/index.js","ui/pages/ArchiveUser/index.js","ui/containers/CompanySettingsForm/styles.js","ui/components/AutocompleteDropdown/index.js","ui/containers/CompanySettingsForm/index.js","ui/pages/CompanySettings/index.js","ui/layouts/Company/Settings/index.js","ui/layouts/Company/Company/index.js","ui/layouts/Company/styles.js","ui/layouts/Company/index.js","ui/containers/YesNoQuestionsRenderer/styles.js","ui/containers/YesNoQuestionsRenderer/index.js","ui/pages/YesNoQuestionsAll/index.js","ui/components/CompanyLogo/styles.js","ui/components/CompanyLogo/index.js","ui/containers/Dashboard/OwnerGrading/ListOwners/styles.js","ui/containers/Dashboard/OwnerGrading/ListOwners/index.js","ui/containers/Dashboard/GradeModal/styles.js","ui/containers/Dashboard/GradeModal/index.js","ui/containers/Dashboard/OwnerGrading/index.js","ui/components/Grade/styles.js","ui/components/Grade/index.js","ui/containers/Dashboard/GradeSystem/index.js","ui/containers/Dashboard/FavoriteButton/styles.js","ui/containers/Dashboard/FavoriteButton/index.js","ui/containers/Dashboard/CompanyCard/ImageUpload/styles.js","ui/containers/Dashboard/CompanyCard/ImageUpload/index.js","ui/containers/Dashboard/CompanyCard/styles.js","ui/containers/Dashboard/SingleOwnerGrade/index.js","ui/containers/WorkingHoursModal/styles.js","ui/containers/WorkingHoursModal/index.js","ui/containers/Dashboard/CompanyCard/index.js","ui/components/Cards/CollapseCard/styles.js","ui/components/Cards/CollapseCard/index.js","ui/containers/Dashboard/Organization/styles.js","ui/containers/Dashboard/Organization/index.js","ui/containers/Dashboard/Notification/NotificationContainer/styles.js","ui/containers/Dashboard/Notification/NotificationContainer/index.js","ui/containers/Dashboard/Notification/types/validationError.js","ui/containers/Dashboard/Notification/types/styles.js","ui/containers/Dashboard/Notification/types/inProgress.js","ui/containers/Dashboard/Notification/types/pendingReview.js","ui/containers/Dashboard/Notification/index.js","ui/containers/DocumentList/CellStatus/styles.js","ui/containers/DocumentList/CellStatus/index.js","ui/containers/DocumentList/CellName/styles.js","ui/containers/DocumentList/CellName/index.js","ui/containers/DocumentList/CellScore/index.js","ui/containers/DocumentList/styles.js","ui/containers/DocumentList/index.js","utils/constants/timeZoneUSACentral.js","ui/containers/Dashboard/Documents/index.js","ui/containers/Dashboard/styles.js","ui/containers/Dashboard/Services/index.js","ui/containers/Dashboard/AddendumModal/styles.js","ui/containers/Dashboard/AddendumModal/index.js","ui/containers/Dashboard/Addendum/styles.js","ui/containers/Dashboard/Addendum/index.js","ui/containers/Dashboard/UploadDocuments/DocumentsTable/CellName/styles.js","ui/containers/Dashboard/UploadDocuments/DocumentsTable/CellName/index.js","ui/containers/Dashboard/UploadDocuments/DocumentsTable/ExpirationDate/index.js","ui/containers/Dashboard/UploadDocuments/DocumentsTable/styles.js","ui/containers/Dashboard/UploadDocuments/DocumentsTable/index.js","ui/containers/Dashboard/UploadDocuments/index.js","ui/containers/Dashboard/WorkCategories/styles.js","ui/containers/Dashboard/WorkCategories/index.js","ui/containers/UploadPsmAuditForm/styles.js","ui/containers/UploadPsmAuditForm/index.js","ui/containers/Dashboard/AdminPanelCard/index.js","ui/containers/Dashboard/index.js","ui/pages/Dashboard/index.js","ui/containers/NotFound/styles.js","ui/containers/NotFound/index.js","ui/pages/NotFound/index.js","ui/pages/FileDownload/index.js","ui/containers/Review/AdditionalNotes/styles.js","ui/containers/Review/AdditionalNotes/index.js","ui/containers/Review/QuestionTable/style.js","ui/containers/Review/StatusChecker/style.js","ui/containers/Review/StatusChecker/index.js","ui/containers/Review/AnswerTypes/EmrTable/styles.js","ui/containers/Review/AnswerTypes/EmrTable/index.js","ui/containers/Review/AnswerTypes/InjuryAndIllnessTable/styles.js","ui/containers/Review/AnswerTypes/InjuryAndIllnessTable/index.js","ui/containers/Review/AnswerTypes/FileQuestion/index.js","ui/containers/Review/AnswerTypes/Text/index.js","ui/containers/Review/AnswerTypes/index.js","ui/containers/Review/QuestionItem/index.js","ui/containers/Review/QuestionTable/index.js","ui/containers/Review/index.js","ui/pages/Review/index.js","ui/layouts/MainLayout/index.js","ui/routes/PublicRoute.js","ui/routes/PrivateRoute.js","ui/pages/AcceptInvitation/index.js","ui/routes/Routes.js","utils/effects/checkAuth.js","theme/palette.js","theme/typography.js","theme/overrides/MuiLink.js","theme/overrides/index.js","theme/overrides/MuiCssBaseline.js","theme/overrides/MuiTableCell.js","theme/overrides/MuiFormLabel.js","theme/overrides/MuiFormHelperText.js","theme/overrides/MuiInputBase.js","theme/overrides/MuiButton.js","theme/index.js","utils/providerHelpers/httpHelper.js","store/constants.js","store/authProvider.js","utils/providerHelpers/createAuthProvider.js","schema/company.js","schema/user.js","schema/workCategory.js","schema/workCategoryGroup.js","schema/service.js","schema/companyUser.js","schema/document.js","schema/uploadDocument.js","schema/organization.js","sagas/auth/check.js","sagas/auth/login.js","sagas/auth/logout.js","sagas/auth/resetPassword.js","sagas/auth/setNewPassword.js","sagas/auth/acceptInvitation.js","sagas/auth/index.js","utils/providerHelpers/jsonServerHelper.js","utils/providerHelpers/createDataProvider.js","store/dataProvider.js","sagas/company/create.js","sagas/company/list.js","sagas/company/delete.js","sagas/company/addToFavorite.js","sagas/company/exportXlsx.js","sagas/company/getFavoriteOwnerList.js","sagas/company/index.js","sagas/currentCompany/workCategory/get.js","sagas/currentCompany/workCategory/update.js","sagas/currentCompany/workCategory/index.js","sagas/currentCompany/service/get.js","sagas/currentCompany/service/update.js","sagas/currentCompany/service/index.js","sagas/currentCompany/finInfo/get.js","sagas/file/updateFiles.js","sagas/currentCompany/finInfo/update.js","sagas/currentCompany/finInfo/index.js","sagas/currentCompany/user/create.js","sagas/currentCompany/user/get.js","sagas/currentCompany/user/resend.js","sagas/currentCompany/user/update.js","sagas/currentCompany/user/remove.js","sagas/currentCompany/user/index.js","sagas/currentCompany/reference/create.js","sagas/currentCompany/reference/delete.js","sagas/currentCompany/reference/update.js","sagas/currentCompany/reference/get.js","sagas/currentCompany/reference/updateJobInfo.js","sagas/currentCompany/reference/index.js","sagas/currentCompany/parentCompany/create.js","sagas/currentCompany/parentCompany/get.js","sagas/currentCompany/parentCompany/update.js","sagas/currentCompany/parentCompany/index.js","sagas/currentCompany/organizationInfo/update.js","sagas/currentCompany/organizationInfo/get.js","sagas/currentCompany/organizationInfo/index.js","sagas/currentCompany/officer/get.js","sagas/currentCompany/officer/update.js","sagas/currentCompany/officer/create.js","sagas/currentCompany/officer/index.js","sagas/currentCompany/yesNoQuestions/get.js","sagas/currentCompany/yesNoQuestions/update.js","sagas/currentCompany/yesNoQuestions/index.js","sagas/currentCompany/healthProf/get.js","sagas/currentCompany/healthProf/update.js","sagas/currentCompany/healthProf/index.js","sagas/currentCompany/insurancePolicy/create.js","sagas/currentCompany/insurancePolicy/update.js","sagas/currentCompany/insurancePolicy/get.js","sagas/currentCompany/insurancePolicy/index.js","sagas/currentCompany/companyInfo/get.js","sagas/currentCompany/companyInfo/validation.js","sagas/currentCompany/companyInfo/index.js","sagas/currentCompany/companyAdminInfo/get.js","sagas/currentCompany/companyAdminInfo/update.js","sagas/currentCompany/companyAdminInfo/index.js","sagas/currentCompany/info/get.js","sagas/currentCompany/info/update.js","sagas/currentCompany/info/updateImage.js","sagas/currentCompany/info/deleteImage.js","sagas/currentCompany/info/index.js","sagas/currentCompany/emrate/get.js","sagas/currentCompany/emrate/update.js","sagas/currentCompany/emrate/index.js","sagas/currentCompany/ownerAddendum/create.js","sagas/currentCompany/ownerAddendum/get.js","sagas/currentCompany/ownerAddendum/index.js","sagas/currentCompany/injuryIllness/get.js","sagas/currentCompany/injuryIllness/update.js","sagas/currentCompany/injuryIllness/index.js","sagas/currentCompany/craftsmanCertification/get.js","sagas/currentCompany/craftsmanCertification/update.js","sagas/currentCompany/craftsmanCertification/index.js","sagas/currentCompany/contractorAddendum/get.js","sagas/currentCompany/contractorAddendum/create.js","sagas/currentCompany/contractorAddendum/index.js","sagas/currentCompany/questions/get.js","sagas/currentCompany/questions/update.js","sagas/currentCompany/questions/exportXlsx.js","sagas/currentCompany/questions/index.js","sagas/currentCompany/settings/get.js","sagas/currentCompany/settings/update.js","sagas/currentCompany/settings/index.js","sagas/currentCompany/index.js","sagas/notification/addNotification.js","sagas/notification/index.js","sagas/yesNoQuestionsAll/get.js","sagas/yesNoQuestionsAll/index.js","sagas/pages/dashboard/get.js","sagas/pages/dashboard/submitDocument.js","sagas/pages/dashboard/documents.js","sagas/pages/dashboard/loadDocument.js","sagas/pages/dashboard/gradeDownload.js","sagas/pages/dashboard/unofficialGrade.js","sagas/pages/dashboard/loadAllUploadDocument.js","sagas/pages/dashboard/downloadPQFScorecard.js","sagas/pages/dashboard/getOwnerGrading.js","sagas/pages/dashboard/downloadOwnerScorecard.js","sagas/pages/dashboard/index.js","sagas/pages/index.js","sagas/file/download.js","sagas/file/remove.js","sagas/file/add.js","sagas/file/index.js","sagas/filePsmAudit/download.js","sagas/filePsmAudit/remove.js","sagas/filePsmAudit/add.js","sagas/filePsmAudit/get.js","sagas/filePsmAudit/index.js","sagas/archive/company/get.js","sagas/archive/company/recover.js","sagas/archive/company/index.js","sagas/archive/user/get.js","sagas/archive/user/recover.js","sagas/archive/user/index.js","sagas/archive/index.js","sagas/settings/configuration/get.js","sagas/settings/configuration/update.js","sagas/settings/configuration/index.js","sagas/settings/BLSData/get.js","sagas/settings/BLSData/update.js","sagas/settings/BLSData/index.js","sagas/settings/index.js","sagas/header/notifications/list.js","sagas/header/notifications/delete.js","sagas/header/notifications/createFollow.js","sagas/header/notifications/createUnfollow.js","sagas/header/notifications/acceptFollow.js","sagas/header/notifications/rejectFollow.js","sagas/header/notifications/uploadExpiration.js","sagas/header/notifications/index.js","sagas/review/get.js","sagas/review/save.js","sagas/review/update.js","sagas/review/downloadFile.js","sagas/review/index.js","sagas/addendumFile/downloadByFormBuilderFieldId.js","sagas/addendumFile/downloadByFormBuilderFieldAnswerId.js","sagas/addendumFile/index.js","sagas/workingHours/get.js","sagas/workingHours/update.js","sagas/workingHours/exportXlsxWorkingHours.js","sagas/workingHours/canExportWorkingHours.js","sagas/workingHours/index.js","sagas/workingHourNotes/update.js","sagas/workingHourNotes/index.js","sagas/index.js","reducers/auth/check.js","reducers/auth/login.js","reducers/auth/resetPassword.js","reducers/auth/setNewPassword.js","reducers/auth/acceptInvitation.js","reducers/auth/index.js","reducers/entity/index.js","reducers/company/create.js","reducers/company/list.js","reducers/company/favoriteOwnerList.js","reducers/company/index.js","reducers/currentCompany/workCategory.js","reducers/currentCompany/service.js","reducers/currentCompany/finInfo.js","reducers/currentCompany/user.js","reducers/currentCompany/reference.js","reducers/currentCompany/parentCompany.js","reducers/currentCompany/organization.js","reducers/currentCompany/officer.js","utils/constants/yesNoQuestions.js","reducers/currentCompany/companyInfo.js","reducers/currentCompany/healthProf.js","reducers/currentCompany/insurancePolicy.js","reducers/currentCompany/info.js","reducers/currentCompany/emrate.js","reducers/currentCompany/ownerAddendum.js","reducers/currentCompany/injuryIllness.js","reducers/currentCompany/craftsman.js","reducers/currentCompany/contractorAddendum.js","reducers/currentCompany/questions.js","reducers/currentCompany/settings.js","reducers/currentCompany/companyAdminInfo.js","reducers/currentCompany/index.js","reducers/currentCompany/yesNoQuestions.js","reducers/pages/yesNoQuestionsAll.js","reducers/pages/dashboard.js","reducers/pages/unofficialGrade.js","reducers/pages/index.js","reducers/file/index.js","reducers/file/file.js","reducers/filePsmAudit/index.js","reducers/archive/company.js","reducers/archive/user.js","reducers/archive/index.js","reducers/settings/settings.js","reducers/settings/BLSData.js","reducers/settings/index.js","reducers/header/notifications/index.js","reducers/review/index.js","reducers/addendumFile/index.js","reducers/addendumFile/addendumFile.js","reducers/workingHours/list.js","reducers/workingHours/index.js","reducers/workingHourNotes/update.js","reducers/workingHourNotes/index.js","reducers/index.js","createStore.js","App.js","index.js"],"names":["HttpError","message","status","body","name","constructor","Error","captureStackTrace","stack","createHeadersFromOptions","options","requestHeaders","headers","Headers","Accept","has","method","FormData","set","delete","user","authenticated","token","downloadFile","response","a","fileName","decodeURI","get","replaceAll","format","Date","blob","url","window","URL","createObjectURL","Blob","link","document","createElement","href","setAttribute","appendChild","click","parentNode","removeChild","console","error","fetchJson","fetch","json","includes","text","JSON","parse","e","Promise","reject","messages","statusText","resolve","isValidObject","stringify","value","isArray","Array","isBuffer","Buffer","isObject","Object","prototype","toString","call","hasKeys","keys","length","flattenObject","path","assign","map","key","concat","join","module","exports","createProxy","Proxy","object","target","RangeError","x","prefix","filter","reduce","p","c","API_URL","API_AUTHORIZATION_URL","httpStatusCodes","fileUploadUrl","filePsmUploadUrl","fileAddendumUploadUrl","userTypes","createEnum","SafetyCouncil","Owner","Contractor","contractorLevelEnum","BasicContractor","PsmContractor","contractorLevels","contractorLevelPathEnum","companyTypes","pqfStatuses","Completed","title","InProgress","Rejected","PendingReview","Empty","reviewStatuses","createStatusesOptionsEnum","obj","acc","id","statusesOptions","pqfStatusesEnum","recursiveKey","item","sub","routeCreator","companyPrefix","public","login","resetPassword","setNewPassword","invitationAccept","private","index","notFound","testYesNoQuestions","report","settings","review","fileDownload","company","list","new","questions","temp","users","settingsInfo","sectionKey","officers","parentCompany","insurancePolicies","financialInformation","organizationInformation","workCategories","services","references","legal","citations","emr","envprog","hearconserv","respprot","hazardcomm","environmentalManagement","osha","spillwaste","substabuse","empeng","medprog","envmeet","protecteq","corrproc","equipmat","subprog","inspprog","envtrain","craftsmanCertification","workfordev","envdoc","ownerAddendum","injuryIllness","contractorAddendum","systemSettings","archiveCompany","archiveUser","bls","undefined","useStyles","makeStyles","container","minHeight","CenteredContainer","children","classes","Container","disableGutters","Grid","className","justify","alignItems","start","end","check","requestState","logout","acceptInvitation","add","create","addToFavorite","export","getFavoriteOwnerList","remove","companyInfo","validation","updateConditions","update","workCategory","service","finInfo","resend","reference","updateJobInfo","organizationInfo","officer","yesNoQuestions","healthProf","insurancePolicy","info","updateImage","deleteImage","emrate","craftsman","download","uploadSize","companyAdminInfo","dashboard","submitDocument","documents","loadDocument","gradeDownload","updateCondition","unofficialGrade","loadAllUploadDocument","downloadPQFScorecard","getOwnerGrading","downloadOwnerScorecard","put","recover","configuration","BLSData","createFollow","createUnfollow","acceptFollow","rejectFollow","uploadExpiration","save","downloadByFormBuilderFieldId","downloadByFormBuilderFieldAnswerId","exportWorkingHours","canExportWorkingHours","numberString","replace","dateCheck","this","test","isValid","parseISO","getCurrentRequiredYear","now","currentYear","getYear","getMonth","getLastYearsList","getCurrentYear","from","_","getLastYearsOptions","year","label","getCurrentYearsOptions","getCurrentYearsList","favoriteEnum","true","false","overdueEnum","enums","frequency","daily","weekly","monthly","quarterly","annually","asNeeded","uponHire","biweekly","yesno","Yes","No","yesnona","fleetIndividualInsurance","Fleet","Individual","yesNoOptions","createOptionsEnum","frequencyOptions","yesnoOptions","yesnonaOptions","favoriteOptions","overdueOptions","email","required","requiredMin8","requiredMax50","confirmPassword","incorrectPassword","requiredCompanyNameMax100","phoneIncorrect","faxIncorrect","urlIncorrect","requiredUrlMax255","requiredNameMax255","requiredCustomerNameMax255","requiredTaxIdNineDigits","requiredNumberNineDigits","requiredStreetNameMax255","requiredCityMax255","requiredZipMin5","requiredStateContractorNumberMax255","requiredAverageNumEmployeesMin1","requiredNumEmployeesMin1","requiredUserFirstNameMax100","requiredUserLastNameMax100","requiredUserSurnameMax100","requiredUserEmailMax255","valueIncorrect","requiredTitleMax100","requiredCertificationsMax255","requiredReportsToMax201","requiredDescriptionMax255","requiredBankReferencesMax100","requiredFinRatingMax4","minProjectSizeComparison","maxProjectSizeComparison","file","bigFileSize","maxFileSize","requiredParentCompanyNameMax255","requiredCompanyNameMin3","requiredMinLessThanMax","requiredMaxMoreThanMin","maxNumberValue","minCreatedYears","cascadeYearList","requiredCraftsmanMax100","subsidiaryCount","requiredTypeOfWorkMax255","maxDate","minDate","invalidDate","requiredTitleMax20","requiredFirstNameMin3","requiredLastNameMin3","requiredNameMin3","requiredCustomerNameMin3","requiredCityMin3","requiredStreetMin3","requiredAddressMin3","requiredDescriptionMin10","requiredMinChars3","requiredMinChars5","requiredMinChars10","requiredQuestionTitleMax100","requiredQuestionTitleMax255","requiredQuestionMin3","requiredQuestionOptionMin3","requiredQuestionOptionMax255","requiredValueMax100","requiredRejectReasonMin10","requiredRejectReasonMax255","maxNumberFieldValue","minNumberFieldValue","requiredParagraphMin1","requiredParagraphMax255","requiredServicesMax3","passwordRegex","urlRegex","getPhoneNumberTest","isRequired","sessionStorage","getItem","Yup","ref","type","params","currentValue","refineNumberString","refData","refValue","compare","parseFloat","date","isBefore","isAfter","signInSchema","shape","password","resetPasswordSchema","setNewPasswordSchema","min","max","matches","oneOf","createCompanySchema","companyName","trim","phoneNumber","emailAddress","website","taxId","officersSchema","ceo","dateHired","nullable","president","isPositionExist","notRequired","vicePresident","treasurer","bidManager","firstName","lastName","phone","parentCompanySchema","isParentCompanyExist","isSubsidiaryExist","when","is","then","shema","streetAddress","street","city","state","zip","subsidiaryTableSchema","tableData","schema","insurancePolicySchema","insurancePolicyContactInfo","generalLiability","expirationDate","otherwise","amount","workersCompensation","vehicle","vehicleInsuranceType","autoinsur","parent","hasVehicleInsurance","count","financialInfoSchema","minProjectSize","compareNumbers","maxProjectSize","bankReference","dunsNumber","finRating","saveCompanyInfo","yearCreated","webSite","mailingAddress","stateContractorNumber","contactPersonFirstName","contactPersonLastName","localContactPersonFirstName","localContactPersonLastName","localEmailAddress","localPhoneNumber","description","createOrganizationInfoSchema","incorporationState","formOfBusiness","percentMinorityOwned","eeoCategory","incorporationDate","orgInfoTableSchema","createUserFormSchema","editUserFormSchema","referencesFormSchema","customerName","typeOfWork","jobSize","contactInfo","environmentalSchema","certifications","reportsToName","reportsToTitle","contactPersonTitle","largestJobForm","emrTableSchema","finInfoTableSchema","filterCompanyListShema","fileStack","of","size","evenFile","grades","aemin","aemax","lcmin","lcmax","bcmin","bcmax","filterArchiveCompanySchema","filterArchiveUserSchema","userName","injuryValidateRow","totalHours","fatalities","lostWorkdayRestricted","lostWorkdayAway","injuriesAndIllnessMedicalOnly","totalOsha","totalDaysAwayFromWork","lastYearsList","getLastRequiredYearsList","slice","injuryValidateSchema","years","listSelectedYears","parseInt","craftsmanValidateRow","specialty","other","craftsmanValidateSchema","compliesWithSLCUC","compliesWithGoldenTriangle","hasTrainingPrograms","hasPracticalTestingPrograms","isNccerAssessmentCenter","trainingPrograms","fields","practicalTestingPrograms","rejectReasonsSchema","comment","uploadSizeFormSchema","maxFileSizeMb","filterQuestions","questionTitle","EMRSchema","anniversaryDate","validateCompanySettings","notificationEmails","servicesPerformedSchema","otherText","others","subscriptionExpirationDate","adminNotes","theme","percentage","fontSize","typography","h5","padding","height","input","width","border","paddingTop","paddingBottom","boxShadow","PhoneFlagInput","onChange","inputRef","setFieldValue","field","countryDataFormatKey","countryDataDialCodeKey","specialLabel","placeholder","country","onMount","_value","countryData","formattedValue","setItem","dialCode","persist","inputProps","containerClass","inputClass","integerRegex","floatRegex","decimalsRegex","textOnlyRegex","FormInput","handleChange","isIntegerInput","isFloatInput","maxLength","form","errors","touched","number","textOnly","tabIndex","props","fieldProps","itemError","itemTouched","isValidNumber","isValidInput","minNumber","regex","getRegex","rawValue","parsedValue","TextField","fullWidth","variant","helperText","InputProps","inputComponent","phoneInput","startAdornment","InputAdornment","position","endAdornment","Typography","InputLabelProps","shrink","paper","spacing","maxWidth","inputRow","margin","backdrop","zIndex","modal","color","palette","primary","LoginForm","loading","handleSubmit","Paper","Backdrop","timeout","open","CircularProgress","initialValues","validationSchema","onSubmit","noValidate","align","gutterBottom","component","sm","Link","to","routes","Button","top","BrowserSupportMessage","navigator","userAgent","indexOf","backgroundImage","image","backgroundSize","backgroundPosition","LoginPage","dispatch","useDispatch","useSelector","auth","Helmet","values","payload","ResetPasswordForm","ResetPasswordPage","SetNewPasswordForm","SetNewPasswordPage","useParams","containerPage","display","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","gridGap","headerGutter","gridArea","drawer","contentContainer","tabs","tab","minWidth","opacity","useUserPermissions","userId","entity","companyType","companyId","userCompanyId","allowUpdate","MainMenu","privateRoutes","pathname","useLocation","menu","startsWith","Tabs","indicatorColor","Tab","containerLabel","textAlign","textTransform","backgroundColor","textDecoration","labelText","marginRight","textOverflow","whiteSpace","overflow","avatar","icon","common","black","fullSize","notificationIcon","cursor","relativeContainer","buttonsWrapper","rejectButton","main","white","dark","warningTitle","linkTitle","notificationStatus","NotShared","Pending","Accepted","acceptFollowSuccess","rejectFollowSuccess","dismissedSuccess","userActionStatus","dateObj","EmptyNotifications","alignSelf","PageLoader","notificationPopper","notificationContent","maxHeight","scrollbarWidth","overflowX","notificationItem","borderBottom","grey","NotificationsPopper","anchorEl","openNotifications","setOpenNotifications","notificationsListLength","notificationsList","loadingNotificationId","renderNotificationItem","dismissHandler","Popper","transition","disablePortal","placement","TransitionProps","Grow","style","transformOrigin","ClickAwayListener","onClickAway","MenuList","autoFocusItem","userAction","FollowRequest","useState","showAddendumWarning","setShowAddendumWarning","notificationId","notificationEntities","OwnerAddendum","SenderCompany","senderCompanyName","senderCompanyId","getUserAction","onClick","ownerAddendumId","headerNotification","handleAccept","handleReject","Dialog","onClose","DialogTitle","disableTypography","DialogActions","FollowRequestApprove","RecipientCompany","ContractorAddendum","senderCompanyLink","formatPath","FollowRequestReject","UploadExpiration","userType","isSafetyCouncil","isOwner","isContractor","MailingLogId","MailingLog","MailingDate","formatDate","createDate","isModalOpen","setIsModalOpen","useEffect","uploadExpirationData","headerNotifications","uploadExpirationBody","uploadExpirationItems","split","disableBackdropClick","Collapse","in","xs","loadingContainer","dangerouslySetInnerHTML","__html","ReviewApprove","ReviewReject","ReviewRequest","PqfDocument","Company","pqfDocumentId","templateMessage","UserLabel","handleLogout","items","anchorRef","useRef","anchorBadge","store","setOpen","Badge","badgeContent","current","sharedInfoCompanyId","RequestComponent","typeKey","requestComponentType","aria-haspopup","disableRipple","Avatar","alt","src","logoWrapper","verticalAlign","menuWrapper","linksWrapper","Header","AppBar","paperContainer","lg","logo","optionTypes","companyRolesSelection","All","companyRolesSelectionOptions","typesEnum","skipFalsyValues","uploadHelpers","uploadKeys","uploadValues","createFileValue","clear","createList","deleteList","uploadSelector","PaginationComponent","itemsPerPage","total","handleClick","limit","offset","root","body1","select","paddingLeft","SelectRow","defaultValue","Select","disableUnderline","option","rows","PaginationWithCustomRows","currentPage","onPageChange","onRowAmountChange","rowOptions","Pagination","TooltipWrapper","tooltip","Tooltip","arrow","LinkWrapper","showLink","Ellipsis","typographyVariant","lines","setTooltip","tag","ellipsisChars","onResult","result","TextEllipsis","RESULT","TRUNCATED","AdminDialog","onCancel","note","DialogContent","dividers","AdminPopUp","handler","iconClassName","tooltipTitle","disabled","IconButton","ModalDialog","onConfirm","autoFocus","IconWithPopUp","success","labels","FillingCell","valid","completed","inProgress","warning","rejected","pendingReview","light","background","tooltipArrow","reviewPqf","caption","successPQF","rejectPQF","CellStatus","currentPqfDocumentId","rejectReason","completedOn","showReviewForOwner","Wrapper","leaveDelay","colorPrimary","containedPrimary","favoriteIcon","notFavoriteIcon","FavoriteCell","loadingListAddToFavorite","handleAddToFavorite","isFavourite","modalOpen","setModalOpen","OverdueCell","overdue","ExpDate","expDate","warningTime","isPSM","subDate","todayDate","fullDate","day","getDate","month","getFullYear","toLocaleDateString","soonToExp","setMonth","expired","columnEnum","favorite","grade","ownerGrade","psmCompleteDate","actions","FormCheckbox","labelPlacement","labelClassName","checkboxClassName","FormControlLabel","control","Checkbox","checked","ConfigureModal","setOpenModal","visibleColumns","setVisibleColumns","column","resetForm","sortDirection","Ascending","Descending","marginLeft","table","CompanyListTable","companies","handleDelete","noFiltersSelected","handelSort","order","openModal","columns","render","typeName","sortField","defaultSort","sorting","level","isPqfValid","withOverdue","columnName","getColumns","isLoading","data","search","editable","draggable","toolbar","paging","thirdSortClick","tableLayout","onOrderChange","orderBy","orderDirection","opositDirection","direction","icons","SortArrow","forwardRef","localization","emptyDataSourceMessage","localStorage","getMask","numberMask","createNumberMask","thousandsSeparatorSymbol","dollarMask","allowDecimal","integerLimit","dollar10Number","floatMask","decimalLimit","commaDivideMask","maskTypes","anyNumber","floatNumber","dollarNumber","commaDivide","dollarMaskTenNumbers","fromZero","fromOne","MaskedInput","maskType","inputElement","mask","guide","showMask","FormNumberInput","MultiselectDropdown","_ref","grouped","selected","_objectWithoutProperties","defaultValues","React","Autocomplete","multiple","disableCloseOnSelect","groupBy","groupName","getOptionLabel","renderOption","_ref2","Fragment","renderInput","selectedValues","selectedValuesIds","v","updatedOptions","dash","MinMax","names","minValues","maxValues","masktype","minName","maxName","Effect","submitForm","debounceFunc","isFavouriteContractor","states","companyUser","cancel","button","ShowMoreLessButton","moreFilter","setMoreFilter","ClearButton","isEmptyForm","clearFilterValues","ShowMoreLessFilters","recursiveInclude","q","sort","b","changeNullToEmptyString","dateKeys","formatDateForInitialValues","formatISO","representation","changeEmptyStringToNull","changeZeroToEmptyString","keysArray","merged","forEach","addDollarCommaSigns","anyFilters","isEmptyFilterForm","getValueForRadioButton","convertToYesNo","formatInjuryValue","toFixed","borderColor","UsaStates","abbreviation","interStates","A","B","C","F","TBD","FormAutocomplete","withDescription","find","clearOnEscape","newValue","content","justifyContent","closeButton","right","ExportWorkingHoursModal","isOpen","onExport","dialogProps","yearOptions","useMemo","reverse","aria-label","validateOnChange","disableClearable","startIcon","WatchEffect","dirty","CreateFilterForm","handleOnChange","allServices","allWorkCategories","handleOnExport","exporting","handleExportWorkingHours","exportingWorkingHours","hiddenValues","checkOpenMore","clearValues","isExportWorkingHoursModalOpen","setIsExportWorkingHoursModalOpen","isSafetyCouncilUserType","transformedWorkCategories","group","category","transformStates","usaStates","transformGrades","debounce","handleExportWorkingHoursModal","prev","setValues","paperContent","flexWrap","PaperWrapper","restProps","Marketplace","handleFilter","fullInfoLoading","handleChangePage","filterValues","handleRowAmountChange","selectedSortField","handleExport","useCompanyInfo","currentUser","currentCompanyId","isBasicContractor","CompanyList","newTokenRequest","location","workingHours","qs","comma","pagination","page","perPage","_objectSpread","encodeURIComponent","fullInfo","ownerCompanyId","saveValues","defaultColumn","MarketPlace","push","arrayFormat","encode","skipNulls","updatedFilterValues","skipNull","async","FormSelect","specialFilter","isDec","containerForm","pointerEvents","FormBody","alignContent","buttonStyles","h2","submitAppBar","bottom","fixed","WarningDocumentUpdate","handleClose","handleConfirm","skipResetValidationAfterSuccess","WarningDocumentCreate","LoadingButton","skipCheckPQF","openConfirmModal","setOpenConfirmModal","openCreateNewPQFModal","setOpenCreateNewPQFModal","currentPqfDocumentStatus","currentCompany","pqfStatus","dialogWrapper","borderWidth","borderTopColor","borderTopStyle","PromptNotification","formStatus","promptConfirm","CreateCompanyForm","fax","newValues","isSubmitting","companyRoleTypes","CreateNewCompany","showStatus","setShowStatus","CertificationIcon","Certification","TrainingIcon","GeneralIcon","listStyle","menuTab","submenuBlock","left","borderLeft","transform","active","wrapper","hasCurrentChild","isAccentColor","childContainer","menuIcon","menuItemWidth","iconContainer","lineHeight","hardcodeKeys","YearCreated","StateContractorNumber","Description","MailingAddressCity","MailingAddressState","MailingAddressZip","MailingAddressStreet","StreetAddressCity","StreetAddressState","StreetAddressZip","StreetAddressStreet","CeoEmailAddress","BidManagerContactInfoContactPersonFirstName","BidManagerContactInfoContactPersonLastName","BidManagerContactInfoContactPersonTitle","BidManagerContactInfoEmailAddress","BidManagerContactInfoPhoneNumber","BidManagerContactInfoFaxNumber","InsurancePolicyContactInfoContactPersonFirstName","InsurancePolicyContactInfoContactPersonLastName","InsurancePolicyContactInfoContactPersonTitle","InsurancePolicyContactInfoPhoneNumber","InsurancePolicyContactInfoFaxNumber","insurpolQ13","GeneralLiabilityName","GeneralLiabilityExpirationDate","GeneralLiabilityAmount","IsParentCompanyExist","IsSubsidiaryExist","OrganizationInformationFormOfBusiness","OrganizationInformationIncorporationDate","OrganizationInformationIncorporationState","OrganizationInformationPercentMinorityOwned","OrganizationInformationEeoCategory","CompanyServices","CompanyWorkCategories","DunsNumber","BondingCapacity","FinRating","BankReference","CompanyLargestJobAmount","CompanyLargestJobCustomerName","CompanyLargestJobDescription","Certifications","ReportsToName","ReportsToTitle","ContactPersonFirstName","ContactPersonLastName","ContactPersonTitle","EmailAddress","PhoneNumber","EmrInfoSic","EmrInfoNaics","EmrInfoState","EmrInfoAnniversaryDate","CompanyCraftsmenCertificationQuestion","CeoName","CeoDateHired","PresidentIsPositionExist","VicePresidentIsPositionExist","TreasurerIsPositionExist","WorkersCompensationIsSelfInsured","HasVehicleInsurance","BankLineOfCredit","MinProjectSize","MaxProjectSize","NetWorth","CompanyCraftsmenCertificationQuestionCompliesWithSLCUC","CompanyCraftsmenCertificationQuestionCompliesWithGoldenTriangle","CompanyCraftsmenCertificationQuestionHasTrainingPrograms","CompanyCraftsmenCertificationQuestionHasPracticalTestingPrograms","CompanyCraftsmenCertificationQuestionIsNccerAssessmentCenter","contlicense","emrdoc","oshadoc","certificate","OrganizationInformationAverageNumberOfEmployees","HealthProfContactPersonFirstName","HealthProfContactPersonLastName","HealthProfContactPersonTitle","HealthProfEmailAddress","HealthProfPhoneNumber","Emr1Year","workerins","finaudit","yesNoKeys","qestions","MenuTooltip","validationKey","childrenPage","validationFields","warn","isCurrent","MenuItem","validKeys","loadingKeys","showValidation","Icon","isValidCurrent","isHasValidation","child","ValidationStatus","Done","borderTop","subMenu","back","containerIcon","subtitle2","BackButton","memo","menuWithId","addIdToItems","uuidv3","DNS","childId","getActive","setActive","setHeight","wrapperRef","querySelector","scrollHeight","data-menu-id","titleWrapper","wordBreak","listItem","paddingRight","activeUser","navigationMenu","ownerAddendumList","selfCompany","companyRoutes","ownCompany","listAddendumCompany","pathAddendum","ownerId","getRouteType","adminPanel","AccountBalanceIcon","EqualizerIcon","AssignmentIcon","AttachFileIcon","SettingsIcon","DescriptionIcon","gradingRoutes","ContactSupportIcon","PeopleAltIcon","ArchiveIcon","userTypesSidebarMenu","disablePadding","ListItem","ListItemText","tagClass","MenuCompany","emptyDataWrapper","marginTop","tableWrapper","borderTopWidth","lastLoginDate","headCellsEnum","generalInfo","AllHeadCells","UserTableHead","adminAccount","onRequestSort","TableRow","cell","headCell","TableCell","TableSortLabel","property","event","hideSortIcon","formWrapper","tableCell","saveButton","EditUserForm","setUserToEdit","onConfirmEditUser","scope","Row","updatingUserIds","handleUpdateUser","handleResendInvitation","handleDeleteUser","isUserToEdit","colSpan","UsersTable","userListData","setOrder","setOrderBy","desc","toLocaleLowerCase","isAsc","TableBody","array","stabilizedThis","el","stableSort","getSorting","row","CreateNewUserForm","setShowUserForm","Box","UsersListData","handleCreateUser","createSuccess","showUserForm","CreateNewUser","CompanyUserList","ids","formatPageTitle","h1","PopupLink","single","clearTokens","keyForException","localStorageKeys","saveTokens","dataKeys","toLowerCase","accessToken","hasTokens","username","getHeaders","SkipResetValidationAfterSuccess","reauthenticateIfNeeded","apiAuthUrl","permissionsUrl","clearTokensData","saveTokensData","refreshToken","request","Request","controlGetData","formData","statusUpdate","onError","getData","res","percent","xhr","XMLHttpRequest","upload","onprogress","Math","ceil","loaded","onerror","setRequestHeader","send","onload","fileUploader","stackFiles","progressCallback","stackResults","i","append","dropBody","dropped","marginBottom","outline","alignCenter","DropZone","accept","onDrop","onUploadUpdate","onUploaded","onUploadStart","notification","maxFileSizeUpload","useDropzone","onDropAccepted","acceptedFiles","filesClaim","uuidv4","getRootProps","getInputProps","borderRadius","determinate","transparent","barColor","isError","ProgressBar","LinearProgress","bar1Determinate","DeleteFile","isDocumentList","popupTitle","openPopup","setOpenPopup","ModalConfirmation","fileForm","compensateLocalTimeShifting","dateStr","dateTimestamp","dateYear","janDate","julDate","getTimezoneOffset","getTimezoneOffsetWithoutDST","toISOString","FormDatePicker","setFieldTouched","disableFuture","disablePast","defaultDate","useDefaultDate","refUseDefaultDate","autoOk","disableToolbar","inputVariant","stringVal","KeyboardButtonProps","UploadItem","defaultExpiration","completedBy","formPrefix","handleRemove","todaysDate","getUTCFullYear","expiration","noWrap","FileUploads","handleUploaded","fileStatuses","setFilesStatus","prevState","arrayHelpers","files","handleDrop","modalContainer","actionOffsets","acceptFormat","commonFileFormat","psmAuditFormat","UploaderModal","handleSave","uploadedFiles","setUploadedFiles","allFilesIsUploaded","setAllFilesIsUploaded","fileId","expirationDateOption","completedOnOption","completedByOption","hasErrorOnUploadedFile","imageContainer","textContainer","subtitle1","types","doc","DocType","docx","DocxType","jpg","JpgType","pdf","PdfType","png","PngType","tiff","TiffType","default","DefaultType","FileType","disableIcon","tableRow","wordWrap","FileList","downloadList","handleDownload","TableHead","DocumentList","hasPermissions","tableBody","downloadText","FileUploader","uploaderTitle","listType","cardTitle","handleSaveFiles","popupOpen","setPopupOpen","setPagination","List","filesFiltered","prevPagination","val","FileUploaderController","handlePsmSubmit","handleUpdate","loadingOnAdd","filePsmAudit","deleteOld","isTempFile","tempFile","newFiles","FileUploaderInput","devider","OfficerManagerSubForm","OfficersSubForm","itemClasses","radio","FormRadio","RadioGroup","Radio","YesNoQuestion","OfficersSubFormWrapper","isOfficerExists","formNames","questionName","QuestionWithOptions","getValue","CreateOfficersForm","dbValues","requestInProgress","enableReinitialize","Divider","CreateOfficers","contentOverflowWrapper","labelWrapper","labelCheckboxRight","checkboxLeft","boxWrapper","flexDirection","textArea","calendarWrapper","CompanyInfoSubForm","views","cardWrapper","flex","cardActionAreaWrapper","labelImageWrapper","cardMediaWrapper","backgroundRepeat","inputInvisible","visibility","errorTitle","LogoUploadForm","imageLink","logoLink","validSize","setValidSize","isValidSize","Card","CardActionArea","htmlFor","CardMedia","handleFormInputAddressChange","isMailingAddressTheSame","CompanyInfoForm","formattedInitialValues","baseType","handleCheckboxAddressChange","handleAutoCompletedAddressChange","md","hasStateContractorLicense","isoCertified","multiline","CompanyInfo","innerWrapper","EditForm","setItemToEdit","amountFieldName","amountFieldNumber","amountFieldMaskType","amountFieldComponent","TableDisplay","onDeleteConfirm","setItemToDelete","onEditConfirm","itemToEdit","itemToDelete","isLastItem","tableFormWrapper","fieldItem","buttonContainer","FieldFormContainer","initialTableValues","fieldName","fieldNumber","fieldMaskType","fieldComponent","getYearsOptions","getAvailableLastYearsOptions","every","isFormDisplayed","TableContainer","setTableData","setData","updateData","newData","uploadWrapper","formUpdate","FinInfoSubForm","CreateFinancialInfoForm","financialInfo","financialArrays","changed","setStatus","handleSubmitClick","valuesToSend","saveId","canSubmit","CommonTable","isEqual","valuesDollarAmount","FinancialInformation","formattedValues","removeDollarCommaSigns","formRadioContainer","itemContainer","FormRadioControl","valuesAfterHide","newField","ParentCompanySubForm","tableContainer","nameInput","buttonSection","SubsidiaryInputForm","SubsidiaryContainer","ParentCompanyForm","subsidiaries","companyData","submit","existingSubsidiaries","newSubsidiaries","subsidiary","ParentCompanyPage","InsuranceSubForm","subFormContainer","divider","AutomobileInsuranceSubForm","companyInsuranceName","FormRadioController","parentobject","condition","keyValue","InsurancePolicyForm","policies","setAmountOnSubmit","isSelfInsured","InsurancePolicyPage","bussinessFormTypes","Partnership","Professionals","Technicians","Sales","OrganizationInfoSubForm","businessFormTypes","eeoCategoryTypes","transformTableValues","OrganizationInfoForm","organizationArrays","setFormStatus","tableStatus","setTableStatus","averageNumberOfEmployees","setAverageNumberOfEmployees","handleSubmitOnForms","average","Number","getAverage","OrganizationInfo","organization","tableTitle","columnTitle","checkboxContainer","titleOffset","CategoriesForm","categories","groups","allowedCategories","categoryId","isEmployee","isSubContractor","WorkCategories","categoriesEntity","workCategoryGroup","checkBoxItem","collapseRow","collapseRowInner","ServicesPerformedForm","companyServices","baseItems","currentItem","checkedIds","othersText","wrapperInner","ServicesPerformedPage","ReferencesSubForm","setValueToShowForm","LargestJobForm","buttons","ReferencesEditForm","loadingOnTable","onConfirmEditReference","ReferenceTable","onConfirmDeleteReference","wrap","zeroMinWidth","ReferencesForm","mapedReferences","largestJobData","handleUpdateLargestJob","setReferences","toShowForm","ReferencesPage","largestJobInfo","itemId","validateField","YesNo","YesNoNA","Text","Section","string","Frequency","Uploads","defaultSchema","YesNoFieldType","textField","isTextArea","formatTypes","TextFieldType","FrequencyFieldType","UploadFieldType","FieldComponent","detail","disabler","formikValues","disablingFieldNames","YesNoFormConstructor","validateSchema","_children","normalizeFields","initialFields","answer","feilds","formValues","hasParent","isRequiredForForm","parentId","isParentSection","showOnCondition","parentAnswerCondition","validValueRule","createValidationSchema","validateOnMount","validateOnBlur","fieldStack","submitCount","deepOffset","deep","parentContainer","offsetTop","QuestionStructure","show","containerPaper","containerChild","PopoverPopup","setAnchorEl","currentTarget","Popover","Boolean","anchorOrigin","vertical","horizontal","CreateEnvironmentalForm","healthProfile","requiredForBasicContractor","requiredForPsmContractor","setQuestionStructure","CreateEnvironmentalManagement","param","submitValues","questionList","updateProfile","updateQuestions","enumTypes","Title","Dropdown","Paragraph","File","labelEnums","typeOptions","FormButtons","handlePreview","hasValues","AddRow","handleAdd","Fab","FormSwitch","Switch","SingleFileUploaderController","fileNameFieldName","uploadUrl","addendumFile","getFieldMeta","SingleFileUploaderInput","DragHandle","SortableHandle","SortableElement","SortableList","SortableContainer","arrayVal","OptionList","useFormikContext","onSortEnd","oldIndex","newIndex","updateListOptions","arrayMove","useDragHandle","collapseContainer","handleAddQuestion","generateId","generated","hasChild","isActive","getChildrenByRule","FormSelectController","handleClearFields","valObj","isFile","useField","fileIdFieldMeta","objValues","elevation","CardContent","initialValue","currentValues","childrenKeys","keyName","currentParent","SortableWrap","lockAxis","arr","listNewIndex","normalizeValuesWithId","questionId","TitleType","TextType","readOnly","YesNoType","NumberType","ParagraphType","DropdownType","createOptions","DateType","LinkType","formBuilderFieldId","formBuilderFieldAnswerId","SingleQuestion","preview","listKeys","answersLib","isShow","createInitialValues","answers","setSkipCheckPQF","objLib","createObjLib","getAnswers","setTimeout","FormBuilder","saving","previewModal","setPreviewModal","normalizeValues","convertValues","createStructure","generateKey","onExited","ContractorAddendumForm","contractorLevelPath","contractorLevel","TableActions","currentRequiredYear","yearValue","canDelete","errorColumn","canSave","setTouched","edit","rate","typographyRate","calculateFormat","round","FormCell","yearTotalHoursRefined","dart","getStateOfRate","TitleCell","buttonNew","parts","InjuryIllnessForm","setTabIndex","injury","formatCommaSeparator","generateCurrentOptions","created","exceptions","yearOrdering","sortedValues","formHelper","existYears","generate","generateValues","available","handleAddYear","editHandle","InjuryIllness","gap","getMonthName","monthNumber","months","hours","getInitialValues","selectedYear","withSearchByOwner","selectedOwner","setSelectedOwner","setSelectedYear","ownerList","workingHoursList","ownersOptions","FormControl","notes","WorkingHourNotesForm","workingHoursData","contractorId","workingHourNotes","WorkingHoursForm","withExportWorkingHours","withNotes","contractorCompanyId","workingHoursSubmitEnabled","fixEmptySection","YesNoQuestionsTypical","YesNoQuestionDefault","YesNoQuestionTypical","endsWith","updateStack","fileContainer","contentForPopover","EMRateInfoForm","emrInfo","naicsCodes","naicsOptions","code","sic","sicCodes","EMRateForm","emrArrays","naicsIdArray","naicsCode","naicsId","emrs","EmrRateInfo","EMRatePage","EMRate","borderStyle","CraftsmanTableRow","categoryKey","rowIndex","CraftsmanCertificationSubForm","CraftsmanCertificationForm","craftsmanCertificationsAnswers","changeNotAvailableToNA","modifyArrayFieldsNullToEmptyString","CraftsmanCertification","changeNAtoNotAvailable","modifyArrayFieldsEmptyStringToNull","mark","IsFilledOut","IsNotFilledOut","IsEqualTo","IsNotEqualTo","checkbox","yesNo","IsYes","IsNo","IsNA","IsGreaterThan","IsLessThan","IsBefore","IsAfter","IsBeforeToday","IsAfterToday","HasUploadedFiles","NoFilesUploaded","NumberOfFilesIs","HasRecords","DoesNotHaveRecords","NumberOfRecordsIs","dropdown","None","Mark","Upload","Table","emptyValueFieldKeys","QuestionType","optionQuestionTypes","scores","WithScores","WithoutScores","scoreTypes","visibilityTypes","visibilityOptions","ButtonIcon","updateList","handleModal","section","companyRules","gradeList","getMaxScore","cellStyle","headerStyle","rowData","dropdownOptions","Type","optionsCompanyRoleTypes","State","optionsUsaStates","FormOfBusiness","optionsBusinessFormTypes","EeoCategory","optionsEeoCategoryTypes","Sic","optionsSicCodes","VehicleType","FormTypes","optionType","pqfFieldId","generatedefaultConditionType","existConditionType","conditionType","defaultAdd","conditionValue","fieldType","renderValue","actionsColumnIndex","rowStyle","modalActionsRow","dropdownType","loadedOptions","optionList","opt","SwitchWrapper","countParams","ModalContainer","handleClear","pqfFieldKey","score","questionType","withScores","filterSubContainer","str","getAvailableSections","selectedPage","sections","getRelatedSections","FiltersForm","initialFilterDefinitions","selectedSection","pages","sectionsList","pagesList","getAvailablePages","Questions","setModal","modalData","setModalData","initialFilterValues","Modal","filterDefinitions","bottomContainer","SettingsForm","handleUpdateSize","userOptions","notificationEmailsWorkingHours","SystemSettings","fullData","titleYears","BLSTable","lastYearsData","setEdit","hasPrevYears","rowSpan","BLSIndustry","BLSForm","updating","normalizeData","naics","some","yearItems","BLSFormSchema","BLS","handleRestore","CompanyTable","leading","trailing","ArchiveCompany","FilterForm","archive","deleted","handleRestoreUser","UserTable","ArchiveUser","AutocompleteDropdown","listErrors","freeSolo","renderTags","Chip","onDelete","CompanySettingsForm","notificationEmailsExpiredDocument","allowExportingWorkingHours","CompanySettings","SettingRoutes","role","exact","BLSSettings","CompanyOfficers","InsurancePolicy","ServicesPerformed","ParentCompany","References","CompanyRoutes","sidebarContainer","CompanyLayout","userCompany","match","useRouteMatch","scrollTo","behavior","YesNoQuestionsRenderer","textValidate","renderStructure","YesNoQuestionsAll","yesNoQuestionsAll","log","CompanyLogo","rel","logoPlaceholder","dialogModal","downloadLink","contentWrapper","ListOwnersModal","openGradingModal","ownerName","GradeModal","gradeLetter","handleDownloadGrade","loadingData","maxScore","pqfFieldName","sectionGroup","OwnerGrading","listOwners","ownerGrading","handleDownloadOwnerGrade","setOpenGradingModal","ListOwners","loadingScorecard","fontWeight","defaultBody","textAfter","body2","Grade","GradeSystem","FavoriteButton","plus","actionLabel","ImageUpload","imageSrc","isPlus","stars","phoneContainer","followButton","indicateColor","indicate","nameWrapper","iconError","imageUpload","workingHoursExport","SingleOwnerGrade","WorkingHoursModal","favoriteOwnerList","CompanyCard","ownerGradingSystem","updatingImage","openWorkingHoursModal","setOpenWorkingHoursModal","companyDescription","companyLevel","latestEmrYear","latestEmrAmount","previousFinancialYearBls","previousFinancialYearTrir","workersCompensationAmount","isDraft","listOwnerGrading","handleOpenWorkingHoursModal","canExportOwnWorkingHours","cardContent","cardHeader","h3","CollapseCard","collapse","actionStack","action","CardHeader","titleTypographyProps","gridContainer","OrganizationCard","employees","annualRevenue","ceoName","currentFormOfBusiness","isEmptyContent","formateDate","card","progress","NotificationContainer","ValidationErrorNotification","InProgressNotification","creation","handleSubmitDocument","downloading","getUnOfficialGrade","PendingReviewNotification","Notification","isGenerationStarted","conditions","linkProps","load","CellName","filePqf","handleLoad","CellScore","handleDownloadScoreCard","listLoadingScorecard","CellCompletedOn","completedTimeUTC","zonedDate","utcToZonedTime","completedTime","CellCompletedBy","CellSubmittedBy","submittedBy","Documents","dashboardStyles","overflowY","scrollbarColor","Services","dashboardClasses","AddendumModal","ownerContainer","nameDateWrapper","Addendum","addendum","contractor","ownRoutes","listAddendum","itemA","itemB","dateA","getTime","modDate","owner","ownerCompanyName","documentKey","fileDocument","ExpirationDate","isExpired","DocumentsTable","customSort","createBy","UploadDocuments","uploadDocuments","handleLoadAllDocuments","workCategoryType","workCategoriesValues","findIndex","workCategoriesNames","UploadPsmAuditForm","psmAuditList","psmAudit","AdminPanelCard","DashboardWrapper","currentOwnerGrade","handleAdminPanelCard","widgets","adminLoading","Organization","DashboardPage","documentList","uloadDocumentList","listPsm","getDashboardData","useCallback","documentQuery","companyActionType","Dashboard","rest","pqfRelatedDocumentId","buttonText","NotFound","image404","FileDownload","hash","atob","CompanyId","Id","Key","relocationPath","approve","AdditionalNotes","canApprove","approvedStatus","completerName","completedDate","canReject","handleApprove","reason","header","question","tableStyles","dialogActions","dialogContainer","StatusChecker","EmrTable","InjuryAndIllnessTable","fatalitiesRate","lostWorkdayRestrictedRate","lostWorkdayAwayRate","injuriesAndIllnessMedicalOnlyRate","totalOshaRate","totalDaysAwayFromWorkRate","FileQuestions","phoneKeys","emailKeys","urlKeys","countAnswers","fieldKey","formatAnswer","AnswerTypes","FileQuestion","QuestionItem","questionText","reviewComment","sectionClass","questionClass","QuestionTable","sectionName","Review","pqfDocumentStatus","normalizeList","groupBySectionKey","ReviewPage","MainLayout","PrivateRoute","AcceptInvitationPage","Routes","authState","useHistory","useCheckAuth","PublicRoute","activeLink","colors","red","A100","green","orange","A400","ligth","blueGrey","secondary","blue","inputLabel","cellPadding","letterSpacing","h4","h6","overline","indigo","MuiCssBaseline","MuiLink","MuiTableCell","head","MuiFormLabel","MuiFormHelperText","MuiInputBase","MuiButton","createMuiTheme","overrides","fetchWrapper","sendData","authorizationUrl","errorMessage","fetchUtils","authLogin","loginErrorMessage","successMessages","authProvider","urls","errorMessages","methods","defaultSaveTokens","defaultClearTokens","defaultHasTokens","getPermissions","authorization","checkAuth","checkError","saveTokensLogin","changePassword","urlToSendData","base","change","permissions","forgotPassword","redirectPath","paramsToSend","redirectPrefix","origin","forgot","signUp","newPassword","reset","newParamsToSend","createAuthProvider","Entity","documentScheme","uploadDocumentScheme","checkAuthSaga","FirstName","LastName","CompanyType","CompanyName","CompanyLevel","normalize","userSchema","entities","companyNormalizeData","companySchema","takeLatest","loginSaga","logoutSaga","resetPasswordSaga","setNewPasswordSaga","loginToken","acceptInvitationSaga","generateQuery","query","_start","_end","_sort","_order","dataProvider","apiUrl","httpClient","getOne","resource","getList","pop","getOnly","updateOne","updateOneFormData","updateOnly","createOne","createOneFormData","deleteOne","jsonServerProvider","apiBaseUrl","fetchMethod","createCompanySaga","companyListPageSaga","all","putPayload","deleteCompany","deleteCompanySaga","addToFavoriteCompany","addToFavoriteCompanySaga","IsFavourite","takeEvery","exportXlsx","exportXlsxSaga","getFavoriteList","getworkCategorySaga","listCategories","workCategorySchema","listGroups","workCategoryGroupSchema","updateWorkCategory","updateWorkCategorySaga","getworkCategory","updateworkCategory","getserviceSaga","listCompanyServices","listServices","serviceSchema","information","additionalServices","updateService","updateserviceaga","getService","getFinInfoSaga","finInfoData","finArraysData","uploads","infoData","updateFiles","saveFiles","dirtyValues","fileObj","updateFinInfo","updateFinArrays","createUserSaga","companyUserSchema","isInvitationSent","getUserListSaga","resendUserSaga","updateUserSaga","removeUserSaga","restore","createReferenceSaga","deleteReference","updateReferenceSaga","getReferenceSaga","referenceData","updateJobInfoSaga","createReference","createParentCompanySaga","subsidiariesData","getParentCompanySaga","updateParentCompanySaga","organizationInfoSaga","organizationInfoData","organizationArraysData","getOrganizationInfo","getOrganizationInfoSaga","orgInfoData","orgArraysData","getOfficerSaga","getRespiratoryProtectionSaga","questionsData","updateYesNoAnswer","updateYesNoQuestionsSaga","gethealthProfSaga","profile","getHealthProfSaga","newQuestions","createInsurancePolicySaga","updateInsurancePolicySaga","getInsurancePolicySaga","insurance","getCompanyInfo","fullValidation","getCompanyAdminInfo","companyAdminInfoObject","updateCompanyAdminInfo","getCompanyInfoSaga","updateCompanyInfoSaga","updateCompanyImageSaga","deleteCompanyImageSaga","getEmrSaga","emrInfoData","emrData","createAddendumSaga","getAddendumSaga","getInjuryIllnessSaga","getCraftsmanSaga","craftsmanData","updateCraftsman","getQuestionSaga","definitions","totalCount","updateQuestionSaga","restParams","getSettings","settingsObject","updateSettings","addNotification","notificationSaga","toast","flat","getYesNoQuestionsAllSaga","getSaga","addendumContractor","singleOwner","normalizeDoc","normalizeUploadDoc","uploadDocument","getDashboardDocuments","loadDocumentSaga","loadGradeDocumentSaga","loadUnofficialGradeSaga","loadAllUploadDocumentSaga","documentId","downloadPQFScorecardSaga","ownerGradingSaga","ownerGradingList","downloadFileSaga","removeFileSaga","addFilesSaga","getFileSaga","recoverCompany","recoverCompanySaga","userListPageSaga","recoverUser","recoverUserSaga","getBLSData","updateBLSData","headerNotificationListSaga","deleteSaga","headerNotificationDeleteSaga","createFollowSaga","createUnfollowSaga","rejectFollowSaga","getUploadExpiration","getUploadExpirationSaga","getReviewSaga","questionAnswers","saveReviewSaga","updateReviewSaga","downloadAddendumFileByFormBuilderFieldIdSaga","downloadAddendumFileByFormBuilderFieldAnswerIdSaga","getWorkingHours","updateWorkingHours","exportXlsxWorkingHours","exportXlsxWorkingHoursSaga","getUrlByUserType","exportCanExportWorkingHoursSaga","updateWorkingHourNotes","rootSaga","sagas","saga","fork","initialState","combineReducers","merge","filterLoading","updateValue","fileList","y","sharingLoading","reviewReducer","listUpdated","updateKeys","rootReducer","history","router","connectRouter","createBrowserHistory","sagaMiddleware","createSagaMiddleware","enchancer","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","applyMiddleware","routerMiddleware","createStore","run","App","ThemeProvider","CssBaseline","utils","DateFnsUtils","autoClose","Zoom","ReactDOM","getElementById"],"mappings":"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u2D,EAAav2D,GAAKi0D,WAClI8M,YAAa1hE,OAAOK,KAAK62D,GAAc31D,QAAO,SAAAZ,GAAG,OAAKA,EAAI8gE,SArB3C,eAqBqE/gE,KAAI,SAAAC,GAAG,OAAIu2D,EAAav2D,MAC5GyzD,SAAUA,GAAQ,2BAASA,GAAT,IAAmB10D,MAAOw3D,EAAa9C,EAASrJ,iBAgBlEt0B,QAASA,EACT/3B,MAAOA,EACPspB,YAAaA,MChCNrgB,GAlBGC,aAAW,SAAAkX,GAAK,MAAK,CACrC4E,SAAU,CACRC,OAAQ7E,EAAM0E,QAAQ,EAAG,IAE3B1gB,MAAO,CACL6gB,OAAQ7E,EAAM0E,QAAQ,EAAG,IAE3BkkC,gBAAiB,CACf/jC,OAAQ7E,EAAM0E,QAAQ,EAAG,IAE3BknC,iBAAkB,CAChBvN,aAAcr+B,EAAM0E,QAAQ,IAE9BmzB,aAAc,CACZwG,aAAcr+B,EAAM0E,QAAQ,QCobjBpnB,GApcC,CACd,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA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","file":"static/js/main.2043b750.chunk.js","sourcesContent":["// Fork from https://github.com/marmelab/react-admin/blob/master/packages/ra-core/src/dataProvider/HttpError.ts\r\n\r\nclass HttpError extends Error {\r\n constructor(message, status, body = null) {\r\n super(message);\r\n this.name = this.constructor.name;\r\n this.status = status;\r\n this.body = body;\r\n this.message = status === 401 ? '' : message;\r\n\r\n if (typeof Error.captureStackTrace === 'function') {\r\n Error.captureStackTrace(this, this.constructor);\r\n } else {\r\n this.stack = new Error(message).stack;\r\n }\r\n this.stack = new Error().stack;\r\n }\r\n}\r\n\r\nexport default HttpError;\r\n","// fork from https://github.com/marmelab/react-admin/blob/master/packages/ra-core/src/dataProvider/fetch.ts\r\n\r\nimport { stringify } from 'query-string';\r\nimport { format } from 'date-fns';\r\n\r\nimport HttpError from './HttpError';\r\n\r\nexport const createHeadersFromOptions = options => {\r\n const requestHeaders =\r\n options.headers ||\r\n new Headers({\r\n Accept: 'application/json',\r\n }); // as Headers;\r\n if (\r\n !requestHeaders.has('Content-Type') &&\r\n !(options && (!options.method || options.method === 'GET')) &&\r\n !(options && options.body && options.body instanceof FormData)\r\n ) {\r\n requestHeaders.set('Content-Type', 'application/json');\r\n }\r\n if (options && options.body && options.body instanceof FormData) {\r\n requestHeaders.delete('Content-Type');\r\n }\r\n if (options.user && options.user.authenticated && options.user.token) {\r\n requestHeaders.set('Authorization', options.user.token);\r\n }\r\n\r\n return requestHeaders;\r\n};\r\n\r\nconst downloadFile = async response => {\r\n try {\r\n const fileName = decodeURI(response.headers.get('file-name'))?.replaceAll('{datetime}', format(new Date(), 'MM-dd-yyyy-HH-mm-ss'));\r\n const blob = await response.blob();\r\n const url = window.URL.createObjectURL(new Blob([blob]));\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.setAttribute('download', fileName);\r\n document.body.appendChild(link);\r\n link.click();\r\n link.parentNode.removeChild(link);\r\n } catch (e) {\r\n console.error('Error in \"fetchUtils -> incorrect file loading');\r\n }\r\n};\r\n\r\nexport const fetchJson = async (url, options = {}) => {\r\n const requestHeaders = createHeadersFromOptions(options);\r\n\r\n try {\r\n const response = await fetch(url, { ...options, headers: requestHeaders });\r\n\r\n let json = {};\r\n let body = {};\r\n\r\n // check is file\r\n if (['application/octet-stream', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'].includes(response.headers.get('content-type'))) {\r\n await downloadFile(response);\r\n } else {\r\n body = await response.text();\r\n try {\r\n json = JSON.parse(body);\r\n } catch (e) {\r\n json = body;\r\n }\r\n }\r\n\r\n if (response.status === 400) {\r\n return Promise.reject(new HttpError(json && (json.message || json.messages), response.status, json));\r\n }\r\n\r\n if (response.status < 200 || response.status >= 300) {\r\n return Promise.reject(new HttpError(response.statusText, response.status, json));\r\n }\r\n\r\n return Promise.resolve({\r\n status: response.status,\r\n headers: response.headers,\r\n body,\r\n json,\r\n });\r\n } catch (e) {\r\n console.error('Error in \"fetchUtils -> fetchJson\"');\r\n }\r\n};\r\n\r\nexport const queryParameters = stringify;\r\n\r\nconst isValidObject = value => {\r\n if (!value) {\r\n return false;\r\n }\r\n\r\n const isArray = Array.isArray(value);\r\n const isBuffer = typeof Buffer !== 'undefined' && Buffer.isBuffer(value);\r\n const isObject = Object.prototype.toString.call(value) === '[object Object]';\r\n const hasKeys = !!Object.keys(value).length;\r\n\r\n return !isArray && !isBuffer && isObject && hasKeys;\r\n};\r\n\r\nexport const flattenObject = (value, path = []) => {\r\n if (isValidObject(value)) {\r\n return Object.assign({}, ...Object.keys(value).map(key => flattenObject(value[key], path.concat([key]))));\r\n } else {\r\n return path.length ? { [path.join('.')]: value } : value;\r\n }\r\n};\r\n","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/loginBackground.0ed25b9a.png\";","module.exports = __webpack_public_path__ + \"static/media/logo.d5a0ca3f.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIqSURBVGiB7ZhNThwxEIW/QQGEkjtkz09AwKKX5BAs4CRwCJgEESknYMkahSzCFQYCayTOgEBiGBb9zLQ67W7bjHET+kklD+4q+5XtqrKBMVaBc2DUcjkX138waAE5VxkY0r2CA0NgqsqzFmKEuPZKnW8JPYAPTQotQuUCv5UjY0UKB+aBfeASuJNcqm/+JQOXI33SmAEOyZOFLbsMgZ/AXAi/mA7MAKca9x74DmTAJ0mmvnvp/JZNaxz4oTFvgJUavRXpjMh3y4tfLAcWgAfy1a0jb7BMHhcPsnXmF8uBvsY78LA5kE2/0DcxB1zL/WfpX+nvzMOBTDZXKR2Ylb4JzHJQ1mGWccDX8qurxDb4VuhhwBzTah+bFF+jkF2rrbwCW7BYsrUixAHXI7Qp/VO12x5zbKn99RJirno2OZL+EvkxuiNPkU34It2hbJ35xSxkJi02FbJlxoWsnHaTXyVOGGeWb8A68FGyrj6TsU6IeJVwPUJGdmQ3Dew56O9VkE/qwCOwW2E/AG4lxfe467xA/ZMy1ovMzFMe39Zf/m7Qg//gRRZSiUMDPMqOpt6BDL9LXi1iptGqeY4tv734pQxiG6IHsW8ata3sGfBVchbAo5FYLAf+ABsV427omxe/FEcoFF0dMIiZocBz59/lDrQqNt7lDnQxMEl0MZAanQOp0TmQGnVZKHa+nwiKO9D4r+wW4Xlxiw78TUAkFBdVnWv6EPriei25EFcAngAGJMHUjsyycgAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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JPmothUALsTnV4xtM8k3k/xhPCyI+fEeymRZvOyUvUnuT/JwkjszBIPN+ElVps17KJNl8TJ1W8Wv799QLccfrpB7AACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgIQEAABoSAACgoV3VDbBj9ia5P8nDSe5MsrmofZVNAaU+TPLuon6S5KUkryQ5VdkUO0MAmL/NJN9M8odJrivuBVh/HyQ5mOSpDMGAmRIA5msjyX9O8qdJfrW4F2B6PkryXJK/SHKyuBdGIADM081JDiW5u7oRYPKOJPlakveqG2G1BID5+bUk305yS3UjwGy8k+SBJG9UN8LqCADzcnOS12PzB1bvnSR3xZWA2fA1wPnYyHDZ3+YPjOGWDO8xG9WNsBp7qhtgZf48yR9UNwHM2i0Zrhy/Ut0Iy/MRwDxsJvnnuNsfGN9HSQ7EVwQnzxWAefjLJPdWNwG0cHWSa5P8dXUjLMcVgOnbm+T9eMgPsHM+SHJTPDFw0twEOH33x+YP7KzrMrz3MGECwPQ9XN0A0JL3nokTAKbvzuoGgJa890ycADB9m9UNAC1575k4NwFO3wfxk77Azvsw7j+aNFcAAKAhAWD6PIwDqOC9Z+IEgOnzjxCo4L1n4gSA6ftJdQNAS957Jk4AmL6XqhsAWvLeM3G+BTB9HgUM7DSPAp4BVwCm71SSg9VNAK0cjM1/8lwBmAc/BwzsFD8HPBOuAMzDu0meq24CaOG52PxnwRWA+dhIcjjJ3cV9APN1JMmXkpws7oMVEADm5eYkrye5pboRYHbeSXJXkveqG2E1fAQwL+8leSDDP1SAVXknw3uLzX9GBID5eSNDSj9S3QgwC0cyvKe8Ud0Iq7WnugFG8WGS/5HhI57fSHJ1bTvABH2U5Jkk/ynJ/y3uhREIAPP1SZJXkvz3JNcmuSPDQ4MAPssHGd43/mOS/53hvYQZchNgH3uT3J/k4SR3Znh2wGaSfZVNAaU+zPCVvnczPNv/pQwnDh7y08D/A1JaR5ynjpbpAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAB8RJREFUeNrs3d1rZGcdwPHnzJmXTCbuJsTFYr0obV0KrV54oRS0YAUvxNYK9qZF7wRBWPBSvBOKVwr6H7hSLVgopasXFZfKCkKFIl4UyVIrbKuubk2abl4mL3N88mK0lZKZSWZ3Zn6fDzycZNmZc/qc53x3TmZIi6qqEhBTzRSAAAAB1cf1wIqiOPq6uvLEQt5cyOOxPO7LY8apu8Xa915MtfbXi098e8tkDG5cb7WLsT2wwwDki/+LefOTPOYto9to9v7XUlF7NX/1FRGYngCM9S1AvvgfyZvnXfxjY+98PFu98r2mqfAzgFFf/It5czH5OcU4RuCXOQKzpkIARumCf/nH1ufyuCQCAjBKX3Z6xtpnRUAARum80yMCxA1Ay+kRAeIGABFAABABBIBJikDHVAgAcSNwOUfgrKkQAGL6ZB4vioAAIAIiIACIAAKACCAAiAACgAggAASMwKKpEADiRuClHIFzpkIAiOmBdPBhIREQAEQAAUAEEABEAAFABBAARAABIFoEPmIqBIC4EXhJBASAuO4RAQFABERAABABERAARAABQAQQAEQAASBgBH6TI3CvqRAAYrr78JWACAgAQd0pAgKACIiAACACIiAAiAACgAggAIgAAkDACFzJEfiYqRAAYrojHfxSEREQAIL6oAgIACIgAgKACIiAACACCAAigAAgAggAASOw9zmBT5kKASCms3m8KAICQFxnREAAEIHwERAARCBwBAQAEQgcAQGAwBEQAHh3BB4UAIgbgV/nCDwsABBTO49LUSIgABA4AgIAgSMgABA4AgIAgSMgABA4AgIAg0Xg8wIAsSPwqABATI08np2WCAgABI6AAEDgCAgABI6AAEDgCAgABI6AAMDpRuBxAYC4EXgmR+BJAYCY9q6pi5MSAQGAwBEQAAgcAQGAwBGoO0f0Y2vtzzPrm+l1MzGU786n9LQAMLGaxcad20UvrXd7JmPKXqJAXzoztTTbsmQEABFAABABBAARQAAQAQSAcBHYGwgAQe29ChABAUAETIQAIAIIACKAACACCAAigAAgAggAoSIw17bMBICw2k0REABEQAQEABFAABABBAARQAAQAQQAEUAACBaBM7OliRAAomo1ChEQAERABAQAEUAAEAEEABFAABABBICQESgKcyEAxI1AWwQEgLCaIiAAiIAICAAiIAICgAiYCwFABBAARAABIGIEfE5AAAgcgboICAAiIAICgAiIgAAgAggAIoAAIAIIACKAABAsAmc7IiAAhNUoRUAAEAEREABEQAQEABFAABABBAAREACIGYFaIQAgAgIA8dSDR0AAEIHAERAACBwBAYDAERAACBwBAYDAERAAeJ8IzM+VqawJAIRU1g5eCUxzBAQAAkdAACBwBAQAAkdAACBwBAQAAkdAACBwBAQAhozAfKeeyrIQAIiolq+e+dlyoiMgABA4AgIAgSMgABA4AgIAgSMgABA4AgIAgSMgADCqCHTGPwICAKO6uIrxj4AAwIgjsJAjIAAQ1Dj/PwgFACK/QjEFIACAAAACAAgAIACAAAACAAgAIADABKubgmMU9VTVGrf/OKre4fGcrNlFr/vf59r/gzL/9zVHO4W9nbzP7ff+aarKmRHPWZX3vWkNC8DwuosPpc0PP377T9Ta1f3tTuejJ3qeuatPpXLjjaPvtz/wQFq/6xsjPfbW9V+kmeuX3n1t5ot/9f4fjHS/5eYbaW7pKYvYLQAgAIAAAAIAAmAKQACAgLwNeFwhd27uv53Ur6rWSr3muWP/XrGzmp97tf/j6P4j1d95NdXf/sPBfspO6n7oC8ef4LWrR4/Zf57tleHmYXs5FbtrQ87h6tDzX+yu533/a7j9bl63gAXgZBorL++Pfu3MnU9rd3/r2L/XfOvK/703Pohec7GvAJQb11LrxuUTz0Pr7y+k5vLvbv38r/4xta/92EJ0CwAIACAAgAAAAgAIACAAgAAAAgC8H58EpC/dOx5JW+ceHvhxM3/9earfXBp6v9tnPp52z39n4Mc1ll9OrX/+yokTAE5Dr7GQr6qFgR9X1don2m9VzqbdPAZe2I0lJ80tACAAgAAAAgAIACAAEJi3AelL+81nBvrNSP9R9LZOtN/Gyu/zvn82+AOrHSdNADg1+UIudjdu+W6Lave27NctACAAgAAAAgAIACAAgAAAE8rnACbI2l3fTLudew6+KYq+HtNdfChtLTx49H3nte+ncvNNk4kATJyylapywF+wUdTzY/7nNPcZDtwCAAIACAAgAIAAAFPAuwCnXdSt5dS6cfn4iV9/feDnbqy8ksqNayc6vmLn5nuO90Zfx1t2/3a6E1Xt9Lff9b9YVCNUVFU1nkf22ycrp4ep8emnx/L9V7cA4GcAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAUx+ArtPDlOgKwOCWrBumxJIADO4564Yp8ZwADO5HeaxYO0y4tw/XsgAMovjMT9/Km6/l0bOGmFB7a/erh2tZAIaIwAt586hXAkygvTX7pcM1PL7XWFVV43lgRXH0dXXliYW8uZDHY3ncl8eM9cUY2szjT3k8n8cP88W/fLSGx/U6G9cDA4LfAgACAIzIvwUYALf4Cp0ornEqAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACXBIWXMAAAsTAAALEwEAmpwYAAAF92lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTQtMDYtMTFUMDA6MDQ6NTgrMDM6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIwLTAzLTE4VDA2OjUxOjI4KzAyOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIwLTAzLTE4VDA2OjUxOjI4KzAyOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmVmMWVjOTYwLWRkZmEtNDA1Zi1iYTM5LWZmZjFiMjY0NGU5NCIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjNmMThlMjhhLTUwMzEtZjY0OC05OGUxLWRmYTZmYmRiZmFlYSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjMzMzAzZTQ3LTYxMGItNDkwNS1iNzBmLWE0NGUyNmY3ZDM4NCI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MzMzMDNlNDctNjEwYi00OTA1LWI3MGYtYTQ0ZTI2ZjdkMzg0IiBzdEV2dDp3aGVuPSIyMDE0LTA2LTExVDAwOjA0OjU4KzAzOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6ZWYxZWM5NjAtZGRmYS00MDVmLWJhMzktZmZmMWIyNjQ0ZTk0IiBzdEV2dDp3aGVuPSIyMDIwLTAzLTE4VDA2OjUxOjI4KzAyOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6jHji+AAAFUklEQVR42u3cvY9MYRjG4Tkza1kSbBDFalhRITQUWxGNCBKVBB0doRB0vhpaLY2vTiJYDYkIeupNRPwBjNXsh+V4JiaiY8SsM/NcV3Jn2s173vnlLKJelmXNzHKuXgPSEgAQgOopiuLnzh07Mhw7H3sdm4qVNr+7ePr4zctnTw3++lzszycAf+ns0cN74uNt7EJsS2yRbv+HINcbY/Fx79KZk4NOwxvAfH75H8aGPapK2CsCAjBfX/4V8XHHn1NUMgKPIwKLHYUAdNOJ2HKPqJJ2xcZFQAC66YDHU2k7REAAummDxyMC5A3AQo9HBMgbAEQAAUAEEAB6KQJLHIUAkDcCzyICyxyFAJDTttgTERAAREAEBAARQAAQAQQAEUAAEAEEgIQRWOEoBIC8EXgeEVjlKASAnDbWfvxjIREQAEQAAUAEEABEAAFABBAARAABIFsE1jgKASBvBJ6LgACQ16gICAAiIAICgAiIgAAgAggAIoAAIAIIAAkj8CIisN5RCAA5rW2/CYiAAJDUiAgIACIgAgKACIiAACACCAAigAAgAggACSPwKiKwyVEIADmtrv34T0VEQABIaqUICAAiIAICgAiIgAAgAggAIoAAkDcCmx2FAJA3Ai8jAtsdhQCQ09LYExEQAERguwCACAgAiIAAgAgIAIiAAEC+CIwJAOSNwNOIwE4BgJyGYuNZIiAAkDgCAgCJIyAAkDgCAgCJIyAAkDgCAgCdRWC3AEDeCDyICOwTAMhpQexev0RAACBxBAQAEkdAACBxBAQAEkdAACBxBAQA/m0EDgoA5I3A3YjAIQGAnFrfqVu9EgEBgMQREABIHAEBgMQREAD+yNTk5KLPzeY763jvPzc/XhIAelr57etIOTe3dm521jrel3UCQM8baNRrjbor02+/o4AICACIgACACAgAiIAAwG8j0BoCQFKttwAREABEwEEIACKAACACCAAigAAgAggAIoAAIAIIACKAACACCAAigAAgAggAIoAAIAIIACKAANCXEVggAgJA4ksoAgKACIiAACACDkIAEAEEABFAABABBICUEWg4CAEgbwQKERAAREAEBAARQAAQAQQAEUAAEAEEABFAAEgWgQEREADyXuBCBAQAERABAUAEEABEAAFABBAARAABQAQQAEQAAUAEEABEQABABAQAREAAQAQEAERAAKB/IzAYESgEAHIq2m8ChQCACAgAiIAAgAgIAIiAAIAICACIgACACAgAiIAAgAgIAIiAAIAICACIgACACAgAiIAAQF9GoBAAyBuBRm9HQAAgcQQEABJHQAAgcQQEABJHQAAgcQQEABJHQACgWxEYGKh8BAQAuhWBWNUjIADQ5QgMRgQEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQACBTAGY8HvrEjAB0bsK9oU9MCEDn7rs39In7AtC5a7FP7g49brJ9lwWgE1dv3PkQH4dj39whelTr7h5p32UB+IsIPI6PfbGmu0SPab297o87/KjKP2Tl/xqwHYHR2IXYm9i0u0VFTbfvaOuurou7O171H7iyASjL8ueuXL/djF2MbY0NxQqzCm6ofUdbd7X56x0WAEAAgOr4DgmeKXmNulBqAAAAAElFTkSuQmCC\"","module.exports = __webpack_public_path__ + \"static/media/plusPlaceholder.10f08ade.png\";","module.exports = __webpack_public_path__ + \"static/media/404.0c550984.png\";","const createProxy =\r\n typeof Proxy === 'function'\r\n ? object =>\r\n new Proxy(object, {\r\n get: (target, name) => {\r\n if (name in target) return target[name];\r\n\r\n throw new RangeError(`Please initialize Enum member ${name} in ${target}`);\r\n },\r\n })\r\n : x => x;\r\n\r\nexport default (object, prefix = '') => {\r\n if (prefix) prefix = prefix + '.';\r\n\r\n return createProxy(\r\n Object.keys(object)\r\n .filter(key => !object[key])\r\n .reduce(\r\n (p, c) => ({\r\n ...p,\r\n [c]: `${prefix}${c}`,\r\n }),\r\n object,\r\n ),\r\n );\r\n};\r\n","export const API_URL = 'https://industrypqf.com/api/api';\r\n//export const API_URL = 'https://industrypqf-staging.azurewebsites.net/api/api';\r\n//export const API_URL = 'http://localhost:5001/api';\r\nexport const API_AUTHORIZATION_URL = `${API_URL}/Token`;\r\n","import createEnum from '../actionTypesHelpers/createEnum';\r\nimport { API_URL } from '../../config/api';\r\n\r\nexport const TOAST_AUTOCLOSE = 4000;\r\n\r\nexport const httpStatusCodes = {\r\n minValidCode: 200,\r\n maxValidCode: 300,\r\n};\r\n\r\nexport const fileUploadUrl = `${API_URL}/companies/:companyId/related-document/:sectionKey`;\r\n\r\nexport const filePsmUploadUrl = `${API_URL}/companies/:companyId/psm-audit/upload`;\r\n\r\nexport const fileAddendumUploadUrl = `${API_URL}/companies/:companyId/addendum/file/upload`;\r\n\r\nexport const userTypes = createEnum({\r\n SafetyCouncil: null,\r\n Owner: null,\r\n Contractor: null,\r\n});\r\n\r\nexport const contractorLevelEnum = createEnum({\r\n BasicContractor: null,\r\n PsmContractor: null,\r\n});\r\n\r\nexport const contractorLevels = {\r\n BasicContractor: 'Basic Contractor',\r\n PsmContractor: 'PSM Contractor',\r\n};\r\n\r\nexport const contractorLevelPathEnum = createEnum({\r\n BasicContractor: 'basic-contractor',\r\n PsmContractor: 'psm-contractor',\r\n});\r\n\r\nexport const companyTypes = createEnum({\r\n SafetyCouncil: null,\r\n Owner: null,\r\n ...contractorLevels,\r\n});\r\n\r\nexport const pqfStatuses = createEnum({\r\n Completed: {\r\n key: 'Completed',\r\n title: 'Completed',\r\n },\r\n InProgress: {\r\n key: 'InProgress',\r\n title: 'In Progress',\r\n },\r\n Rejected: {\r\n key: 'Rejected',\r\n title: 'Rejected',\r\n },\r\n PendingReview: {\r\n key: 'PendingReview',\r\n title: 'Pending Review',\r\n },\r\n Empty: {\r\n key: 'Empty',\r\n title: 'Empty',\r\n },\r\n});\r\n\r\nfunction createStatusesEnum(obj) {\r\n return Object.keys(obj).reduce((acc, key) => {\r\n return { ...acc, [key]: obj[key].key };\r\n }, {});\r\n}\r\n\r\nexport const reviewStatuses = {\r\n notReviewed: 'NotReviewed',\r\n approve: 'Approved',\r\n reject: 'Rejected',\r\n};\r\n\r\nfunction createStatusesOptionsEnum(obj) {\r\n return Object.keys(obj).reduce((acc, key) => [...acc, { id: obj[key].key, name: obj[key].title }], []);\r\n}\r\n\r\nexport const statusesOptions = createStatusesOptionsEnum(pqfStatuses);\r\nexport const pqfStatusesEnum = createStatusesEnum(pqfStatuses);\r\n\r\nexport const companyTypeOptions = createStatusesOptionsEnum(companyTypes);\r\n","import { contractorLevelPathEnum } from '../../utils/constants';\r\n\r\nconst recursiveKey = (obj, key) =>\r\n Object.keys(obj).reduce((acc, item) => {\r\n return {\r\n ...acc,\r\n [item]: Object.keys(obj[item]).filter(sub => typeof obj[item][sub] === 'object').length\r\n ? recursiveKey(obj[item], key)\r\n : obj[item][key],\r\n };\r\n }, {});\r\n\r\nexport const routeCreator = (companyPrefix = '/company/:id', key = 'url') => {\r\n const name = 'iPQF';\r\n\r\n const stack = {\r\n public: {\r\n login: {\r\n url: '/sign-in',\r\n title: `${name} - Sign in`,\r\n },\r\n resetPassword: {\r\n url: '/password-reset',\r\n title: `${name} - Password Reset`,\r\n },\r\n setNewPassword: {\r\n url: '/set-new-password/:token',\r\n title: `${name} - Set New Password`,\r\n },\r\n invitationAccept: {\r\n url: '/invitation-accept/:token',\r\n title: `${name} - Accept Invitation`,\r\n },\r\n },\r\n private: {\r\n index: {\r\n url: '/',\r\n title: `${name} - Dashboard`,\r\n },\r\n notFound: {\r\n url: '/404',\r\n title: `${name} - Not Found`,\r\n },\r\n testYesNoQuestions: {\r\n url: '/test/yesnoquestions',\r\n title: `${name} - Test YesNoQuestions page`,\r\n },\r\n report: {\r\n url: '/report',\r\n title: `${name} - Report`,\r\n },\r\n settings: {\r\n url: '/settings',\r\n title: `${name} - Settings`,\r\n },\r\n review: {\r\n url: '/company/:id/review/:pqfDocumentId',\r\n title: `${name} - Review :companyName`,\r\n },\r\n fileDownload: {\r\n url: '/download-file/:hash',\r\n title: `${name} - Download file`,\r\n },\r\n company: {\r\n list: {\r\n url: '/company',\r\n title: `${name} - Companies`,\r\n },\r\n new: {\r\n url: '/company/new',\r\n title: `${name} - New Company`,\r\n },\r\n id: {\r\n url: companyPrefix,\r\n title: `${name} - :companyName`,\r\n },\r\n questions: {\r\n url: `${companyPrefix}/questions/:contractorLevel(${Object.keys(contractorLevelPathEnum)\r\n .map(item => contractorLevelPathEnum[item])\r\n .join('|')})`,\r\n title: `${name} - Grading Questions for :contractorLevel`,\r\n },\r\n temp: {\r\n url: `${companyPrefix}/temp`,\r\n title: `${name} - Temp`,\r\n },\r\n // adminPanel: {\r\n // url: `${companyPrefix}/adminpanel`,\r\n // title: `${name} - Admin Panel`,\r\n // sectionKey: 'cmpninfo',\r\n // },\r\n users: {\r\n url: `${companyPrefix}/users`,\r\n title: `${name} - :companyName - Users`,\r\n },\r\n settingsInfo: {\r\n url: `${companyPrefix}/company-information`,\r\n title: `${name} - :companyName - Company Information`,\r\n sectionKey: 'cmpninfo',\r\n },\r\n officers: {\r\n url: `${companyPrefix}/officers`,\r\n title: `${name} - :companyName - Officers`,\r\n sectionKey: 'officers',\r\n },\r\n parentCompany: {\r\n url: `${companyPrefix}/parent-company`,\r\n title: `${name} - :companyName - Parent Company`,\r\n sectionKey: 'parcmpn',\r\n },\r\n insurancePolicies: {\r\n url: `${companyPrefix}/insurance-policies`,\r\n title: `${name} - :companyName - Insurance Policies`,\r\n sectionKey: 'insurpol',\r\n },\r\n financialInformation: {\r\n url: `${companyPrefix}/financial-information`,\r\n title: `${name} - :companyName - Financial Information`,\r\n sectionKey: 'fininfo',\r\n },\r\n organizationInformation: {\r\n url: `${companyPrefix}/organization-information`,\r\n title: `${name} - :companyName - Organization Information`,\r\n sectionKey: 'orginfo',\r\n },\r\n workCategories: {\r\n url: `${companyPrefix}/work-categories`,\r\n title: `${name} - :companyName - Work Categories`,\r\n sectionKey: 'workcat',\r\n },\r\n services: {\r\n url: `${companyPrefix}/services`,\r\n title: `${name} - :companyName - Services Performed`,\r\n sectionKey: 'services',\r\n },\r\n references: {\r\n url: `${companyPrefix}/references`,\r\n title: `${name} - :companyName - References`,\r\n sectionKey: 'referenc',\r\n },\r\n legal: {\r\n url: `${companyPrefix}/legal`,\r\n title: `${name} - :companyName - Legal`,\r\n sectionKey: 'legal',\r\n },\r\n citations: {\r\n url: `${companyPrefix}/citations`,\r\n title: `${name} - :companyName - Citations`,\r\n sectionKey: 'citations',\r\n },\r\n emr: {\r\n url: `${companyPrefix}/emr`,\r\n title: `${name} - :companyName - Experience Modification Rate`,\r\n sectionKey: 'emr',\r\n },\r\n envprog: {\r\n url: `${companyPrefix}/environmental-program`,\r\n title: `${name} - :companyName - Safety, Health & Environmental Program`,\r\n sectionKey: 'envprog',\r\n },\r\n hearconserv: {\r\n url: `${companyPrefix}/hearing-conservation`,\r\n title: `${name} - :companyName - Hearing Conservation`,\r\n sectionKey: 'hearconserv',\r\n },\r\n respprot: {\r\n url: `${companyPrefix}/respiratory-protection`,\r\n title: `${name} - :companyName - Respiratory Protection`,\r\n sectionKey: 'respprot',\r\n },\r\n hazardcomm: {\r\n url: `${companyPrefix}/hazard-communication`,\r\n title: `${name} - :companyName - Hazard Communication`,\r\n sectionKey: 'hazardcomm',\r\n },\r\n environmentalManagement: {\r\n url: `${companyPrefix}/environmental-management`,\r\n title: `${name} - :companyName - Safety, Health & Environmental Management`,\r\n sectionKey: 'envmgmt',\r\n },\r\n osha: {\r\n url: `${companyPrefix}/osha`,\r\n title: `${name} - :companyName - OSHA 29 CFR 1910`,\r\n sectionKey: 'osha',\r\n },\r\n spillwaste: {\r\n url: `${companyPrefix}/spill-waste`,\r\n title: `${name} - :companyName - Spill Prevention and Waste Minimization`,\r\n sectionKey: 'spillwaste',\r\n },\r\n substabuse: {\r\n url: `${companyPrefix}/substance-abuse-program`,\r\n title: `${name} - :companyName - Substance Abuse Program`,\r\n sectionKey: 'substabuse',\r\n },\r\n empeng: {\r\n url: `${companyPrefix}/employee-english`,\r\n title: `${name} - :companyName - Employee English`,\r\n sectionKey: 'empeng',\r\n },\r\n medprog: {\r\n url: `${companyPrefix}/medical-program`,\r\n title: `${name} - :companyName - Medical Program`,\r\n sectionKey: 'medprog',\r\n },\r\n envmeet: {\r\n url: `${companyPrefix}/environmental-meetings`,\r\n title: `${name} - :companyName - Safety, Health and Environmental Meetings`,\r\n sectionKey: 'envmeet',\r\n },\r\n protecteq: {\r\n url: `${companyPrefix}/personal-protection-equipment`,\r\n title: `${name} - :companyName - Personal Protection Equipment`,\r\n sectionKey: 'protecteq',\r\n },\r\n corrproc: {\r\n url: `${companyPrefix}/corrective-action-process`,\r\n title: `${name} - :companyName - Corrective Action Process`,\r\n sectionKey: 'corrproc',\r\n },\r\n equipmat: {\r\n url: `${companyPrefix}/equipment-materials`,\r\n title: `${name} - :companyName - Equipment and Materials`,\r\n sectionKey: 'equipmat',\r\n },\r\n subprog: {\r\n url: `${companyPrefix}/subcontractor-program`,\r\n title: `${name} - :companyName - Subcontractor Program`,\r\n sectionKey: 'subprog',\r\n },\r\n inspprog: {\r\n url: `${companyPrefix}/inspections-and-audit-program`,\r\n title: `${name} - :companyName - Inspections and Audit Program`,\r\n sectionKey: 'inspprog',\r\n },\r\n envtrain: {\r\n url: `${companyPrefix}/environmental-training`,\r\n title: `${name} - :companyName - Safety, Health & Environmental Training`,\r\n sectionKey: 'envtrain',\r\n },\r\n craftsmanCertification: {\r\n url: `${companyPrefix}/craftsman-certification`,\r\n title: `${name} - :companyName - Craftsman Certification`,\r\n sectionKey: 'crafts',\r\n },\r\n workfordev: {\r\n url: `${companyPrefix}/workforce-development`,\r\n title: `${name} - :companyName - Workforce Development`,\r\n sectionKey: 'workfordev',\r\n },\r\n envdoc: {\r\n url: `${companyPrefix}/environmental-documentation`,\r\n title: `${name} - :companyName - Safety, Health & Environmental Documentation`,\r\n sectionKey: 'envdoc',\r\n },\r\n ownerAddendum: {\r\n url: `${companyPrefix}/addendum/:contractorLevel(${Object.keys(contractorLevelPathEnum)\r\n .map(item => contractorLevelPathEnum[item])\r\n .join('|')})`,\r\n title: `${name} - :companyName - Addendum for :contractorLevel`,\r\n },\r\n injuryIllness: {\r\n url: `${companyPrefix}/injury-illness`,\r\n title: `${name} - :companyName - Injury & Illness`,\r\n sectionKey: 'injury',\r\n },\r\n contractorAddendum: {\r\n url: `${companyPrefix}/addendum/:ownerId`,\r\n title: `${name} - :companyName - Addendum`,\r\n },\r\n systemSettings: {\r\n url: `${companyPrefix}/system-settings`,\r\n title: `${name} - System Settings`,\r\n },\r\n archiveCompany: {\r\n url: `${companyPrefix}/archive-company`,\r\n title: `${name} - Archive companies`,\r\n },\r\n archiveUser: {\r\n url: `${companyPrefix}/archive-user`,\r\n title: `${name} - Archive users`,\r\n },\r\n bls: {\r\n url: `${companyPrefix}/bls-settings`,\r\n title: `${name} - BLS Settings`,\r\n },\r\n },\r\n },\r\n };\r\n\r\n return recursiveKey(stack, key);\r\n};\r\n\r\nexport default routeCreator();\r\n\r\nexport const title = routeCreator(undefined, 'title');\r\nexport const sectionKey = routeCreator(undefined, 'sectionKey');\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles({\r\n container: {\r\n minHeight: '100vh',\r\n },\r\n});\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Container, Grid } from '@material-ui/core';\r\n\r\nimport useStyles from './styles';\r\n\r\nexport const CenteredContainer = ({ children }) => {\r\n const classes = useStyles();\r\n return (\r\n \r\n \r\n {children}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CenteredContainer;\r\n","export default {\r\n start: null,\r\n end: null,\r\n error: null,\r\n};\r\n","export default {\r\n NA: 'N/A',\r\n NotAvailable: 'NotAvailable',\r\n};\r\n","import { createEnum, requestState } from '../utils/actionTypesHelpers';\r\n\r\nexport default createEnum(\r\n {\r\n check: createEnum(requestState, 'auth.check'),\r\n login: createEnum(requestState, 'auth.login'),\r\n logout: createEnum(requestState, 'auth.logout'),\r\n resetPassword: createEnum(requestState, 'auth.resetPassword'),\r\n setNewPassword: createEnum(requestState, 'auth.setNewPassword'),\r\n acceptInvitation: createEnum(requestState, 'auth.acceptInvitation'),\r\n },\r\n 'auth',\r\n);\r\n","import { createEnum } from '../utils/actionTypesHelpers';\r\n\r\nexport default createEnum(\r\n {\r\n add: null,\r\n },\r\n 'entity',\r\n);\r\n","import { createEnum, requestState } from '../utils/actionTypesHelpers';\r\n\r\nexport default createEnum(\r\n {\r\n create: createEnum(requestState, 'company.create'),\r\n list: createEnum(requestState, 'company.list'),\r\n delete: createEnum(requestState, 'company.delete'),\r\n addToFavorite: createEnum(requestState, 'company.addToFavorite'),\r\n export: createEnum(requestState, 'company.export'),\r\n getFavoriteOwnerList: createEnum(requestState, 'company.getFavoriteOwnerList'),\r\n },\r\n 'company',\r\n);\r\n","import { createEnum } from '../utils/actionTypesHelpers';\r\n\r\nexport default createEnum(\r\n {\r\n add: null,\r\n remove: null,\r\n },\r\n 'notification',\r\n);\r\n","import { createEnum, requestState } from '../utils/actionTypesHelpers';\r\n\r\nexport default createEnum(\r\n {\r\n companyInfo: {\r\n get: createEnum(requestState, 'currentCompany.companyInfo.get'),\r\n validation: createEnum(requestState, 'currentCompany.companyInfo.validation'),\r\n updateConditions: createEnum({ update: null }, 'currentCompany.companyInfo.updateConditions'),\r\n },\r\n workCategory: {\r\n get: createEnum(requestState, 'currentCompany.workCategory.get'),\r\n update: createEnum(requestState, 'currentCompany.workCategory.update'),\r\n },\r\n service: {\r\n get: createEnum(requestState, 'currentCompany.service.get'),\r\n update: createEnum(requestState, 'currentCompany.service.update'),\r\n },\r\n finInfo: {\r\n get: createEnum(requestState, 'currentCompany.finInfo.get'),\r\n update: createEnum(requestState, 'currentCompany.finInfo.update'),\r\n },\r\n user: {\r\n get: createEnum(requestState, 'currentCompany.user.get'),\r\n create: createEnum(requestState, 'currentCompany.user.create'),\r\n resend: createEnum(requestState, 'currentCompany.user.resend'),\r\n update: createEnum(requestState, 'currentCompany.user.update'),\r\n remove: createEnum(requestState, 'currentCompany.user.remove'),\r\n },\r\n reference: {\r\n create: createEnum(requestState, 'currentCompany.reference.create'),\r\n delete: createEnum(requestState, 'currentCompany.reference.delete'),\r\n get: createEnum(requestState, 'currentCompany.reference.get'),\r\n update: createEnum(requestState, 'currentCompany.reference.update'),\r\n updateJobInfo: createEnum(requestState, 'currentCompany.reference.updateJobInfo'),\r\n },\r\n parentCompany: {\r\n create: createEnum(requestState, 'currentCompany.parentCompany.create'),\r\n get: createEnum(requestState, 'currentCompany.parentCompany.get'),\r\n update: createEnum(requestState, 'currentCompany.parentCompany.update'),\r\n },\r\n organizationInfo: {\r\n get: createEnum(requestState, 'currentCompany.organizationInfo.get'),\r\n update: createEnum(requestState, 'currentCompany.organizationInfo.update'),\r\n },\r\n officer: {\r\n get: createEnum(requestState, 'currentCompany.officer.get'),\r\n update: createEnum(requestState, 'currentCompany.officer.update'),\r\n create: createEnum(requestState, 'currentCompany.officer.create'),\r\n },\r\n yesNoQuestions: {\r\n get: createEnum(requestState, 'currentCompany.yesNoQuestions.get'),\r\n update: createEnum(requestState, 'currentCompany.yesNoQuestions.update'),\r\n },\r\n healthProf: {\r\n get: createEnum(requestState, 'currentCompany.healthProf.get'),\r\n update: createEnum(requestState, 'currentCompany.healthProf.update'),\r\n },\r\n insurancePolicy: {\r\n create: createEnum(requestState, 'currentCompany.insurancePolicy.create'),\r\n update: createEnum(requestState, 'currentCompany.insurancePolicy.update'),\r\n get: createEnum(requestState, 'currentCompany.insurancePolicy.get'),\r\n },\r\n info: {\r\n get: createEnum(requestState, 'currentCompany.info.get'),\r\n update: createEnum(requestState, 'currentCompany.info.update'),\r\n updateImage: createEnum(requestState, 'currentCompany.info.updateImage'),\r\n deleteImage: createEnum(requestState, 'currentCompany.info.deleteImage'),\r\n },\r\n emrate: {\r\n get: createEnum(requestState, 'currentCompany.emrate.get'),\r\n update: createEnum(requestState, 'currentCompany.emrate.update'),\r\n },\r\n ownerAddendum: {\r\n get: createEnum(requestState, 'currentCompany.ownerAddendum.get'),\r\n create: createEnum(requestState, 'currentCompany.ownerAddendum.create'),\r\n },\r\n injuryIllness: {\r\n get: createEnum(requestState, 'currentCompany.injuryIllness.get'),\r\n update: createEnum(requestState, 'currentCompany.injuryIllness.update'),\r\n },\r\n craftsman: {\r\n get: createEnum(requestState, 'currentCompany.craftsman.get'),\r\n update: createEnum(requestState, 'currentCompany.craftsman.update'),\r\n },\r\n contractorAddendum: {\r\n get: createEnum({ ...requestState, remove: null, update: null }, 'currentCompany.contractorAddendum.get'),\r\n create: createEnum(requestState, 'currentCompany.contractorAddendum.create'),\r\n update: createEnum(requestState, 'currentCompany.contractorAddendum.update'),\r\n remove: createEnum(requestState, 'currentCompany.contractorAddendum.remove'),\r\n download: createEnum(requestState, 'currentCompany.contractorAddendum.download'),\r\n },\r\n uploadSize: {\r\n get: createEnum(requestState, 'currentCompany.uploadSize.get'),\r\n update: createEnum(requestState, 'currentCompany.uploadSize.update'),\r\n },\r\n questions: {\r\n get: createEnum(requestState, 'currentCompany.questions.get'),\r\n update: createEnum(requestState, 'currentCompany.questions.update'),\r\n export: createEnum(requestState, 'currentCompany.questions.export'),\r\n },\r\n settings: {\r\n get: createEnum(requestState, 'currentCompany.settings.get'),\r\n update: createEnum(requestState, 'currentCompany.settings.update'),\r\n },\r\n companyAdminInfo: {\r\n get: createEnum(requestState, 'currentCompany.companyAdminInfo.get'),\r\n update: createEnum(requestState, 'currentCompany.companyAdminInfo.update'),\r\n },\r\n },\r\n 'currentCompany',\r\n);\r\n","import { createEnum, requestState } from '../utils/actionTypesHelpers';\r\n\r\nexport default createEnum(\r\n {\r\n dashboard: {\r\n get: createEnum(requestState, 'pages.dashboard.get'),\r\n submitDocument: createEnum(requestState, 'pages.dashboard.submitDocument'),\r\n documents: createEnum(requestState, 'pages.dashboard.documents'),\r\n loadDocument: createEnum(requestState, 'pages.dashboard.loadDocument'),\r\n gradeDownload: createEnum(requestState, 'pages.dashboard.gradeDownload'),\r\n updateCondition: createEnum({ update: null }, 'pages.dashboard.updateCondition'),\r\n unofficialGrade: createEnum(requestState, 'pages.dashboard.unofficialGrade'),\r\n loadAllUploadDocument: createEnum(requestState, 'pages.dashboard.loadAllUploadDocument'),\r\n downloadPQFScorecard: createEnum(requestState, 'pages.dashboard.downloadPQFScorecard'),\r\n getOwnerGrading: createEnum(requestState, 'pages.dashboard.getOwnerGrading'),\r\n downloadOwnerScorecard: createEnum(requestState, 'pages.dashboard.downloadOwnerScorecard'),\r\n },\r\n },\r\n 'pages',\r\n);\r\n","import { createEnum, requestState } from '../utils/actionTypesHelpers';\r\n\r\nexport default createEnum(\r\n {\r\n get: createEnum(requestState, 'file.get'),\r\n put: createEnum(requestState, 'file.put'),\r\n download: createEnum(requestState, 'file.download'),\r\n remove: createEnum(requestState, 'file.remove'),\r\n add: createEnum(requestState, 'file.add'),\r\n },\r\n 'file',\r\n);\r\n","import { createEnum, requestState } from '../utils/actionTypesHelpers';\r\n\r\nexport default createEnum(\r\n {\r\n get: createEnum(requestState, 'filePsmAudit.get'),\r\n remove: createEnum(requestState, 'filePsmAudit.remove'),\r\n add: createEnum(requestState, 'filePsmAudit.add'),\r\n download: createEnum(requestState, 'filePsmAudit.download'),\r\n },\r\n 'filePsmAudit',\r\n);\r\n","import { createEnum, requestState } from '../utils/actionTypesHelpers';\r\n\r\nexport default createEnum(\r\n {\r\n company: {\r\n get: createEnum(requestState, 'archive.company.get'),\r\n recover: createEnum(requestState, 'archive.company.recover'),\r\n },\r\n user: {\r\n get: createEnum(requestState, 'archive.user.get'),\r\n recover: createEnum(requestState, 'archive.user.recover'),\r\n },\r\n },\r\n 'archive',\r\n);\r\n","import { createEnum, requestState } from '../utils/actionTypesHelpers';\r\n\r\nexport default createEnum(\r\n {\r\n get: createEnum(requestState, 'yesNoQuestionsAll.get'),\r\n },\r\n 'yesNoQuestionsAll',\r\n);\r\n","import { createEnum, requestState } from '../utils/actionTypesHelpers';\r\n\r\nexport default createEnum(\r\n {\r\n configuration: {\r\n get: createEnum(requestState, 'settings.configuration.get'),\r\n update: createEnum(requestState, 'settings.configuration.update'),\r\n },\r\n BLSData: {\r\n get: createEnum(requestState, 'settings.BLSData.get'),\r\n update: createEnum(requestState, 'settings.BLSData.update'),\r\n },\r\n },\r\n 'settings',\r\n);\r\n","import { createEnum, requestState } from '../utils/actionTypesHelpers';\r\n\r\nexport default createEnum(\r\n {\r\n list: createEnum(requestState, 'headerNotification.list'),\r\n createFollow: createEnum(requestState, 'headerNotification.create'),\r\n createUnfollow: createEnum(requestState, 'headerNotification.createUnfollow'),\r\n acceptFollow: createEnum(requestState, 'headerNotification.acceptFollow'),\r\n rejectFollow: createEnum(requestState, 'headerNotification.rejectFollow'),\r\n uploadExpiration: createEnum(requestState, 'headerNotification.uploadExpiration'),\r\n delete: createEnum(requestState, 'headerNotification.delete'),\r\n },\r\n 'headerNotification',\r\n);\r\n","import { createEnum, requestState } from '../utils/actionTypesHelpers';\r\n\r\nexport default createEnum(\r\n {\r\n get: createEnum(requestState, 'review.get'),\r\n update: createEnum(requestState, 'review.update'),\r\n save: createEnum(requestState, 'review.save'),\r\n downloadFile: createEnum(requestState, 'review.downloadFile'),\r\n },\r\n 'review',\r\n);\r\n","import { createEnum, requestState } from '../utils/actionTypesHelpers';\r\n\r\nexport default createEnum(\r\n {\r\n downloadByFormBuilderFieldId: createEnum(requestState, 'addendumFile.downloadByFormBuilderFieldId'),\r\n downloadByFormBuilderFieldAnswerId: createEnum(requestState, 'addendumFile.downloadByFormBuilderFieldAnswerId'),\r\n },\r\n 'addendumFile',\r\n);\r\n","import { createEnum, requestState } from '../utils/actionTypesHelpers';\r\n\r\nexport default createEnum(\r\n {\r\n list: createEnum(requestState, 'workingHours.list'),\r\n update: createEnum(requestState, 'workingHours.update'),\r\n exportWorkingHours: createEnum(requestState, 'workingHours.exportWorkingHours'),\r\n canExportWorkingHours: createEnum(requestState, 'workingHours.canExportWorkingHours'),\r\n },\r\n 'workingHours',\r\n);\r\n","import { createEnum, requestState } from '../utils/actionTypesHelpers';\r\n\r\nexport default createEnum(\r\n {\r\n update: createEnum(requestState, 'workingHourNotes.update'),\r\n },\r\n 'workingHourNotes',\r\n);\r\n","export default function(numberString) {\r\n return numberString.replace(/\\$|,/g, '');\r\n}\r\n","import { isAfter, isBefore, isValid, parseISO } from 'date-fns';\r\n\r\nimport refineNumberString from '../textFormaters/refineNumberString';\r\n\r\nexport function checkMinDate(date, error) {\r\n if (!isValid(date)) throw new Error('Min date value is not valid');\r\n return this.test('minDateCheckTest', error, function(value) {\r\n return value === null || isAfter(parseISO(value), date);\r\n });\r\n}\r\n\r\nexport function checkMaxDate(date, error) {\r\n if (!isValid(date)) throw new Error('Max date value is not valid');\r\n return this.test('maxDateCheckTest', error, function(value) {\r\n return value === null || isBefore(parseISO(value), date);\r\n });\r\n}\r\n\r\nexport function dateCheck(error) {\r\n return this.test('dateCheckTest', error, function(value) {\r\n return value === null || isValid(parseISO(value));\r\n });\r\n}\r\n\r\nexport function compareNumbers(ref, message, type) {\r\n return this.test({\r\n name: 'compareNumbers',\r\n message,\r\n params: {\r\n reference: ref.path,\r\n },\r\n test: function(value) {\r\n const currentValue = value && refineNumberString(value);\r\n const refData = this.resolve(ref);\r\n const refValue = refData && refineNumberString(refData);\r\n const compare =\r\n type === 'greater'\r\n ? parseFloat(currentValue) >= parseFloat(refValue)\r\n : parseFloat(currentValue) <= parseFloat(refValue);\r\n return !currentValue || !refValue || compare;\r\n },\r\n });\r\n}\r\n","import getMonth from 'date-fns/getMonth';\r\nimport getYear from 'date-fns//getYear';\r\n\r\nconst MARCH_MONTH = 2;\r\nexport const LAST_YEARS_COUNT = 5;\r\n\r\nexport const getCurrentYear = () => {\r\n const now = new Date();\r\n const currentYear = getYear(now);\r\n return currentYear - 1;\r\n};\r\n\r\nexport const getCurrentRequiredYear = () => {\r\n const now = new Date();\r\n const currentYear = getYear(now);\r\n return getMonth(now) >= MARCH_MONTH ? currentYear - 1 : currentYear - 2;\r\n};\r\n\r\nexport const getLastYearsList = () => {\r\n const currentYear = getCurrentYear();\r\n\r\n return Array.from({ length: LAST_YEARS_COUNT }).map((_, index) => currentYear - index);\r\n};\r\n\r\nexport const getLastRequiredYearsList = () => {\r\n const currentYear = getCurrentRequiredYear();\r\n\r\n return Array.from({ length: LAST_YEARS_COUNT }).map((_, index) => currentYear - index);\r\n};\r\n\r\nexport const getCurrentYearsList = () => {\r\n const currentYear = getYear(new Date());\r\n\r\n return Array.from({ length: LAST_YEARS_COUNT }).map((_, index) => currentYear - index);\r\n};\r\n\r\nexport const getLastYearsOptions = () => {\r\n return getLastYearsList().map(year => ({ label: year, value: year }));\r\n};\r\n\r\nexport const getCurrentYearsOptions = () => {\r\n return getCurrentYearsList().map(year => ({ label: year, value: year }));\r\n};\r\n","import { createEnum } from '../actionTypesHelpers';\r\n\r\nexport const maxIntNumber = 2147483647;\r\n\r\nexport const favoriteEnum = createEnum({\r\n true: 'Favorite',\r\n false: 'Not favorite',\r\n});\r\n\r\nexport const overdueEnum = createEnum({\r\n true: 'Expired',\r\n false: 'Actual',\r\n});\r\n\r\nexport const enums = {\r\n frequency: createEnum({\r\n daily: 'Daily',\r\n weekly: 'Weekly',\r\n monthly: 'Monthly',\r\n quarterly: 'Quarterly',\r\n annually: 'Annually',\r\n asNeeded: 'As Needed',\r\n uponHire: 'Upon Hire',\r\n biweekly: 'Bi-weekly',\r\n }),\r\n yesno: createEnum({\r\n Yes: 'Yes',\r\n No: 'No',\r\n }),\r\n yesnona: createEnum({\r\n Yes: 'Yes',\r\n No: 'No',\r\n 'N/A': 'N/A',\r\n }),\r\n fleetIndividualInsurance: createEnum({\r\n Fleet: 'Fleet',\r\n Individual: 'Individual',\r\n }),\r\n};\r\n\r\nexport const yesNoOptions = [\r\n {\r\n label: 'Yes',\r\n value: true,\r\n },\r\n {\r\n label: 'No',\r\n value: false,\r\n },\r\n];\r\n\r\nfunction createOptionsEnum(obj) {\r\n return Object.keys(obj).reduce((acc, key) => [...acc, { value: key, label: obj[key] }], []);\r\n}\r\n\r\nexport const frequencyOptions = createOptionsEnum(enums.frequency);\r\nexport const yesnoOptions = createOptionsEnum(enums.yesno);\r\nexport const yesnonaOptions = createOptionsEnum(enums.yesnona);\r\nexport const fleetIndividualInsurance = createOptionsEnum(enums.fleetIndividualInsurance);\r\nexport const favoriteOptions = createOptionsEnum(favoriteEnum);\r\nexport const overdueOptions = createOptionsEnum(overdueEnum);\r\n","import { maxIntNumber } from '../constants/formConstats';\r\n\r\nexport default {\r\n email: 'Invalid email',\r\n required: 'Field is required',\r\n requiredMin8: 'Password must be at least 8 characters.',\r\n requiredMax50: 'Password must be no longer than 50 characters!',\r\n confirmPassword: 'Password confirmation should be the same as password',\r\n incorrectPassword: 'Password must be at least 8 characters long, be of mixed case and also contain a number',\r\n requiredCompanyNameMax100: 'Company name must be no longer than 100 characters',\r\n phoneIncorrect: 'Invalid phone number',\r\n faxIncorrect: 'Invalid fax',\r\n urlIncorrect: 'Invalid URL',\r\n requiredUrlMax255: 'Web Site must be no longer than 255 characters',\r\n requiredNameMax255: 'Name must be no longer than 255 characters',\r\n requiredCustomerNameMax255: 'Customer Name must be no longer than 255 characters',\r\n requiredTaxIdNineDigits: 'Tax ID must contain 9 numbers',\r\n requiredNumberNineDigits: 'DUNS Number must contain 9 numbers only',\r\n requiredStreetNameMax255: 'Street name must be no longer than 255 characters',\r\n requiredCityMax255: 'City must be no longer than 255 characters',\r\n requiredZipMin5: 'Zip must contain 5 numbers',\r\n requiredStateContractorNumberMax255: 'State contractor number must be no longer than 255 characters',\r\n requiredAverageNumEmployeesMin1: 'Employees number must be greater than 0',\r\n requiredNumEmployeesMin1: 'Must be greater than 0',\r\n requiredUserFirstNameMax100: 'First name must be no longer than 100 characters',\r\n requiredUserLastNameMax100: 'Last Name must be no longer than 100 characters',\r\n requiredUserSurnameMax100: 'Last Name must be no longer than 100 characters',\r\n requiredUserEmailMax255: 'Email must be no longer than 255 characters',\r\n valueIncorrect: 'Value is not correct',\r\n requiredTitleMax100: 'Title must be no longer than 100 characters',\r\n requiredCertificationsMax255: 'Certifications must be no longer than 255 characters',\r\n requiredReportsToMax201: 'Reports to Name must be no longer than 201 characters',\r\n requiredDescriptionMax255: 'Description must be no longer than 255 characters',\r\n requiredBankReferencesMax100: 'Bank References must be no longer than 100 characters',\r\n requiredFinRatingMax4: 'D&B Financial Rating must be no longer than 4 characters',\r\n minProjectSizeComparison: 'Must be no longer than maximum project size',\r\n maxProjectSizeComparison: 'Must be not less than minimum project size',\r\n file: {\r\n bigFileSize: 'The maximum file size is 5 MB',\r\n maxFileSize: 'The maximum file size is 20 MB',\r\n required: 'File is not selected',\r\n },\r\n requiredParentCompanyNameMax255: 'Parent Company Name must be no longer than 255 characters',\r\n requiredCompanyNameMin3: 'Company Name must be at least 3 characters',\r\n requiredMinLessThanMax: 'Must be no longer than Max',\r\n requiredMaxMoreThanMin: 'Must be not less than Min',\r\n maxNumberValue: 'Max value 999999',\r\n minCreatedYears: 'Must be not less 3 years',\r\n cascadeYearList: 'Last three year must be described',\r\n requiredCraftsmanMax100: 'Max 100 chars',\r\n subsidiaryCount: 'At least one Subsidiary is required',\r\n requiredTypeOfWorkMax255: 'Type of work must be no longer than 255 characters',\r\n maxDate: 'You exceeded the maximum allowed date',\r\n minDate: 'You exceeded the minimum allowed date',\r\n invalidDate: 'Date is not valid',\r\n requiredTitleMax20: 'Title must be no longer than 255 characters',\r\n requiredFirstNameMin3: 'First Name must be at least 3 characters',\r\n requiredLastNameMin3: 'Last Name must be at least 3 characters',\r\n requiredNameMin3: 'Name must be at least 3 characters',\r\n requiredCustomerNameMin3: 'Customer Name must be at least 3 characters',\r\n requiredCityMin3: 'City must be at least 3 characters',\r\n requiredStreetMin3: 'Street must be at least 3 characters',\r\n requiredAddressMin3: 'Address must be at least 3 characters',\r\n requiredDescriptionMin10: 'Description must be at least 10 characters',\r\n requiredMinChars3: 'Must be at least 3 characters',\r\n requiredMinChars5: 'Must be at least 5 characters',\r\n requiredMinChars10: 'Must be at least 10 characters',\r\n requiredQuestionTitleMax100: 'Question title must be no longer than 100 characters',\r\n requiredQuestionTitleMax255: 'Question title must be no longer than 255 characters',\r\n requiredQuestionMin3: 'Question title must be at least 3 characters',\r\n requiredQuestionOptionMin3: 'Option name must be at least 3 characters',\r\n requiredQuestionOptionMax255: 'Option name must be no longer than 255 characters',\r\n requiredValueMax100: 'Value must be no longer than 100 characters',\r\n requiredRejectReasonMin10: ' Reject Reason must be at least 10 characters',\r\n requiredRejectReasonMax255: ' Reject Reason must be no longer than 255 characters',\r\n maxNumberFieldValue: `Max value ${maxIntNumber}`,\r\n minNumberFieldValue: `Min value ${-maxIntNumber}`,\r\n requiredParagraphMin1: 'Answer must be at least 1 character',\r\n requiredParagraphMax255: 'Answer must be no longer than 255 characters',\r\n requiredServicesMax3: 'Services description must be at least 3 characters.',\r\n};\r\n","export default {\r\n '11': 'Agriculture, forestry, fishing and hunting',\r\n '21': 'Mining, quarrying, and oil and gas extractions',\r\n '23': 'Construction',\r\n '31': 'Manufacturing',\r\n '32': 'Manufacturing',\r\n '33': 'Manufacturing',\r\n '42': 'Wholesale trade',\r\n '44': 'Retail trade',\r\n '45': 'Retail trade',\r\n '48': 'Transportation and warehousing',\r\n '49': 'Transportation and warehousing',\r\n '22': 'Utilities',\r\n '51': 'Information',\r\n '52': 'Finance and insurance',\r\n '53': 'Real estate and rental and leasing',\r\n '54': 'Professional, scientific, and technical services',\r\n '55': 'Management of companies and enterprises',\r\n '56': 'Administrative and support and waste management and remediation services',\r\n '61': 'Educational services',\r\n '62': 'Health care and social assistance',\r\n '71': 'Arts, entertainment, and recreation',\r\n '72': 'Accomodation and food services',\r\n '81': 'Other services (except public administration)',\r\n};\r\n","import * as Yup from 'yup';\r\n\r\nimport { checkMinDate, checkMaxDate, dateCheck, compareNumbers } from './method';\r\nimport { getLastRequiredYearsList } from '../constants/yearHelper';\r\nimport { fileMaxSize } from '../constants/fileSizes';\r\nimport { enums } from '../constants/formConstats';\r\nimport messages from './errorMessages';\r\nimport BLSIndustry from '../constants/BLSIndustry';\r\n\r\nconst passwordRegex = '^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.{8,})';\r\n\r\nconst urlRegex = '^(http[s]?:\\\\/\\\\/){0,1}(www\\\\.){0,1}[a-zA-Z0-9\\\\.\\\\-]+\\\\.[a-zA-Z]{2,5}[\\\\.]{0,1}$';\r\n\r\nconst getPhoneNumberTest = (name, isRequired) => ({\r\n name: 'phoneNumberTest',\r\n message: messages.phoneIncorrect,\r\n test: function (value) {\r\n return !value || (!isRequired && (value.length === 0 || value.replace(/\\D/g, '') === sessionStorage.getItem(`${name}_countryDataDialCode_`))) || value.length === sessionStorage.getItem(`${name}_countryDataFormat_`)?.length;\r\n },\r\n});\r\n\r\nYup.addMethod(Yup.string, 'compareNumbers', compareNumbers);\r\nYup.addMethod(Yup.mixed, 'dateCheck', dateCheck);\r\nYup.addMethod(Yup.mixed, 'maxDate', checkMaxDate);\r\nYup.addMethod(Yup.mixed, 'minDate', checkMinDate);\r\n\r\nexport const signInSchema = Yup.object().shape({\r\n email: Yup.string()\r\n .email(messages.email)\r\n .required(messages.required),\r\n password: Yup.string().required(messages.required),\r\n});\r\n\r\nexport const resetPasswordSchema = Yup.object().shape({\r\n email: Yup.string()\r\n .email(messages.email)\r\n .required(messages.required),\r\n});\r\n\r\nexport const setNewPasswordSchema = Yup.object().shape({\r\n password: Yup.string()\r\n .min(8, messages.incorrectPassword)\r\n .max(50, messages.incorrectPassword)\r\n .matches(passwordRegex, messages.incorrectPassword)\r\n .required(messages.required),\r\n confirmPassword: Yup.string()\r\n .oneOf([Yup.ref('password'), null], messages.confirmPassword)\r\n .min(8, messages.incorrectPassword)\r\n .max(50, messages.incorrectPassword)\r\n .matches(passwordRegex, messages.incorrectPassword)\r\n .required(messages.required),\r\n});\r\n\r\nexport const createCompanySchema = Yup.object().shape({\r\n type: Yup.string().required(messages.required),\r\n companyName: Yup.string()\r\n .max(100, messages.requiredCompanyNameMax100)\r\n .trim(messages.required)\r\n .required(messages.required),\r\n // phoneNumber: Yup.string().when({\r\n // is: value => !(value && value.match(/\\d+/g)),\r\n // then: shema => shema.notOneOf(phoneCases, messages.required),\r\n // otherwise: shema => shema.matches(phoneRegex, messages.phoneIncorrect),\r\n // }),\r\n phoneNumber: Yup.string().required(messages.required)\r\n .test(getPhoneNumberTest('phoneNumber', true)),\r\n // fax: Yup.string().when({\r\n // is: value => value && value.match(/\\d+/g),\r\n // then: shema => shema.matches(phoneRegex, messages.faxIncorrect),\r\n // }),\r\n emailAddress: Yup.string()\r\n .max(255, messages.requiredUserEmailMax255)\r\n .email(messages.email),\r\n website: Yup.string()\r\n .max(255, messages.requiredUrlMax255)\r\n .matches(urlRegex, messages.urlIncorrect),\r\n taxId: Yup.string()\r\n .length(9, messages.requiredTaxIdNineDigits)\r\n .required(messages.required),\r\n});\r\n\r\nexport const officersSchema = Yup.object().shape({\r\n ceo: Yup.object().shape({\r\n name: Yup.string()\r\n .min(3, messages.requiredNameMin3)\r\n .max(255, messages.requiredNameMax255),\r\n emailAddress: Yup.string()\r\n .max(255, messages.requiredUserEmailMax255)\r\n .email(messages.email),\r\n dateHired: Yup.mixed()\r\n .dateCheck(messages.invalidDate)\r\n .maxDate(new Date(), messages.maxDate)\r\n .nullable(),\r\n }),\r\n president: Yup.lazy(value => {\r\n if (value.isPositionExist === enums.yesno.Yes) {\r\n return Yup.object().shape({\r\n name: Yup.string()\r\n .min(3, messages.requiredNameMin3)\r\n .max(255, messages.requiredNameMax255)\r\n .required(messages.required),\r\n emailAddress: Yup.string()\r\n .max(255, messages.requiredUserEmailMax255)\r\n .email(messages.email)\r\n .required(messages.required),\r\n dateHired: Yup.mixed()\r\n .dateCheck(messages.invalidDate)\r\n .maxDate(new Date(), messages.maxDate)\r\n .nullable()\r\n .required(messages.required),\r\n });\r\n }\r\n return Yup.mixed().notRequired();\r\n }),\r\n vicePresident: Yup.lazy(value => {\r\n if (value.isPositionExist === enums.yesno.Yes) {\r\n return Yup.object().shape({\r\n name: Yup.string()\r\n .min(3, messages.requiredNameMin3)\r\n .max(255, messages.requiredNameMax255)\r\n .required(messages.required),\r\n emailAddress: Yup.string()\r\n .max(255, messages.requiredUserEmailMax255)\r\n .email(messages.email)\r\n .required(messages.required),\r\n dateHired: Yup.mixed()\r\n .dateCheck(messages.invalidDate)\r\n .maxDate(new Date(), messages.maxDate)\r\n .nullable()\r\n .required(messages.required),\r\n });\r\n }\r\n return Yup.mixed().notRequired();\r\n }),\r\n treasurer: Yup.lazy(value => {\r\n if (value.isPositionExist === enums.yesno.Yes) {\r\n return Yup.object().shape({\r\n name: Yup.string()\r\n .min(3, messages.requiredNameMin3)\r\n .max(255, messages.requiredNameMax255),\r\n emailAddress: Yup.string()\r\n .max(255, messages.requiredUserEmailMax255)\r\n .email(messages.email),\r\n dateHired: Yup.mixed()\r\n .dateCheck(messages.invalidDate)\r\n .maxDate(new Date(), messages.maxDate)\r\n .nullable()\r\n .required(messages.required),\r\n });\r\n }\r\n return Yup.mixed().notRequired();\r\n }),\r\n bidManager: Yup.object().shape({\r\n firstName: Yup.string()\r\n .min(3, messages.requiredFirstNameMin3)\r\n .max(255, messages.requiredNameMax255),\r\n lastName: Yup.string()\r\n .min(3, messages.requiredLastNameMin3)\r\n .max(255, messages.requiredNameMax255),\r\n title: Yup.string().max(100, messages.requiredTitleMax100),\r\n email: Yup.string()\r\n .max(255, messages.requiredUserEmailMax255)\r\n .email(messages.email),\r\n // fax: Yup.string().when({\r\n // is: value => !(value && value.match(/\\d+/g)),\r\n // then: shema => shema.notRequired(),\r\n // otherwise: shema => shema.matches(phoneRegex, messages.phoneIncorrect),\r\n // }),\r\n phone: Yup.string()\r\n .test(getPhoneNumberTest('bidManager.phone', false)),\r\n }),\r\n});\r\n\r\nexport const parentCompanySchema = Yup.object().shape({\r\n isParentCompanyExist: Yup.string().required(),\r\n isSubsidiaryExist: Yup.string().required(),\r\n name: Yup.string()\r\n .max(255, messages.requiredParentCompanyNameMax255)\r\n .when('isParentCompanyExist', {\r\n is: isParentCompanyExist => isParentCompanyExist === 'Yes',\r\n then: shema => shema.required(messages.required),\r\n }),\r\n phoneNumber: Yup.string()\r\n .test(getPhoneNumberTest('phoneNumber', false))\r\n .when('isParentCompanyExist', {\r\n is: isParentCompanyExist => isParentCompanyExist === 'Yes',\r\n then: shema => shema.required(messages.required)\r\n .test(getPhoneNumberTest('phoneNumber', true)),\r\n }),\r\n streetAddress: Yup.object().when('isParentCompanyExist', {\r\n is: isParentCompanyExist => isParentCompanyExist === 'Yes',\r\n then: Yup.object().shape({\r\n street: Yup.string()\r\n .min(3, messages.requiredAddressMin3)\r\n .max(255, messages.requiredStreetNameMax255),\r\n city: Yup.string()\r\n .min(3, messages.requiredCityMin3)\r\n .max(255, messages.requiredCityMax255),\r\n state: Yup.string(),\r\n zip: Yup.string().min(5, messages.requiredZipMin5),\r\n }),\r\n }),\r\n});\r\n\r\nexport const subsidiaryTableSchema = tableData =>\r\n Yup.object().shape({\r\n name: Yup.string()\r\n .required(messages.required)\r\n .max(255, messages.requiredNameMax255)\r\n .when({\r\n is: () => tableData && !tableData.length,\r\n then: schema => schema.required(messages.subsidiaryCount),\r\n }),\r\n });\r\n\r\nexport const insurancePolicySchema = Yup.object().shape({\r\n insurancePolicyContactInfo: Yup.object().shape({\r\n firstName: Yup.string()\r\n .min(3, messages.requiredFirstNameMin3)\r\n .max(100, messages.requiredUserFirstNameMax100),\r\n lastName: Yup.string()\r\n .min(3, messages.requiredLastNameMin3)\r\n .max(100, messages.requiredUserSurnameMax100),\r\n title: Yup.string().max(100, messages.requiredTitleMax100),\r\n phoneNumber: Yup.string()\r\n .test(getPhoneNumberTest('insurancePolicyContactInfo.phoneNumber', false)),\r\n // fax: Yup.string().when({\r\n // is: value => !(value && value.match(/\\d+/g)),\r\n // then: shema => shema.notRequired(),\r\n // otherwise: shema => shema.matches(phoneRegex, messages.faxIncorrect),\r\n // }),\r\n }),\r\n generalLiability: Yup.lazy(value => {\r\n if (value !== undefined) {\r\n return Yup.object().shape({\r\n name: Yup.string()\r\n .min(3, messages.requiredNameMin3)\r\n .max(255, messages.requiredNameMax255),\r\n expirationDate: Yup.mixed()\r\n .dateCheck(messages.invalidDate)\r\n .nullable()\r\n .when('name', {\r\n is: value => value !== undefined,\r\n then: shema => shema.required(messages.required),\r\n otherwise: shema => shema.notRequired(),\r\n }),\r\n amount: Yup.mixed().when('name', {\r\n is: value => value !== undefined,\r\n then: shema => shema.required(messages.required),\r\n otherwise: shema => shema.notRequired(),\r\n }),\r\n });\r\n }\r\n return Yup.mixed().notRequired();\r\n }),\r\n workersCompensation: Yup.object().shape({\r\n name: Yup.string().when('isSelfInsured', {\r\n is: value => value !== enums.yesno.Yes,\r\n then: shema =>\r\n shema\r\n .min(3, messages.requiredNameMin3)\r\n .max(255, messages.requiredNameMax255)\r\n .required(messages.required),\r\n otherwise: shema => shema.notRequired(),\r\n }),\r\n expirationDate: Yup.mixed()\r\n .dateCheck(messages.invalidDate)\r\n .nullable()\r\n .when('isSelfInsured', {\r\n is: value => value !== enums.yesno.Yes,\r\n then: shema => shema.required(messages.required),\r\n otherwise: shema => shema.notRequired(),\r\n }),\r\n amount: Yup.mixed().when('isSelfInsured', {\r\n is: value => value !== enums.yesno.Yes,\r\n then: shema => shema.required(messages.required),\r\n otherwise: shema => shema.notRequired(),\r\n }),\r\n }),\r\n vehicle: Yup.object().shape({\r\n vehicleInsuranceType: Yup.string().when('hasVehicleInsurance', {\r\n is: value => value !== enums.yesno.No,\r\n then: shema => shema.required(messages.required),\r\n otherwise: shema => shema.notRequired(),\r\n }),\r\n name: Yup.string().when('hasVehicleInsurance', {\r\n is: value => value !== enums.yesno.No,\r\n then: shema =>\r\n shema\r\n .min(3, messages.requiredNameMin3)\r\n .max(255, messages.requiredNameMax255)\r\n .required(messages.required),\r\n otherwise: shema => shema.notRequired(),\r\n }),\r\n expirationDate: Yup.mixed()\r\n .dateCheck(messages.invalidDate)\r\n .nullable()\r\n .when('hasVehicleInsurance', {\r\n is: value => value !== enums.yesno.No,\r\n then: shema => shema.required(messages.required),\r\n otherwise: shema => shema.notRequired(),\r\n }),\r\n amount: Yup.mixed().when('hasVehicleInsurance', {\r\n is: value => value !== enums.yesno.No,\r\n then: shema => shema.required(messages.required),\r\n otherwise: shema => shema.notRequired(),\r\n }),\r\n }),\r\n autoinsur: Yup.object().test({\r\n name: 'autoinsurTest',\r\n message: messages.required,\r\n test: function (value) {\r\n if (this.parent.vehicle.hasVehicleInsurance === enums.yesno.No) return true;\r\n return value.count > 0;\r\n },\r\n }),\r\n});\r\n\r\nexport const financialInfoSchema = Yup.object().shape({\r\n minProjectSize: Yup.string().compareNumbers(Yup.ref('maxProjectSize'), messages.minProjectSizeComparison, 'less'),\r\n maxProjectSize: Yup.string().compareNumbers(Yup.ref('minProjectSize'), messages.maxProjectSizeComparison, 'greater'),\r\n bankReference: Yup.string().max(100, messages.requiredBankReferencesMax100),\r\n dunsNumber: Yup.string().length(9, messages.requiredNumberNineDigits),\r\n finRating: Yup.string().max(4, messages.requiredFinRatingMax4),\r\n});\r\n\r\nexport const saveCompanyInfo = Yup.object().shape({\r\n type: Yup.string().required(messages.required),\r\n companyName: Yup.string()\r\n .max(100, messages.requiredCompanyNameMax100)\r\n .required(messages.required),\r\n // fax: Yup.string().when({\r\n // is: value => value && value.match(/\\d+/g),\r\n // then: shema => shema.matches(phoneRegex, messages.faxIncorrect).required(messages.required),\r\n // }),\r\n yearCreated: Yup.mixed()\r\n .dateCheck(messages.invalidDate)\r\n .maxDate(new Date(), messages.maxDate)\r\n .nullable(),\r\n webSite: Yup.string()\r\n .max(255, messages.requiredUrlMax255)\r\n .matches(urlRegex, messages.urlIncorrect),\r\n taxId: Yup.string()\r\n .length(9, messages.requiredTaxIdNineDigits)\r\n .required(messages.required),\r\n streetAddress: Yup.object().shape({\r\n street: Yup.string()\r\n .min(3, messages.requiredAddressMin3)\r\n .max(255, messages.requiredStreetNameMax255),\r\n city: Yup.string()\r\n .min(3, messages.requiredCityMin3)\r\n .max(255, messages.requiredCityMax255),\r\n state: Yup.string(),\r\n zip: Yup.string().min(5, messages.requiredZipMin5),\r\n }),\r\n mailingAddress: Yup.object().shape({\r\n street: Yup.string()\r\n .min(3, messages.requiredAddressMin3)\r\n .max(255, messages.requiredStreetNameMax255),\r\n city: Yup.string()\r\n .min(3, messages.requiredCityMin3)\r\n .max(255, messages.requiredCityMax255),\r\n state: Yup.string(),\r\n zip: Yup.string().min(5, messages.requiredZipMin5),\r\n }),\r\n stateContractorNumber: Yup.string().max(255, messages.requiredStateContractorNumberMax255),\r\n contactPersonFirstName: Yup.string()\r\n .trim()\r\n .min(3, messages.requiredFirstNameMin3)\r\n .max(100, messages.requiredUserFirstNameMax100),\r\n contactPersonLastName: Yup.string()\r\n .trim()\r\n .min(3, messages.requiredLastNameMin3)\r\n .max(100, messages.requiredUserLastNameMax100),\r\n emailAddress: Yup.string()\r\n .max(255, messages.requiredUserEmailMax255)\r\n .email(messages.email),\r\n phoneNumber: Yup.string().required(messages.required)\r\n .test(getPhoneNumberTest('phoneNumber', true)),\r\n localContactPersonFirstName: Yup.string()\r\n .trim()\r\n .min(3, messages.requiredFirstNameMin3)\r\n .max(100, messages.requiredUserFirstNameMax100),\r\n localContactPersonLastName: Yup.string()\r\n .trim()\r\n .min(3, messages.requiredLastNameMin3)\r\n .max(100, messages.requiredUserLastNameMax100),\r\n localEmailAddress: Yup.string()\r\n .max(255, messages.requiredUserEmailMax255)\r\n .email(messages.email),\r\n localPhoneNumber: Yup.string()\r\n .test(getPhoneNumberTest('localPhoneNumber', false)),\r\n description: Yup.string().min(10, messages.requiredDescriptionMin10),\r\n});\r\n\r\nexport const createOrganizationInfoSchema = Yup.object().shape({\r\n incorporationState: Yup.string(),\r\n formOfBusiness: Yup.string(),\r\n percentMinorityOwned: Yup.number(),\r\n eeoCategory: Yup.string(),\r\n incorporationDate: Yup.mixed()\r\n .dateCheck(messages.invalidDate)\r\n .nullable(),\r\n});\r\n\r\nexport const orgInfoTableSchema = Yup.object().shape({\r\n year: Yup.string().required(messages.required),\r\n amount: Yup.string().required(messages.required),\r\n});\r\n\r\nexport const createUserFormSchema = Yup.object().shape({\r\n firstName: Yup.string()\r\n .trim()\r\n .min(3, messages.requiredFirstNameMin3)\r\n .max(100, messages.requiredUserFirstNameMax100)\r\n .required(messages.required),\r\n lastName: Yup.string()\r\n .trim()\r\n .min(3, messages.requiredLastNameMin3)\r\n .max(100, messages.requiredUserLastNameMax100)\r\n .required(messages.required),\r\n email: Yup.string()\r\n .max(255, messages.requiredUserEmailMax255)\r\n .email(messages.email)\r\n .required(messages.required),\r\n phoneNumber: Yup.string()\r\n .test(getPhoneNumberTest('phoneNumber', false)),\r\n});\r\n\r\nexport const editUserFormSchema = Yup.object().shape({\r\n firstName: Yup.string()\r\n .trim()\r\n .min(3, messages.requiredFirstNameMin3)\r\n .max(100, messages.requiredUserFirstNameMax100)\r\n .required(messages.required),\r\n lastName: Yup.string()\r\n .trim()\r\n .min(3, messages.requiredLastNameMin3)\r\n .max(100, messages.requiredUserLastNameMax100)\r\n .required(messages.required),\r\n phoneNumber: Yup.string()\r\n .test(getPhoneNumberTest('phoneNumber', false)),\r\n});\r\n\r\nexport const referencesFormSchema = Yup.object().shape({\r\n customerName: Yup.string()\r\n .min(3, messages.requiredCustomerNameMin3)\r\n .max(255, messages.requiredCustomerNameMax255)\r\n .required(messages.required),\r\n typeOfWork: Yup.string().max(255, messages.requiredTypeOfWorkMax255),\r\n jobSize: Yup.string(),\r\n contactInfo: Yup.object().shape({\r\n contactPersonFirstName: Yup.string()\r\n .trim()\r\n .min(3, messages.requiredFirstNameMin3)\r\n .max(100, messages.requiredUserFirstNameMax100),\r\n contactPersonLastName: Yup.string()\r\n .trim()\r\n .min(3, messages.requiredLastNameMin3)\r\n .max(100, messages.requiredUserSurnameMax100),\r\n phoneNumber: Yup.string()\r\n .test(getPhoneNumberTest('contactInfo.phoneNumber', false)),\r\n streetAddress: Yup.object().shape({\r\n city: Yup.string()\r\n .min(3, messages.requiredCityMin3)\r\n .max(255, messages.requiredCityMax255),\r\n state: Yup.string().nullable(),\r\n zip: Yup.string().min(5, messages.requiredZipMin5),\r\n }),\r\n }),\r\n});\r\n\r\nexport const environmentalSchema = Yup.object().shape({\r\n certifications: Yup.string().max(255, messages.requiredCertificationsMax255),\r\n reportsToName: Yup.string().max(201, messages.requiredReportsToMax201),\r\n reportsToTitle: Yup.string().max(100, messages.requiredTitleMax100),\r\n contactInfo: Yup.object().shape({\r\n contactPersonFirstName: Yup.string()\r\n .trim()\r\n .min(3, messages.requiredFirstNameMin3)\r\n .max(100, messages.requiredUserFirstNameMax100),\r\n contactPersonLastName: Yup.string()\r\n .trim()\r\n .min(3, messages.requiredLastNameMin3)\r\n .max(100, messages.requiredUserSurnameMax100),\r\n contactPersonTitle: Yup.string().max(100, messages.requiredTitleMax100),\r\n phoneNumber: Yup.string()\r\n .test(getPhoneNumberTest('contactInfo.phoneNumber', false)),\r\n emailAddress: Yup.string()\r\n .max(255, messages.requiredUserEmailMax255)\r\n .email(messages.email),\r\n }),\r\n});\r\n\r\nexport const largestJobForm = Yup.object().shape({\r\n customerName: Yup.string()\r\n .min(3, messages.requiredCustomerNameMin3)\r\n .max(255, messages.requiredCustomerNameMax255),\r\n description: Yup.string()\r\n .min(10, messages.requiredDescriptionMin10)\r\n .max(255, messages.requiredDescriptionMax255),\r\n});\r\n\r\nexport const emrTableSchema = Yup.object().shape({\r\n year: Yup.string().required(messages.required),\r\n amount: Yup.string().required(messages.required),\r\n});\r\n\r\nexport const finInfoTableSchema = Yup.object().shape({\r\n year: Yup.string().required(messages.required),\r\n amount: Yup.string().required(messages.required),\r\n});\r\n\r\nexport const addendumOwnerCreate = Yup.object().shape({\r\n name: Yup.string()\r\n .max(255, messages.requiredNameMax255)\r\n .required(messages.required),\r\n fileStack: Yup.array()\r\n .of(\r\n Yup.object().shape({\r\n size: Yup.number().max(fileMaxSize, messages.file.bigFileSize),\r\n }),\r\n )\r\n .max(1, messages.file.evenFile)\r\n .required(messages.required),\r\n});\r\n\r\nexport const filterCompanyListShema = Yup.object().shape({\r\n companyName: Yup.string()\r\n .max(100, messages.requiredCompanyNameMax100)\r\n .min(3, messages.requiredCompanyNameMin3),\r\n grades: Yup.string(),\r\n aemin: Yup.string().compareNumbers(Yup.ref('aemax'), messages.requiredMinLessThanMax, 'less'),\r\n aemax: Yup.string().compareNumbers(Yup.ref('aemin'), messages.requiredMaxMoreThanMin, 'greater'),\r\n lcmin: Yup.string().compareNumbers(Yup.ref('lcmax'), messages.requiredMinLessThanMax, 'less'),\r\n lcmax: Yup.string().compareNumbers(Yup.ref('lcmin'), messages.requiredMaxMoreThanMin, 'greater'),\r\n bcmin: Yup.string().compareNumbers(Yup.ref('bcmax'), messages.requiredMinLessThanMax, 'less'),\r\n bcmax: Yup.string().compareNumbers(Yup.ref('bcmin'), messages.requiredMaxMoreThanMin, 'greater'),\r\n});\r\n\r\nexport const filterArchiveCompanySchema = Yup.object().shape({\r\n companyName: Yup.string()\r\n .max(100, messages.requiredCompanyNameMax100)\r\n .min(3, messages.requiredCompanyNameMin3),\r\n});\r\n\r\nexport const filterArchiveUserSchema = Yup.object().shape({\r\n userName: Yup.string()\r\n .max(100, messages.requiredUserFirstNameMax100)\r\n .min(3, messages.requiredFirstNameMin3),\r\n});\r\n\r\nconst injuryValidateRow = Yup.object().shape({\r\n year: Yup.number().required(messages.required),\r\n totalHours: Yup.string().required(messages.required),\r\n fatalities: Yup.number()\r\n .max(999999, messages.maxNumberValue)\r\n .required(messages.required),\r\n lostWorkdayRestricted: Yup.number()\r\n .max(999999, messages.maxNumberValue)\r\n .required(messages.required),\r\n lostWorkdayAway: Yup.number()\r\n .max(999999, messages.maxNumberValue)\r\n .required(messages.required),\r\n injuriesAndIllnessMedicalOnly: Yup.number()\r\n .max(999999, messages.maxNumberValue)\r\n .required(messages.required),\r\n totalOsha: Yup.number()\r\n .max(999999, messages.maxNumberValue)\r\n .required(messages.required),\r\n totalDaysAwayFromWork: Yup.number()\r\n .max(999999, messages.maxNumberValue)\r\n .required(messages.required),\r\n});\r\n\r\nconst lastYearsList = getLastRequiredYearsList().slice(0, 3);\r\nexport const injuryValidateSchema = Yup.object().shape({\r\n years: Yup.array()\r\n .of(injuryValidateRow)\r\n //.min(3, messages.minCreatedYears)\r\n .test('years', messages.cascadeYearList, value => {\r\n const listSelectedYears = value.map(year => parseInt(year.year));\r\n return value.length === 0 || lastYearsList.reduce((acc, item) => acc && listSelectedYears.includes(item), true);\r\n }),\r\n});\r\n\r\nconst craftsmanValidateRow = Yup.object().shape({\r\n specialty: Yup.string().max(100, messages.requiredCraftsmanMax100),\r\n other: Yup.string().max(100, messages.requiredCraftsmanMax100),\r\n});\r\n\r\nexport const craftsmanValidateSchema = Yup.object({\r\n compliesWithSLCUC: Yup.string().nullable(),\r\n compliesWithGoldenTriangle: Yup.string().nullable(),\r\n hasTrainingPrograms: Yup.string().nullable(),\r\n hasPracticalTestingPrograms: Yup.string().nullable(),\r\n isNccerAssessmentCenter: Yup.string().nullable(),\r\n trainingPrograms: Yup.array()\r\n .of(craftsmanValidateRow)\r\n .test({\r\n name: 'trainingProgramsTest',\r\n message: messages.required,\r\n test: function (value) {\r\n if (this.parent.hasTrainingPrograms !== enums.yesno.Yes) return true;\r\n return value.reduce(\r\n (acc, { name, ...fields }) => acc || Object.keys(fields).filter(key => fields[key]).length > 0,\r\n false,\r\n );\r\n },\r\n }),\r\n practicalTestingPrograms: Yup.array()\r\n .of(craftsmanValidateRow)\r\n .test({\r\n name: 'practicalTestingProgramsTest',\r\n message: messages.required,\r\n test: function (value) {\r\n if (this.parent.hasPracticalTestingPrograms !== enums.yesno.Yes) return true;\r\n return value.reduce(\r\n (acc, { name, ...fields }) => acc || Object.keys(fields).filter(key => fields[key]).length > 0,\r\n false,\r\n );\r\n },\r\n }),\r\n});\r\n\r\nexport const addendumContractorCreate = Yup.object().shape({\r\n name: Yup.string()\r\n .max(255, messages.requiredNameMax255)\r\n .required(messages.required),\r\n fileStack: Yup.array()\r\n .of(\r\n Yup.object().shape({\r\n size: Yup.number().max(fileMaxSize, messages.file.bigFileSize),\r\n }),\r\n )\r\n .max(1, messages.file.required)\r\n .when('id', {\r\n is: id => !id,\r\n then: schema => schema.required(messages.required),\r\n }),\r\n});\r\n\r\nexport const addendumContractorUpdate = Yup.object().shape({\r\n name: Yup.string()\r\n .required(messages.required)\r\n .max(255, messages.requiredNameMax255),\r\n fileStack: Yup.array()\r\n .of(\r\n Yup.object().shape({\r\n size: Yup.number().max(fileMaxSize, messages.file.bigFileSize),\r\n }),\r\n )\r\n .max(1, messages.file.required)\r\n .when('id', {\r\n is: id => !id,\r\n then: schema => schema.required(messages.required),\r\n }),\r\n});\r\n\r\nexport const rejectReasonsSchema = Yup.object().shape({\r\n comment: Yup.string()\r\n .required(messages.required)\r\n .min(10, messages.requiredRejectReasonMin10)\r\n .max(255, messages.requiredRejectReasonMax255),\r\n});\r\n\r\nexport const fileUploaderPopup = (expirationDateOption, completedOnOption, completedByOption) =>\r\n Yup.object().shape({\r\n files: Yup.array()\r\n .of(\r\n Yup.object().shape({\r\n description: Yup.string().required(messages.required),\r\n expirationDate: expirationDateOption\r\n ? Yup.mixed()\r\n .dateCheck(messages.invalidDate)\r\n .required(messages.required)\r\n : Yup.mixed()\r\n .dateCheck(messages.invalidDate)\r\n .nullable(),\r\n completedOn: completedOnOption\r\n ? Yup.mixed()\r\n .dateCheck(messages.invalidDate)\r\n .required(messages.required)\r\n : Yup.mixed()\r\n .dateCheck(messages.invalidDate)\r\n .nullable(),\r\n completedBy: completedByOption && Yup.string().required(messages.required),\r\n }),\r\n )\r\n .min(1, messages.required)\r\n .required(messages.required),\r\n });\r\n\r\nexport const uploadSizeFormSchema = Yup.object().shape({\r\n maxFileSizeMb: Yup.number()\r\n .max(20, messages.file.maxFileSize)\r\n .required(messages.required),\r\n});\r\n\r\nexport const filterQuestions = Yup.object().shape({\r\n questionTitle: Yup.string()\r\n .max(100, messages.requiredQuestionTitleMax100)\r\n .min(3, messages.requiredQuestionMin3),\r\n});\r\n\r\nexport const EMRSchema = Yup.object().shape({\r\n anniversaryDate: Yup.mixed()\r\n .dateCheck(messages.invalidDate)\r\n .nullable(),\r\n});\r\n\r\nexport const BLSFormSchema = () => {\r\n const items = Object.keys(BLSIndustry).reduce(\r\n (acc, item) => ({\r\n ...acc,\r\n [item]: Yup.object().shape({\r\n value: Yup.number().required(messages.required),\r\n }),\r\n }),\r\n {},\r\n );\r\n\r\n return Yup.object().shape(items);\r\n};\r\n\r\nexport const validateCompanySettings = Yup.object().shape({\r\n notificationEmails: Yup.array().of(Yup.string().email(messages.email)),\r\n});\r\n\r\nexport const servicesPerformedSchema = Yup.object().shape({\r\n otherText: Yup.string().when('others', {\r\n is: others => others,\r\n then: schema => schema.min(3, messages.requiredServicesMax3).required(messages.required),\r\n }),\r\n});\r\n\r\nexport const saveCompanyAdminPanel = Yup.object().shape({\r\n subscriptionExpirationDate: Yup.date().notRequired(),\r\n adminNotes: Yup.string().trim().notRequired(),\r\n});\r\n","export const logoMaxSizeBytes = 2097152;\r\nexport const fileMaxSize = 5242880; // 5mb\r\nexport const filePsmMaxSize = 20; // 20mb\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n percentage: {\r\n fontSize: theme.typography.h5.fontSize,\r\n },\r\n container: {\r\n padding: '0 !important',\r\n height: 'auto',\r\n },\r\n input: {\r\n width: '100% !important',\r\n border: 'none !important',\r\n paddingTop: '10.5px !important',\r\n paddingBottom: '10.5px !important',\r\n\r\n '&:focus': {\r\n boxShadow: 'none !important',\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport PhoneInput from 'react-phone-input-2';\r\n\r\nimport useStyles from './styles.js';\r\n\r\nconst PhoneFlagInput = ({ onChange, inputRef, setFieldValue, ...field }) => {\r\n const classes = useStyles();\r\n\r\n const countryDataFormatKey = `${field.name}_countryDataFormat_`;\r\n const countryDataDialCodeKey = `${field.name}_countryDataDialCode_`;\r\n\r\n return (\r\n {\r\n sessionStorage.setItem(countryDataFormatKey, countryData.format);\r\n sessionStorage.setItem(countryDataDialCodeKey, countryData.dialCode)\r\n\r\n await setFieldValue(field.name, formattedValue);\r\n }}\r\n onChange={async (_value, countryData, e, formattedValue) => {\r\n sessionStorage.setItem(countryDataFormatKey, countryData.format)\r\n sessionStorage.setItem(countryDataDialCodeKey, countryData.dialCode)\r\n\r\n await setFieldValue(field.name, formattedValue);\r\n\r\n e.persist();\r\n\r\n onChange(e);\r\n }}\r\n inputProps={{ ref: inputRef, name: field.name }}\r\n containerClass={classes.container}\r\n inputClass={classes.input}\r\n />\r\n );\r\n};\r\n\r\nexport default PhoneFlagInput;\r\n","import React from 'react';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport InputAdornment from '@material-ui/core/InputAdornment';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport get from 'lodash.get';\r\n\r\nimport phoneInput from './phoneInput';\r\nimport useStyles from './styles';\r\n\r\nconst integerRegex = /^((?!00)[0-9]*)$/;\r\nconst floatRegex = /^((?!00)[0-9]+([.][0-9]*)?)$/;\r\nconst decimalsRegex = /^((?!00)[0-9]+([.][0-9]{0,2})?)$/;\r\nconst textOnlyRegex = /^[A-Za-z\\s]+$/;\r\nconst float = 'float';\r\nconst decimal = 'decimal';\r\nconst integer = 'integer';\r\n\r\nconst getRegex = value => {\r\n if (value === float) return floatRegex;\r\n if (value === decimal) return decimalsRegex;\r\n return integerRegex;\r\n};\r\n\r\nconst FormInput = ({\r\n size = 'small',\r\n handleChange,\r\n isIntegerInput,\r\n isFloatInput,\r\n type = 'text',\r\n min,\r\n maxLength,\r\n max,\r\n field,\r\n form: { errors, touched, setFieldValue },\r\n number, // 'float' || 'integer' || decimal,\r\n textOnly,\r\n tabIndex,\r\n ...props\r\n}) => {\r\n const classes = useStyles();\r\n\r\n const { onChange, ...fieldProps } = field;\r\n const itemError = get(errors, field.name);\r\n const itemTouched = get(touched, field.name);\r\n\r\n const isValidNumber = value => {\r\n let isValidInput = true;\r\n if (number === integer || number === float || number === decimal) {\r\n const minNumber = min || 0;\r\n const regex = getRegex(number);\r\n const rawValue = value === '' ? minNumber : value;\r\n const parsedValue = parseFloat(rawValue);\r\n if ((min && parsedValue < min) || (max && parsedValue > max) || !regex.test(rawValue)) isValidInput = false;\r\n }\r\n return isValidInput;\r\n };\r\n\r\n return (\r\n {\r\n handleChange && handleChange(e, fieldProps);\r\n textOnly\r\n ? (textOnlyRegex.test(e.target.value.trim()) || e.target.value === '') && onChange(e)\r\n : isValidNumber(e.target?.value) && onChange(e);\r\n }}\r\n error={!!itemError && !!itemTouched}\r\n helperText={!!itemError && itemTouched && itemError}\r\n inputProps={{ maxLength, tabIndex }}\r\n InputProps={\r\n (type === 'tel' && { inputComponent: phoneInput, inputProps: { setFieldValue } }) ||\r\n (type === 'search' && {\r\n startAdornment: (\r\n \r\n \r\n \r\n ),\r\n }) ||\r\n (type === 'percentage' && {\r\n endAdornment: (\r\n \r\n %\r\n \r\n ),\r\n }) ||\r\n undefined\r\n }\r\n InputLabelProps={\r\n (type === 'tel' && { shrink: true }) || undefined\r\n }\r\n />\r\n );\r\n};\r\n\r\nexport default FormInput;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n paper: {\r\n padding: theme.spacing(3),\r\n maxWidth: '360px',\r\n width: '100%',\r\n },\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n backdrop: {\r\n zIndex: theme.zIndex.modal,\r\n color: theme.palette.primary,\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Formik, FastField } from 'formik';\r\nimport { Paper, Typography, Grid, Button, CircularProgress, Backdrop, Link as MaterialLink } from '@material-ui/core';\r\n\r\nimport { signInSchema } from '../../../utils/validate/shemas';\r\nimport FormInput from '../../components/FormInput';\r\nimport routes from '../../routes/path';\r\nimport useStyles from './styles';\r\n\r\nconst LoginForm = ({ loading, handleSubmit }) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {props => (\r\n
\r\n \r\n Sign In\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n Forgot your password?\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default LoginForm;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n typography: {\r\n position: 'absolute',\r\n top: theme.spacing(3.7),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Typography, Link } from '@material-ui/core';\r\n\r\nimport { chromeDownloadLink } from '../../../utils/constants/chromeDownloadLink';\r\nimport useStyles from './styles';\r\n\r\nconst BrowserSupportMessage = () => {\r\n const classes = useStyles();\r\n\r\n const isChrome = navigator.userAgent.indexOf('Chrome') > -1;\r\n\r\n return (\r\n !isChrome && (\r\n \r\n The system works best with Chrome.\r\n \r\n Download Chrome\r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nexport default BrowserSupportMessage;\r\n","export const chromeDownloadLink = 'https://www.google.com/chrome/';\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nimport image from '../../images/loginBackground.png';\r\n\r\nconst useStyles = makeStyles({\r\n container: {\r\n backgroundImage: `url(${image})`,\r\n backgroundSize: 'cover',\r\n backgroundPosition: 'center',\r\n },\r\n});\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Helmet } from 'react-helmet';\r\nimport { Container, Grid } from '@material-ui/core';\r\n\r\nimport { title } from '../../routes/path';\r\nimport CenteredContainer from '../../components/CenteredContainer';\r\nimport { auth } from '../../../actionTypes';\r\nimport LoginForm from '../../containers/LoginForm';\r\nimport BrowserSupportMessage from '../../containers/BrowserSupportMessage';\r\nimport useStyles from './styles';\r\n\r\nconst LoginPage = () => {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const { loading } = useSelector(state => state.auth.login);\r\n\r\n const onSubmit = values => {\r\n dispatch({ type: auth.login.start, payload: values });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {title.public.login}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default LoginPage;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n paper: {\r\n padding: theme.spacing(3),\r\n maxWidth: '360px',\r\n width: '100%',\r\n },\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n backdrop: {\r\n zIndex: theme.zIndex.modal,\r\n color: theme.palette.primary,\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Formik, FastField } from 'formik';\r\nimport { Paper, Typography, Grid, Button, CircularProgress, Backdrop, Link as MaterialLink } from '@material-ui/core';\r\n\r\nimport { resetPasswordSchema } from '../../../utils/validate/shemas';\r\nimport FormInput from '../../components/FormInput';\r\nimport routes from '../../routes/path';\r\nimport useStyles from './styles';\r\n\r\nconst ResetPasswordForm = ({ loading, error, handleSubmit }) => {\r\n const classes = useStyles();\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {props => (\r\n
\r\n \r\n Password Reset\r\n \r\n\r\n {!!error && (\r\n \r\n {error}\r\n \r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n Back to Sign In\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ResetPasswordForm;\r\n","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Helmet } from 'react-helmet';\r\n\r\nimport { title } from '../../routes/path';\r\nimport CenteredContainer from '../../components/CenteredContainer';\r\nimport ResetPasswordForm from '../../containers/ResetPasswordForm';\r\nimport { auth } from '../../../actionTypes';\r\n\r\nconst ResetPasswordPage = () => {\r\n const dispatch = useDispatch();\r\n const loading = useSelector(state => state.auth.resetPassword.loading);\r\n\r\n const onSubmit = values => {\r\n dispatch({ type: auth.resetPassword.start, payload: values });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {title.public.resetPassword}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ResetPasswordPage;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n paper: {\r\n padding: theme.spacing(3),\r\n maxWidth: '360px',\r\n width: '100%',\r\n },\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n backdrop: {\r\n zIndex: theme.zIndex.modal,\r\n color: theme.palette.primary,\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Formik, FastField } from 'formik';\r\nimport { Paper, Typography, Grid, Button, CircularProgress, Backdrop } from '@material-ui/core';\r\n\r\nimport { setNewPasswordSchema } from '../../../utils/validate/shemas';\r\nimport FormInput from '../../components/FormInput';\r\nimport useStyles from './styles';\r\n\r\nconst SetNewPasswordForm = ({ loading, error, title, handleSubmit }) => {\r\n const classes = useStyles();\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {props => (\r\n
\r\n \r\n {title}\r\n \r\n\r\n {!!error && (\r\n \r\n {error}\r\n \r\n )}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default SetNewPasswordForm;\r\n","import React from 'react';\r\nimport { useParams } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Helmet } from 'react-helmet';\r\n\r\nimport { title } from '../../routes/path';\r\nimport CenteredContainer from '../../components/CenteredContainer';\r\nimport SetNewPasswordForm from '../../containers/SetNewPasswordForm';\r\nimport { auth } from '../../../actionTypes';\r\n\r\nconst SetNewPasswordPage = () => {\r\n const dispatch = useDispatch();\r\n const { token } = useParams();\r\n const { loading } = useSelector(state => state.auth.setNewPassword);\r\n\r\n const onSubmit = values => {\r\n dispatch({ type: auth.setNewPassword.start, payload: { values, token } });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {title.public.setNewPassword}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default SetNewPasswordPage;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n containerPage: {\r\n padding: theme.spacing(1),\r\n minHeight: '100vh',\r\n display: 'grid',\r\n gridTemplateAreas: `\"header\" \"content\"`,\r\n gridTemplateColumns: '1fr',\r\n gridTemplateRows: 'auto 1fr',\r\n gridGap: theme.spacing(2),\r\n },\r\n headerGutter: {\r\n gridArea: 'header',\r\n position: 'relative',\r\n zIndex: theme.zIndex.drawer,\r\n },\r\n contentContainer: {\r\n gridArea: 'content',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n tabs: {\r\n '& .MuiTabs-flexContainer': {\r\n height: '100%',\r\n },\r\n },\r\n tab: {\r\n padding: theme.spacing(0.5, 2),\r\n minWidth: '0',\r\n color: theme.palette.text.primary,\r\n opacity: '1',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import { useSelector } from 'react-redux';\r\nimport { useParams } from 'react-router-dom';\r\n\r\nimport { userTypes } from '../constants';\r\n\r\nexport function useUserPermissions(id) {\r\n const userId = useSelector(state => state.auth.check.userId);\r\n const { companyType, companyId } = useSelector(state => state.entity.user[userId]);\r\n\r\n return {\r\n type: companyType,\r\n userCompanyId: companyId,\r\n allowUpdate: companyType === userTypes.SafetyCouncil || companyId === id,\r\n };\r\n}\r\n\r\nexport function useCheckUserCompany() {\r\n const { id } = useParams();\r\n const permissions = useUserPermissions();\r\n return permissions.update('company', { id });\r\n}\r\n","import React from 'react';\r\nimport { Link, useLocation } from 'react-router-dom';\r\nimport { Tabs, Tab } from '@material-ui/core';\r\n\r\nimport routes, { routeCreator } from '../../routes/path';\r\nimport useStyles from './styles';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\n\r\nconst MainMenu = () => {\r\n const classes = useStyles();\r\n const { type } = useUserPermissions();\r\n\r\n const privateRoutes = routeCreator(routes.private.settings);\r\n\r\n const { pathname } = useLocation();\r\n\r\n const menuType = {\r\n SafetyCouncil: [\r\n {\r\n label: 'Marketplace',\r\n to: routes.private.index,\r\n key: routes.private.index,\r\n },\r\n // temporary hide Reports tab\r\n // {\r\n // label: 'Reports',\r\n // to: routes.private.report,\r\n // key: routes.private.report,\r\n // },\r\n {\r\n label: 'Settings',\r\n to: privateRoutes.private.company.users,\r\n key: routes.private.settings,\r\n },\r\n ],\r\n Owner: [\r\n {\r\n label: 'Marketplace',\r\n to: routes.private.index,\r\n key: routes.private.index,\r\n },\r\n // {\r\n // label: 'Reports',\r\n // to: routes.private.report,\r\n // key: routes.private.report,\r\n // },\r\n {\r\n label: 'Settings',\r\n to: privateRoutes.private.company.settingsInfo,\r\n key: routes.private.settings,\r\n },\r\n ],\r\n Contractor: [\r\n {\r\n label: 'Dashboard',\r\n to: routes.private.index,\r\n key: routes.private.index,\r\n },\r\n // {\r\n // label: 'Reports',\r\n // to: routes.private.report,\r\n // key: routes.private.report,\r\n // },\r\n {\r\n label: 'Settings',\r\n to: privateRoutes.private.company.settingsInfo,\r\n key: routes.private.settings,\r\n },\r\n ],\r\n };\r\n\r\n const menu = menuType[type];\r\n\r\n const value = menu.reduce((acc, { to, key }, index) => {\r\n return pathname.startsWith(key) ? index : acc;\r\n }, 0);\r\n\r\n return (\r\n \r\n {menu.map(({ label, to }) => (\r\n \r\n ))}\r\n \r\n );\r\n};\r\nexport default MainMenu;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n containerLabel: {\r\n textAlign: 'end',\r\n textTransform: 'none',\r\n padding: theme.spacing(1, 0),\r\n '&:hover': {\r\n backgroundColor: 'transparent',\r\n '& span': {\r\n textDecoration: 'underline',\r\n },\r\n },\r\n },\r\n labelText: {\r\n maxWidth: `calc(100% - ${theme.spacing(5)}px)`,\r\n marginRight: theme.spacing(1),\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n },\r\n avatar: {\r\n width: theme.spacing(4),\r\n height: theme.spacing(4),\r\n },\r\n icon: {\r\n width: theme.spacing(4),\r\n height: theme.spacing(4),\r\n backgroundColor: theme.palette.common.black,\r\n },\r\n container: {\r\n position: 'relative',\r\n maxWidth: `calc(100% - ${theme.spacing(5)}px)`,\r\n },\r\n fullSize: {\r\n width: `calc(100% - ${theme.spacing(2)}px)`,\r\n },\r\n notificationIcon: {\r\n '&:hover': {\r\n cursor: 'pointer',\r\n },\r\n },\r\n relativeContainer: {\r\n position: 'relative',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n buttonsWrapper: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n rejectButton: {\r\n backgroundColor: theme.palette.error.main,\r\n color: theme.palette.common.white,\r\n '&:hover': {\r\n backgroundColor: theme.palette.error.dark,\r\n },\r\n },\r\n warningTitle: {\r\n color: theme.palette.error.main,\r\n },\r\n linkTitle: {\r\n color: theme.palette.primary.main,\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import createEnum from '../../../../utils/actionTypesHelpers/createEnum';\r\n\r\nexport const sharingStatus = createEnum({\r\n NotShared: null,\r\n Pending: null,\r\n Accepted: null,\r\n Rejected: null,\r\n});\r\n\r\nexport const notificationStatus = createEnum({\r\n acceptFollowSuccess: null,\r\n rejectFollowSuccess: null,\r\n dismissedSuccess: null,\r\n});\r\n\r\nexport const userActionStatus = createEnum({\r\n acceptFollowSuccess: 'accepted',\r\n rejectFollowSuccess: 'rejected',\r\n});\r\n","export default function(path, values) {\r\n return Object.keys(values).reduce((p, key) => p.replace(`:${key}`, values[key]), path);\r\n}\r\n","import { format, parseISO, isValid } from 'date-fns';\r\n\r\nexport const defaultFormat = 'MM/dd/yyyy';\r\n\r\nexport default function(date) {\r\n const dateObj = parseISO(date);\r\n if (isValid(dateObj)) {\r\n return format(dateObj, defaultFormat);\r\n }\r\n return date;\r\n}\r\n","import { Typography } from '@material-ui/core';\r\nimport React from 'react';\r\n\r\nexport const EmptyNotifications = () => {\r\n return You don't have notifications yet;\r\n};\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles({\r\n container: {\r\n minHeight: '100%',\r\n alignSelf: 'center',\r\n },\r\n});\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { CircularProgress, Grid } from '@material-ui/core';\r\n\r\nimport useStyles from './styles';\r\n\r\nconst PageLoader = () => {\r\n const classes = useStyles();\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default PageLoader;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n notificationPopper: {\r\n minWidth: theme.spacing(40),\r\n marginRight: theme.spacing(8),\r\n },\r\n notificationContent: {\r\n maxHeight: theme.spacing(60),\r\n scrollbarWidth: 'none',\r\n overflowX: 'scroll',\r\n '-ms-overflow-style': 'none',\r\n '&::-webkit-scrollbar': {\r\n display: 'none',\r\n },\r\n },\r\n notificationItem: {\r\n display: 'block',\r\n whiteSpace: 'normal',\r\n margin: theme.spacing(0, 1),\r\n padding: theme.spacing(2, 1),\r\n borderBottom: `1px solid ${theme.palette.grey['500']}`,\r\n '&:hover': {\r\n backgroundColor: theme.palette.common.white,\r\n },\r\n '&:last-child': {\r\n borderBottom: 'none',\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { ClickAwayListener, Grow, MenuItem, MenuList, Paper, Popper } from '@material-ui/core';\r\n\r\nimport { notificationStatus } from '../../containers/Header/Notifications/headerNotificationTypes';\r\nimport PageLoader from '../PageLoader';\r\nimport { EmptyNotifications } from '../../containers/Header/Notifications';\r\nimport useStyles from './styles';\r\n\r\nconst NotificationsPopper = ({\r\n anchorEl,\r\n openNotifications,\r\n setOpenNotifications,\r\n notificationsListLength,\r\n notificationsList,\r\n loading,\r\n loadingNotificationId,\r\n renderNotificationItem,\r\n companyId,\r\n dismissHandler,\r\n}) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n {({ TransitionProps }) => (\r\n \r\n \r\n setOpenNotifications(false)}>\r\n \r\n {notificationsListLength ? (\r\n notificationsList.map(item => {\r\n if (item.userAction && item.userAction === notificationStatus.dismissedSuccess) return null;\r\n if (loading && loadingNotificationId === item.id) return ;\r\n return (\r\n \r\n {renderNotificationItem(item, companyId, loading, dismissHandler)}\r\n \r\n );\r\n })\r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default NotificationsPopper;\r\n","import {\r\n SharingRequest,\r\n SharingRequestApproved,\r\n SharingRequestRejected,\r\n UploadExpiration,\r\n ReviewApprove,\r\n ReviewReject,\r\n ReviewRequest,\r\n} from '../../containers/Header/Notifications';\r\n\r\nexport default {\r\n FollowRequest: SharingRequest,\r\n FollowRequestApprove: SharingRequestApproved,\r\n FollowRequestReject: SharingRequestRejected,\r\n UploadExpiration: UploadExpiration,\r\n ReviewApprove: ReviewApprove,\r\n ReviewReject: ReviewReject,\r\n ReviewRequest: ReviewRequest,\r\n};\r\n","import React, { useState } from 'react';\r\nimport { Button, Dialog, DialogActions, DialogTitle, Grid, Link as MaterialLink, Typography } from '@material-ui/core';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport useStyles from './styles';\r\nimport headerNotification from '../../../../actionTypes/headerNotification';\r\nimport { userActionStatus } from './headerNotificationTypes';\r\n\r\n// Notification for Contractor\r\n\r\nexport const SharingRequest = ({ item, companyId, loading, dismissHandler }) => {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n\r\n const [showAddendumWarning, setShowAddendumWarning] = useState(false);\r\n\r\n const { id: notificationId } = item;\r\n const { OwnerAddendum, SenderCompany } = item.notificationEntities;\r\n const { title: senderCompanyName, id: senderCompanyId } = SenderCompany[0];\r\n\r\n const handleAccept = (companyId, senderCompanyId, notificationId) => {\r\n if (!OwnerAddendum.length && !loading) {\r\n dispatch({\r\n type: headerNotification.acceptFollow.start,\r\n payload: { companyId, senderCompanyId, notificationId },\r\n });\r\n } else {\r\n setShowAddendumWarning(true);\r\n }\r\n };\r\n\r\n const handleReject = (companyId, senderCompanyId, notificationId) => {\r\n dispatch({\r\n type: headerNotification.rejectFollow.start,\r\n payload: { companyId, senderCompanyId, notificationId },\r\n });\r\n };\r\n\r\n const getUserAction = ({ userAction }) => userAction in userActionStatus && userActionStatus[userAction];\r\n\r\n return (\r\n <>\r\n {item.userAction ? (\r\n \r\n \r\n Sharing Request was {getUserAction(item)}\r\n \r\n \r\n {\r\n dismissHandler(companyId, notificationId);\r\n }}\r\n >\r\n Dismiss\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n Sharing Request\r\n \r\n Company {senderCompanyName} wants to follow you.\r\n {OwnerAddendum.length > 0 && Upload Addendum before accepting: }\r\n {OwnerAddendum &&\r\n OwnerAddendum.map(item => (\r\n \r\n {item.title + ' '}\r\n \r\n ))}\r\n \r\n handleAccept(companyId, senderCompanyId, notificationId)}\r\n >\r\n Accept\r\n \r\n handleReject(companyId, senderCompanyId, notificationId)}\r\n >\r\n Reject\r\n \r\n \r\n \r\n setShowAddendumWarning(false)}>\r\n \r\n \r\n You need to upload the addendum first\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport { Grid, Typography, Link as MaterialLink, Button } from '@material-ui/core';\r\n\r\nimport formatPath from '../../../../utils/textFormaters/formatPath';\r\nimport routes from '../../../routes/path';\r\nimport useStyles from './styles';\r\n\r\n// Notification for Owner\r\n\r\nexport const SharingRequestApproved = ({ item, companyId, dismissHandler }) => {\r\n const classes = useStyles();\r\n\r\n const { title: senderCompanyName, id: senderCompanyId } = item.notificationEntities.RecipientCompany[0];\r\n const contractorAddendum = item.notificationEntities.ContractorAddendum;\r\n const senderCompanyLink = formatPath(routes.private.company.id, { id: senderCompanyId });\r\n\r\n return (\r\n <>\r\n \r\n Sharing Request\r\n \r\n {senderCompanyName}\r\n approved follow request. \r\n See Addendum: \r\n {contractorAddendum &&\r\n contractorAddendum.map(item => (\r\n \r\n {item.title + ' '}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport { Grid, Typography, Link as MaterialLink, Button } from '@material-ui/core';\r\n\r\nimport formatPath from '../../../../utils/textFormaters/formatPath';\r\nimport routes from '../../../routes/path';\r\nimport useStyles from './styles';\r\n\r\n// Notification for Owner\r\n\r\nexport const SharingRequestRejected = ({ item, companyId, dismissHandler }) => {\r\n const classes = useStyles();\r\n\r\n const { title: senderCompanyName, id: senderCompanyId } = item.notificationEntities.RecipientCompany[0];\r\n const senderCompanyLink = formatPath(routes.private.company.id, { id: senderCompanyId });\r\n\r\n return (\r\n <>\r\n {!item.userAction && (\r\n \r\n \r\n Sharing Request\r\n \r\n {senderCompanyName}\r\n rejected follow request\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport {\r\n Grid,\r\n Typography,\r\n Button,\r\n DialogTitle,\r\n DialogActions,\r\n Dialog,\r\n CircularProgress,\r\n Collapse,\r\n} from '@material-ui/core';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport useStyles from './styles';\r\nimport headerNotification from '../../../../actionTypes/headerNotification';\r\nimport formatDate from '../../../../utils/textFormaters/date';\r\nimport { userTypes } from '../../../../utils/constants';\r\n\r\nexport const UploadExpiration = ({ item, companyId, userType, dismissHandler, loading }) => {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const isSafetyCouncil = userType === userTypes.SafetyCouncil;\r\n const isOwner = userType === userTypes.Owner;\r\n const isContractor = userType === userTypes.Contractor;\r\n\r\n const MailingLogId = item.notificationEntities.MailingLog[0].id;\r\n const MailingDate = formatDate(item.createDate);\r\n\r\n const [isModalOpen, setIsModalOpen] = useState(false);\r\n\r\n useEffect(() => {\r\n if (isModalOpen)\r\n dispatch({ type: headerNotification.uploadExpiration.start, payload: { companyId, MailingLogId } });\r\n }, [MailingLogId, companyId, dispatch, isModalOpen]);\r\n\r\n const uploadExpirationData = useSelector(state => state.headerNotifications || '');\r\n const uploadExpirationBody =\r\n uploadExpirationData &&\r\n uploadExpirationData.uploadExpirationItems.body &&\r\n uploadExpirationData.uploadExpirationItems.body.split('/style>')[1];\r\n\r\n return (\r\n <>\r\n {(isSafetyCouncil || isOwner) && (\r\n \r\n {MailingDate} \r\n Uploaded documents will expire soon.\r\n setIsModalOpen(true)}>\r\n See details\r\n \r\n \r\n )}\r\n {isContractor && (\r\n \r\n {MailingDate} \r\n Uploaded documents will expire soon.\r\n setIsModalOpen(true)}>\r\n See details\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n setIsModalOpen(false)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport { Grid, Typography, Button } from '@material-ui/core';\r\n\r\nimport useStyles from './styles';\r\n\r\nexport const ReviewApprove = ({ item, companyId, dismissHandler }) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n <>\r\n \r\n Your PQF was approved by Safety Council\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport { Grid, Typography, Button } from '@material-ui/core';\r\n\r\nimport useStyles from './styles';\r\n\r\nexport const ReviewReject = ({ item, companyId, dismissHandler }) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n <>\r\n \r\n Your PQF was rejected by Safety council. Check your email for more details\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Grid, Typography, Button, Link as MaterialLink } from '@material-ui/core';\r\n\r\nimport useStyles from './styles';\r\nimport routes from '../../../routes/path';\r\nimport formatPath from '../../../../utils/textFormaters/formatPath';\r\n\r\nexport const ReviewRequest = ({ item, companyId, dismissHandler }) => {\r\n const classes = useStyles();\r\n\r\n const PqfDocument = () => (\r\n \r\n {item.notificationEntities.PqfDocument[0].title}\r\n \r\n );\r\n\r\n const templateMessage = item.name\r\n .replace('{Company}', item.notificationEntities.Company[0].title)\r\n .replace('{PqfDocument}', '');\r\n\r\n return (\r\n <>\r\n \r\n {templateMessage}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import React, { useState, useRef } from 'react';\r\nimport { Avatar, Button, Popper, Paper, Grow, ClickAwayListener, MenuItem, MenuList, Grid } from '@material-ui/core';\r\nimport PersonIcon from '@material-ui/icons/Person';\r\nimport Badge from '@material-ui/core/Badge';\r\nimport NotificationsIcon from '@material-ui/icons/Notifications';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport useStyles from './styles';\r\nimport { EmptyNotifications } from '../../containers/Header/Notifications';\r\nimport { headerNotification } from '../../../actionTypes';\r\nimport { notificationStatus } from '../../containers/Header/Notifications/headerNotificationTypes';\r\nimport NotificationsPopper from '../NotificationsPopper';\r\nimport requestComponentType from './requestComponentType';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\n\r\nconst UserLabel = ({ firstName = '', lastName = '', avatar, handleLogout, headerNotifications }) => {\r\n const { items: notificationsList } = headerNotifications;\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n\r\n const anchorRef = useRef(null);\r\n const anchorBadge = useRef(null);\r\n const { loading, loadingNotificationId } = useSelector(store => store.headerNotifications);\r\n const userId = useSelector(state => state.auth.check.userId);\r\n const companyId = useSelector(state => state.entity.user[userId].companyId);\r\n const { type } = useUserPermissions();\r\n\r\n const [open, setOpen] = useState(false);\r\n const [openNotifications, setOpenNotifications] = useState(false);\r\n\r\n const notificationsListLength = notificationsList.filter(\r\n item => !item.userAction || item.userAction !== notificationStatus.dismissedSuccess,\r\n ).length;\r\n\r\n const dismissHandler = (companyId, notificationId) =>\r\n dispatch({ type: headerNotification.delete.start, payload: { companyId, notificationId } });\r\n\r\n const renderNotificationItem = (item, sharedInfoCompanyId, loading, dismissHandler) => {\r\n let RequestComponent;\r\n if (item.typeKey) RequestComponent = requestComponentType[item.typeKey];\r\n return item.typeKey ? (\r\n \r\n ) : (\r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n setOpenNotifications(!openNotifications)}\r\n ref={anchorBadge}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n setOpen(!open)}\r\n aria-haspopup=\"true\"\r\n disableRipple\r\n >\r\n Welcome {`${firstName} ${lastName}`}\r\n {avatar ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {({ TransitionProps }) => (\r\n \r\n \r\n setOpen(false)}>\r\n \r\n Logout\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default UserLabel;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n logoWrapper: {\r\n padding: theme.spacing(1, 2, 0.5, 0.75),\r\n cursor: 'pointer',\r\n },\r\n image: {\r\n height: theme.spacing(8),\r\n verticalAlign: 'middle',\r\n },\r\n menuWrapper: {\r\n maxHeight: theme.spacing(8),\r\n },\r\n linksWrapper: {\r\n height: '100%',\r\n padding: theme.spacing(0, 1),\r\n },\r\n link: {\r\n display: 'block',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { AppBar, Grid } from '@material-ui/core';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport MainMenu from '../MainMenu';\r\nimport UserLabel from '../../components/UserLabel';\r\nimport logo from '../../images/logo.png';\r\nimport routes from '../../routes/path';\r\nimport useStyles from './styles';\r\n\r\nconst Header = ({ handleLogout, user, headerNotifications }) => {\r\n const classes = useStyles();\r\n return (\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \"logo\"\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Header;\r\n","import { createEnum } from '../actionTypesHelpers';\r\nimport { contractorLevels } from './index';\r\n\r\nexport const optionTypes = createEnum({\r\n Owner: null,\r\n ...contractorLevels,\r\n});\r\n\r\nexport const companyRolesSelection = createEnum({\r\n All: 'All',\r\n Owner: null,\r\n ...contractorLevels,\r\n});\r\n\r\nexport const companyRolesSelectionOptions = Object.keys(companyRolesSelection).map(key => ({\r\n label: companyRolesSelection[key],\r\n value: key,\r\n}));\r\n\r\nconst typesEnum = createEnum(optionTypes);\r\nexport default Object.keys(typesEnum).map(key => ({\r\n label: typesEnum[key],\r\n value: key,\r\n}));\r\n","export const skipFalsyValues = values =>\r\n Object.keys(values)\r\n .filter(key => values[key].length > 0)\r\n .reduce((acc, current) => ({ ...acc, [current]: values[current] }), {});\r\n\r\nexport const uploadHelpers = obj => ({\r\n uploadKeys: Object.keys(obj),\r\n uploadValues: Object.keys(obj).reduce(\r\n (acc, item) => ({\r\n ...acc,\r\n [item]: createFileValue(obj[item]),\r\n }),\r\n {},\r\n ),\r\n});\r\n\r\nexport const createFileValue = (list, clear = false) => ({\r\n count: clear ? 0 : list.length,\r\n createList: [],\r\n deleteList: clear ? list.map(file => file.id) : [],\r\n list,\r\n});\r\n\r\nexport const uploadSelector = (store, uploadKeys) =>\r\n uploadKeys.reduce(\r\n (acc, item) => ({\r\n ...acc,\r\n [item]: createFileValue(store.file.file[item].list),\r\n }),\r\n {},\r\n );\r\n","import React from 'react';\r\nimport Pagination from 'material-ui-flat-pagination';\r\n\r\nconst PaginationComponent = ({ current = 1, itemsPerPage, total, handleClick }) => {\r\n return (\r\n total > itemsPerPage && (\r\n \r\n )\r\n );\r\n};\r\n\r\nexport default PaginationComponent;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n typography: {\r\n marginRight: theme.spacing(1),\r\n },\r\n root: {\r\n fontSize: theme.typography.body1.fontSize,\r\n },\r\n select: {\r\n paddingLeft: theme.spacing(1),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Grid, Typography, Select, MenuItem } from '@material-ui/core';\r\n\r\nimport useStyles from './styles';\r\n\r\nconst SelectRow = ({ defaultValue, options, onChange }) => {\r\n const classes = useStyles();\r\n return (\r\n \r\n \r\n Rows per page:\r\n \r\n onChange(e.target.value)}\r\n >\r\n {options.map(option => (\r\n \r\n {option}\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SelectRow;\r\n","export const rows = [10, 25, 50, 100];\r\n","import React from 'react';\r\nimport { Grid } from '@material-ui/core';\r\n\r\nimport Pagination from '../Pagination';\r\nimport SelectRow from './SelectRow';\r\nimport { rows } from '../../../utils/constants/pagination';\r\n\r\nconst PaginationWithCustomRows = ({\r\n total,\r\n currentPage,\r\n itemsPerPage,\r\n onPageChange,\r\n onRowAmountChange,\r\n rowOptions = rows,\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n {total > itemsPerPage && (\r\n onPageChange(offset)}\r\n />\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default PaginationWithCustomRows;\r\n","import React from 'react';\r\nimport { Tooltip } from '@material-ui/core';\r\n\r\nconst TooltipWrapper = ({ children, title, tooltip }) => {\r\n return tooltip ? (\r\n \r\n {children}\r\n \r\n ) : (\r\n children\r\n );\r\n};\r\n\r\nexport default TooltipWrapper;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n link: {\r\n display: 'block',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Link as MaterialLink } from '@material-ui/core';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport useStyles from './styles';\r\n\r\nconst LinkWrapper = ({ children, showLink, to, href, target }) => {\r\n const classes = useStyles();\r\n\r\n return showLink ? (\r\n \r\n {children}\r\n \r\n ) : (\r\n children\r\n );\r\n};\r\n\r\nexport default LinkWrapper;\r\n","import React, { useState } from 'react';\r\nimport { Typography } from '@material-ui/core';\r\nimport TextEllipsis from 'react-text-ellipsis';\r\n\r\nimport TooltipWrapper from '../TooltipWrapper';\r\nimport LinkWrapper from '../LinkWrapper';\r\n\r\nconst UNICODE_SPACE = '\\xa0';\r\n\r\nconst replaceSpaceToUnicode = value => value.replace(/ /g, UNICODE_SPACE);\r\n\r\nconst Ellipsis = ({\r\n title,\r\n to,\r\n href,\r\n target,\r\n showLink,\r\n companyName = false,\r\n typographyVariant = 'body1',\r\n gutterBottom,\r\n lines = 1,\r\n classes,\r\n}) => {\r\n const [tooltip, setTooltip] = useState(false);\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n setTooltip(result === TextEllipsis.RESULT.TRUNCATED);\r\n }}\r\n >\r\n {companyName ? replaceSpaceToUnicode(title) : title}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Ellipsis;\r\n","import React from 'react';\r\nimport { Dialog, DialogContent, DialogTitle, Typography } from '@material-ui/core';\r\n\r\nconst AdminDialog = ({ isModalOpen, onCancel, title, note }) => {\r\n return (\r\n \r\n {title}\r\n \r\n {note}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default AdminDialog;\r\n","import React, { useState } from 'react';\r\nimport { Grid, IconButton } from '@material-ui/core';\r\n\r\nimport AdminDialog from '../AdminPopUpConfirmation';\r\nimport TooltipWrapper from '../TooltipWrapper';\r\n\r\nconst AdminPopUp = ({ handler, title, children, iconClassName, tooltipTitle, disabled, note }) => {\r\n const [isModalOpen, setIsModalOpen] = useState(false);\r\n\r\n const handleClick = () => {\r\n if (!disabled) {\r\n setIsModalOpen(true);\r\n }\r\n };\r\n return (\r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n setIsModalOpen(false)} />\r\n \r\n );\r\n};\r\n\r\nexport default AdminPopUp;\r\n","import React from 'react';\r\nimport { Button, Dialog, DialogActions, DialogTitle } from '@material-ui/core';\r\n\r\nconst ModalDialog = ({ isModalOpen, onConfirm, onCancel, title }) => {\r\n return (\r\n \r\n {title}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalDialog;\r\n","import React, { useState } from 'react';\r\nimport { Grid, IconButton } from '@material-ui/core';\r\n\r\nimport ModalDialog from '../ModalConfirmation';\r\nimport TooltipWrapper from '../../components/TooltipWrapper';\r\n\r\nconst IconWithPopUp = ({ handler, title, children, iconClassName, tooltipTitle, disabled }) => {\r\n const [isModalOpen, setIsModalOpen] = useState(false);\r\n\r\n const onConfirmDeleteReference = () => {\r\n handler();\r\n setIsModalOpen(false);\r\n };\r\n const handleClick = () => {\r\n if (!disabled) {\r\n setIsModalOpen(true);\r\n }\r\n };\r\n return (\r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n setIsModalOpen(false)}\r\n onConfirm={onConfirmDeleteReference}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default IconWithPopUp;\r\n","export default function(path, values) {\r\n return Object.keys(values).reduce((p, key) => p.replace(`:${key}`, values[key]), path);\r\n}\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n success: {\r\n color: theme.palette.labels.success,\r\n },\r\n error: {\r\n color: theme.palette.labels.error,\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport ErrorSharpIcon from '@material-ui/icons/ErrorSharp';\r\nimport CheckSharpIcon from '@material-ui/icons/CheckSharp';\r\n\r\nimport useStyles from './styles';\r\n\r\nconst validTooltipTitle = 'PQF filed';\r\nconst notValidTooltipTitle = 'PQF not filed';\r\n\r\nconst FillingCell = ({ valid }) => {\r\n const classes = useStyles();\r\n return (\r\n \r\n {valid ? : }\r\n \r\n );\r\n};\r\n\r\nexport default FillingCell;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n completed: {\r\n color: theme.palette.success.main,\r\n },\r\n inProgress: {\r\n color: theme.palette.warning.main,\r\n },\r\n rejected: {\r\n color: theme.palette.error.main,\r\n cursor: 'pointer',\r\n maxWidth: 'fit-content',\r\n },\r\n pendingReview: {\r\n color: theme.palette.info.light,\r\n },\r\n tooltip: {\r\n backgroundColor: theme.palette.background.paper,\r\n border: `1px solid ${theme.palette.grey['500']}`,\r\n },\r\n tooltipArrow: {\r\n color: theme.palette.grey['500'],\r\n },\r\n reviewPqf: {\r\n fontSize: theme.typography.caption.fontSize,\r\n },\r\n successPQF: {\r\n color: theme.palette.success.main,\r\n },\r\n rejectPQF: {\r\n color: theme.palette.error.main,\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Tooltip, Typography, Button, IconButton, Grid } from '@material-ui/core';\r\nimport { Link } from 'react-router-dom';\r\nimport EventNoteIcon from '@material-ui/icons/EventNote';\r\n\r\nimport routes from '../../../../routes/path';\r\nimport formatDate from '../../../../../utils/textFormaters/date';\r\nimport formatPath from '../../../../../utils/textFormaters/formatPath';\r\nimport { pqfStatusesEnum } from '../../../../../utils/constants';\r\nimport useStyles from './styles';\r\n\r\nconst CellStatus = ({ id, currentPqfDocumentId, status, rejectReason, completedOn, showReviewForOwner }) => {\r\n const classes = useStyles();\r\n const Wrapper = ({ children }) =>\r\n rejectReason ? (\r\n {rejectReason}}\r\n >\r\n {children}\r\n \r\n ) : (\r\n children\r\n );\r\n\r\n return (\r\n <>\r\n {status === pqfStatusesEnum.Completed && (\r\n \r\n \r\n \r\n \r\n Complete on {formatDate(completedOn)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {status === pqfStatusesEnum.InProgress && (\r\n \r\n In Progress\r\n \r\n )}\r\n {status === pqfStatusesEnum.Rejected && (\r\n \r\n \r\n \r\n \r\n Rejected\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {status === pqfStatusesEnum.PendingReview && (\r\n <>\r\n {!showReviewForOwner ? (\r\n \r\n \r\n Pending Review\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n Review PQF\r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default CellStatus;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n favoriteIcon: {\r\n color: theme.palette.warning.main,\r\n },\r\n notFavoriteIcon: {\r\n color: theme.palette.warning.main,\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { useState } from 'react';\r\nimport {\r\n Button,\r\n CircularProgress,\r\n Dialog,\r\n DialogActions,\r\n DialogTitle,\r\n Grid,\r\n IconButton,\r\n Tooltip,\r\n} from '@material-ui/core';\r\nimport StarIcon from '@material-ui/icons/Star';\r\nimport StarBorderIcon from '@material-ui/icons/StarBorder';\r\n\r\nimport useStyles from './styles';\r\n\r\nconst FavoriteCell = ({ id, loadingListAddToFavorite, handleAddToFavorite, isFavourite }) => {\r\n const classes = useStyles();\r\n\r\n const [modalOpen, setModalOpen] = useState(false);\r\n\r\n const onConfirm = () => {\r\n setModalOpen(false);\r\n handleAddToFavorite(id, !isFavourite);\r\n };\r\n\r\n const onCancel = () => setModalOpen(false);\r\n\r\n return (\r\n \r\n \r\n {loadingListAddToFavorite.includes(id) ? (\r\n \r\n ) : (\r\n \r\n setModalOpen(true)}>\r\n {isFavourite ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n Do you really want to {isFavourite && 'un'}follow this company?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default FavoriteCell;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n success: {\r\n color: theme.palette.labels.success,\r\n },\r\n error: {\r\n color: theme.palette.labels.error,\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport ErrorSharpIcon from '@material-ui/icons/ErrorSharp';\r\nimport CheckSharpIcon from '@material-ui/icons/CheckSharp';\r\n\r\nimport useStyles from './styles';\r\n\r\nconst validTooltipTitle = 'Expiration date for all documents is valid';\r\nconst notValidTooltipTitle = 'Expiration date for some documents is over';\r\n\r\nconst OverdueCell = ({ overdue }) => {\r\n const classes = useStyles();\r\n return (\r\n \r\n {!overdue ? : }\r\n \r\n );\r\n};\r\n\r\nexport default OverdueCell;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n clear: {\r\n color: theme.palette.success.main,\r\n },\r\n warning: {\r\n color: theme.palette.warning.main,\r\n },\r\n rejected: {\r\n color: theme.palette.error.main,\r\n },\r\n disabled: {\r\n color: '#D3D3D3',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Typography } from '@material-ui/core';\r\n\r\nimport useStyles from './styles';\r\n\r\nconst ExpDate = ({ expDate, warningTime, isPSM, company }) => {\r\n const classes = useStyles();\r\n const subDate = expDate === undefined || expDate === null ? undefined : expDate;\r\n const todayDate = new Date();\r\n let fullDate = new Date(subDate);\r\n\r\n if (isPSM && fullDate !== undefined) {\r\n const day = fullDate.getDate();\r\n const month = fullDate.getMonth();\r\n const year = fullDate.getFullYear();\r\n fullDate = new Date(year + 2, month, day);\r\n }\r\n\r\n // get the actual date to display, PSM audits validate the PAST 2 years, so this\r\n const date = subDate !== undefined && isPSM ? new Date(subDate).toLocaleDateString() : fullDate.toLocaleDateString();\r\n\r\n // using new Date here allows the warning color to work properly.\r\n // fullDate.setMonth broke\r\n const warningDate = new Date(fullDate).setMonth(fullDate.getMonth() - warningTime);\r\n\r\n // 30 days warning\r\n // expired error\r\n const soonToExp = todayDate >= warningDate;\r\n const expired = todayDate >= fullDate;\r\n\r\n if (subDate === undefined) {\r\n return (\r\n \r\n N/A\r\n \r\n );\r\n } else if (expired) {\r\n return {date};\r\n } else if (soonToExp) {\r\n return {date};\r\n } else {\r\n return {date};\r\n }\r\n};\r\nexport default ExpDate;\r\n","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { IconButton, Grid, Typography } from '@material-ui/core';\r\nimport Settings from '@material-ui/icons/Settings';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport MenuIcon from '@material-ui/icons/Menu';\r\nimport NotesIcon from '@material-ui/icons/Notes';\r\n\r\nimport routes from '../../../routes/path';\r\nimport Ellipsis from '../../../components/Ellipsis';\r\nimport AdminPopUp from '../../../components/AdminPopUp';\r\nimport IconWithPopUp from '../../../components/IconWithPopUp';\r\nimport { userTypes } from '../../../../utils/constants';\r\nimport { formatPath } from '../../../../utils/textFormaters';\r\nimport FillingCell from './FillingCell';\r\nimport CellStatus from './CellStatus';\r\nimport FavoriteCell from './FavoriteCell';\r\nimport OverdueCell from './OverdueCell';\r\nimport ExpDate from './ExpDate';\r\nimport { createEnum } from '../../../../utils/actionTypesHelpers';\r\nimport { optionTypes } from '../../../../utils/constants/companyRoleTypes';\r\n\r\nexport const columnEnum = createEnum({\r\n companyName: {\r\n key: 'companyName',\r\n title: 'Company Name',\r\n },\r\n favorite: {\r\n key: 'favorite',\r\n title: 'Favorite',\r\n },\r\n companyType: {\r\n key: 'companyType',\r\n title: 'Company Type',\r\n },\r\n city: {\r\n key: 'city',\r\n title: 'City',\r\n },\r\n state: {\r\n key: 'state',\r\n title: 'State',\r\n },\r\n zip: {\r\n key: 'zip',\r\n title: 'Zip Code',\r\n },\r\n webSite: {\r\n key: 'webSite',\r\n title: 'Website',\r\n },\r\n phone: {\r\n key: 'phone',\r\n title: 'Phone Number',\r\n },\r\n grade: {\r\n key: 'grade',\r\n title: 'Grade',\r\n },\r\n ownerGrade: {\r\n key: 'ownerGrade',\r\n title: 'Own grade',\r\n },\r\n valid: {\r\n key: 'valid',\r\n title: 'Filing',\r\n },\r\n overdue: {\r\n key: 'overdue',\r\n title: 'Overdue',\r\n },\r\n status: {\r\n key: 'status',\r\n title: 'PQF status',\r\n },\r\n psmCompleteDate: {\r\n key: 'psmCompleteDate',\r\n title: 'Last PSM',\r\n },\r\n expDate: {\r\n key: 'expDate',\r\n title: 'Expiration',\r\n },\r\n actions: {\r\n key: 'actions',\r\n title: 'Actions',\r\n },\r\n});\r\n\r\nexport const disabled = [\r\n columnEnum.companyName.key,\r\n columnEnum.actions.key,\r\n columnEnum.valid.key,\r\n columnEnum.status.key,\r\n];\r\n\r\nexport const getColumns = (\r\n handleDelete,\r\n handleAddToFavorite,\r\n loadingListAddToFavorite,\r\n type,\r\n order,\r\n visibleColumns,\r\n setOpenModal,\r\n classes,\r\n) => {\r\n const renderControlPanel = ({ id, adminNotes, typeName, level }) => (\r\n \r\n \r\n \r\n \r\n
\r\n handleDelete(id)}\r\n title=\"Are you sure you want to delete this company?\"\r\n tooltipTitle=\"Delete\"\r\n >\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n\r\n const columns = {\r\n [columnEnum.companyName.key]: {\r\n title: columnEnum.companyName.title,\r\n render: ({ companyName, typeName, id }) => (\r\n \r\n ),\r\n sortField: 'companyName',\r\n defaultSort: order,\r\n // width: '12%',\r\n },\r\n [columnEnum.favorite.key]: {\r\n title: columnEnum.favorite.title,\r\n render: ({ id, isFavourite }) => (\r\n \r\n ),\r\n sorting: false,\r\n // width: '4%',\r\n },\r\n [columnEnum.companyType.key]: {\r\n title: columnEnum.companyType.title,\r\n render: ({ typeName, level }) => (\r\n \r\n {typeName === userTypes.Contractor ? optionTypes[level] : optionTypes[typeName]}\r\n \r\n ),\r\n sortField: 'companyType',\r\n defaultSort: order,\r\n // width: '8%',\r\n },\r\n [columnEnum.city.key]: {\r\n title: columnEnum.city.title,\r\n render: ({ streetAddress: { city } }) => ,\r\n sortField: 'city',\r\n // width: '8%',\r\n },\r\n [columnEnum.state.key]: {\r\n title: columnEnum.state.title,\r\n render: ({ streetAddress: { state } }) => ,\r\n sortField: 'state',\r\n // width: '8%',\r\n },\r\n [columnEnum.zip.key]: {\r\n title: columnEnum.zip.title,\r\n field: 'streetAddress.zip',\r\n sorting: false,\r\n // width: '8%',\r\n },\r\n [columnEnum.webSite.key]: {\r\n title: columnEnum.webSite.title,\r\n render: ({ webSite }) => ,\r\n sorting: false,\r\n // width: '12%',\r\n },\r\n [columnEnum.phone.key]: {\r\n title: columnEnum.phone.title,\r\n render: ({ phoneNumber }) => phoneNumber,\r\n sorting: false,\r\n // width: '8%',\r\n },\r\n [columnEnum.grade.key]: {\r\n title: columnEnum.grade.title,\r\n render: ({ grade }) => ,\r\n sorting: false,\r\n // width: '4%',\r\n },\r\n [columnEnum.ownerGrade.key]: {\r\n title: columnEnum.ownerGrade.title,\r\n render: ({ ownerGrade }) => ,\r\n sorting: false,\r\n // width: '4%',\r\n },\r\n [columnEnum.valid.key]: {\r\n title: columnEnum.valid.title,\r\n render: ({ isPqfValid, typeName }) => typeName === userTypes.Contractor && ,\r\n sortField: 'filling',\r\n // width: '4%',\r\n },\r\n [columnEnum.overdue.key]: {\r\n title: columnEnum.overdue.title,\r\n render: ({ withOverdue }) => ,\r\n sorting: false,\r\n // width: '4%',\r\n },\r\n [columnEnum.status.key]: {\r\n title: columnEnum.status.title,\r\n render: ({ id, currentPqfDocumentId, typeName, status, rejectReason, completedOn }) =>\r\n typeName !== userTypes.Owner && (\r\n \r\n ),\r\n sortField: 'pqf',\r\n // width: '6%',\r\n },\r\n [columnEnum.psmCompleteDate.key]: {\r\n title: columnEnum.psmCompleteDate.title,\r\n render: ({ psmCompleteDate, typeName, level }) => (\r\n \r\n ),\r\n // width: '10%',\r\n sortField: 'psmCompleteDate',\r\n defaultSort: order,\r\n },\r\n [columnEnum.expDate.key]: {\r\n title: type === userTypes.SafetyCouncil && columnEnum.expDate.title,\r\n render:\r\n type === userTypes.SafetyCouncil\r\n ? ({ subscriptionExpirationDate }) => \r\n : () => {},\r\n // width: '10%',\r\n sortField: type === userTypes.SafetyCouncil ? 'subscriptionExpirationDate' : false,\r\n defaultSort: order,\r\n },\r\n [columnEnum.actions.key]: {\r\n title: type === userTypes.SafetyCouncil && (\r\n \r\n \r\n setOpenModal(true)} size=\"small\">\r\n \r\n \r\n \r\n \r\n ),\r\n sorting: false,\r\n render: type === userTypes.SafetyCouncil ? renderControlPanel : () => {},\r\n width: 'fit-content',\r\n },\r\n };\r\n\r\n return visibleColumns.map(columnName => columns[columnName]);\r\n};\r\n","import React from 'react';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\n\r\nconst FormCheckbox = ({\r\n labelPlacement = 'start',\r\n labelClassName,\r\n handleChange,\r\n size = 'small',\r\n checkboxClassName,\r\n field: { onChange, ...fieldProps },\r\n label,\r\n ...props\r\n}) => {\r\n return (\r\n {\r\n handleChange && handleChange(e, fieldProps);\r\n onChange(e);\r\n }}\r\n />\r\n }\r\n label={label}\r\n labelPlacement={labelPlacement}\r\n className={labelClassName}\r\n />\r\n );\r\n};\r\n\r\nexport default FormCheckbox;\r\n","import React from 'react';\r\nimport { Button, Dialog, DialogContent, DialogActions, DialogTitle, Grid } from '@material-ui/core';\r\nimport { Formik, FastField } from 'formik';\r\n\r\nimport { columnEnum, disabled } from '../columns';\r\nimport FormCheckbox from '../../../../components/FormCheckbox';\r\nimport { userTypes } from '../../../../../utils/constants';\r\n\r\nconst ConfigureModal = ({ open, type, setOpenModal, visibleColumns, setVisibleColumns }) => {\r\n const initialValues = Object.keys(columnEnum)\r\n .filter(\r\n column =>\r\n !(type === userTypes.SafetyCouncil && [columnEnum.favorite.key, columnEnum.ownerGrade.key].includes(column)),\r\n )\r\n .reduce(\r\n (acc, item) => ({\r\n ...acc,\r\n [columnEnum[item].key]: visibleColumns.includes(columnEnum[item].key),\r\n }),\r\n {},\r\n );\r\n\r\n const handleSave = values => {\r\n setVisibleColumns(Object.keys(values).filter(item => values[item]));\r\n setOpenModal(false);\r\n };\r\n\r\n return (\r\n \r\n {({ values, handleSubmit, resetForm }) => (\r\n {\r\n setOpenModal(false);\r\n resetForm();\r\n }}\r\n >\r\n Choose visible columns \r\n \r\n \r\n \r\n {Object.keys(values).map(key => (\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setOpenModal(false);\r\n resetForm();\r\n }}\r\n variant=\"contained\"\r\n size=\"small\"\r\n autoFocus\r\n >\r\n Cancel\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ConfigureModal;\r\n","import { createEnum } from '../actionTypesHelpers';\r\n\r\nexport const sortDirection = createEnum({\r\n Ascending: 'asc',\r\n Descending: 'desc',\r\n});\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n settings: {\r\n marginLeft: theme.spacing(1),\r\n marginRight: theme.spacing(1),\r\n },\r\n table: {\r\n '& .MuiTableCell-head': {\r\n backgroundColor: theme.palette.background.primary.main,\r\n color: 'white',\r\n },\r\n '& .MuiTableSortLabel-root': {\r\n color: 'white',\r\n },\r\n '& .MuiSvgIcon-colorPrimary': {\r\n color: 'white',\r\n },\r\n '& .MuiTableRow-root': {\r\n '&:hover': {\r\n backgroundColor: 'rgb(224, 224, 224)',\r\n },\r\n },\r\n '& .MuiLink-root': {\r\n maxWidth: 'fit-content',\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { forwardRef, useState } from 'react';\r\nimport MaterialTable from 'material-table';\r\nimport ArrowDownward from '@material-ui/icons/ArrowDownward';\r\n\r\nimport ConfigureModal from './ConfigureModal';\r\nimport { useUserPermissions } from '../../../../utils/effects/userPermissions';\r\nimport { getColumns } from './columns';\r\nimport { sortDirection } from '../../../../utils/constants/sorting';\r\nimport useStyles from './styles';\r\n\r\nconst CompanyListTable = ({\r\n loading,\r\n companies,\r\n handleDelete,\r\n loadingListAddToFavorite,\r\n handleAddToFavorite,\r\n noFiltersSelected,\r\n handelSort,\r\n order,\r\n visibleColumns,\r\n setVisibleColumns,\r\n}) => {\r\n const classes = useStyles();\r\n const { type } = useUserPermissions();\r\n\r\n const [openModal, setOpenModal] = useState(false);\r\n\r\n const handleSaveColumns = values => {\r\n localStorage.setItem('marketplaceColumns', JSON.stringify(values));\r\n setVisibleColumns(values);\r\n };\r\n\r\n const columns = getColumns(\r\n handleDelete,\r\n handleAddToFavorite,\r\n loadingListAddToFavorite,\r\n type,\r\n order,\r\n visibleColumns,\r\n setOpenModal,\r\n classes,\r\n );\r\n\r\n return (\r\n
\r\n {\r\n const opositDirection =\r\n orderDirection === sortDirection.Ascending ? sortDirection.Descending : sortDirection.Ascending;\r\n const direction = columns[orderBy].sortField === 'filling' ? opositDirection : orderDirection;\r\n\r\n return handelSort(columns[orderBy].sortField, direction);\r\n }}\r\n icons={{\r\n SortArrow: forwardRef((props, ref) => ),\r\n }}\r\n localization={{\r\n body: {\r\n emptyDataSourceMessage: noFiltersSelected ? `You don't have any companies yet!` : 'No Results Found',\r\n },\r\n }}\r\n />\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default CompanyListTable;\r\n","import React from 'react';\r\nimport Masked from 'react-text-mask';\r\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\r\n\r\nconst getMask = (type = 'anyNumber') => {\r\n const numberMask = createNumberMask({\r\n prefix: '',\r\n thousandsSeparatorSymbol: '',\r\n });\r\n\r\n const dollarMask = createNumberMask({\r\n prefix: '$',\r\n thousandsSeparatorSymbol: ',',\r\n allowDecimal: true,\r\n integerLimit: 13,\r\n });\r\n\r\n const dollar10Number = createNumberMask({\r\n prefix: '$',\r\n thousandsSeparatorSymbol: ',',\r\n allowDecimal: true,\r\n integerLimit: 10,\r\n });\r\n\r\n const floatMask = createNumberMask({\r\n prefix: '',\r\n thousandsSeparatorSymbol: '',\r\n allowDecimal: true,\r\n decimalLimit: 4,\r\n });\r\n\r\n const commaDivideMask = createNumberMask({\r\n prefix: '',\r\n thousandsSeparatorSymbol: ',',\r\n allowDecimal: true,\r\n });\r\n\r\n const maskTypes = {\r\n anyNumber: numberMask,\r\n floatNumber: floatMask,\r\n dollarNumber: dollarMask,\r\n commaDivide: commaDivideMask,\r\n dollarMaskTenNumbers: dollar10Number,\r\n fromZero: [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/],\r\n fromOne: [/[1-9]/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/],\r\n zip: [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/],\r\n };\r\n\r\n if (!maskTypes[type]) {\r\n throw new Error('Unknown Number Input type');\r\n }\r\n\r\n return maskTypes[type];\r\n};\r\n\r\nconst MaskedInput = ({ maskType, inputRef, ...other }) => {\r\n return (\r\n {\r\n inputRef(ref ? ref.inputElement : null);\r\n }}\r\n mask={getMask(maskType)}\r\n guide={false}\r\n showMask={false}\r\n />\r\n );\r\n};\r\n\r\nexport default MaskedInput;\r\n","import React from 'react';\r\nimport { TextField } from '@material-ui/core';\r\nimport get from 'lodash.get';\r\n\r\nimport MaskedInput from './maskedInput';\r\n\r\nconst FormNumberInput = ({\r\n maskType,\r\n size = 'small',\r\n type = 'text',\r\n handleChange,\r\n field,\r\n form: { errors, touched },\r\n tabIndex,\r\n ...props\r\n}) => {\r\n const { onChange, ...fieldProps } = field;\r\n const itemError = get(errors, field.name.split('.'));\r\n const itemTouched = get(touched, field.name.split('.'));\r\n\r\n return (\r\n {\r\n handleChange && handleChange(e, fieldProps);\r\n type !== 'decimal' && onChange(e);\r\n }}\r\n error={!!itemError && !!itemTouched}\r\n helperText={!!itemError && itemTouched && itemError}\r\n InputProps={{\r\n inputComponent: MaskedInput,\r\n }}\r\n inputProps={{ maskType, tabIndex }}\r\n />\r\n );\r\n};\r\n\r\nexport default FormNumberInput;\r\n","import React from 'react';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Autocomplete from '@material-ui/lab/Autocomplete';\r\n\r\nconst MultiselectDropdown = ({\r\n size = 'small',\r\n options,\r\n grouped,\r\n selected,\r\n label,\r\n field: { onChange, ...fieldProps },\r\n form: { setFieldValue },\r\n ...props\r\n}) => {\r\n const { name, value } = fieldProps;\r\n\r\n const defaultValues = options.filter(item => value.includes(item.id));\r\n\r\n return (\r\n (grouped ? option.groupName : null)}\r\n getOptionLabel={option => option.name}\r\n renderOption={(option, { selected }) => (\r\n \r\n \r\n {option.name}\r\n \r\n )}\r\n value={defaultValues}\r\n renderInput={params => }\r\n onChange={(_, selectedValues) => {\r\n const selectedValuesIds = selectedValues.map(v => v.id);\r\n const optionsIds = options.map(v => v.id);\r\n const updatedOptions = optionsIds.filter(v => selectedValuesIds.includes(v));\r\n setFieldValue(name, updatedOptions);\r\n }}\r\n />\r\n );\r\n};\r\n\r\nexport default MultiselectDropdown;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n typography: {\r\n marginRight: theme.spacing(2.5),\r\n paddingTop: theme.spacing(2.1),\r\n },\r\n dash: {\r\n margin: theme.spacing(0, 2.5),\r\n paddingTop: theme.spacing(2.1),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { FastField } from 'formik';\r\nimport { Typography, Grid } from '@material-ui/core';\r\n\r\nimport useStyles from './styles';\r\n\r\nconst MinMax = ({ title, handleChange, names, minValues, maxValues, number, component, type, masktype }) => {\r\n const classes = useStyles();\r\n\r\n const { minName, maxName } = names;\r\n return (\r\n \r\n \r\n {title}\r\n \r\n \r\n \r\n \r\n -\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default MinMax;\r\n","/* eslint-disable react-hooks/exhaustive-deps */\r\nimport { useEffect } from 'react';\r\n\r\nconst Effect = ({ submitForm, values, debounceFunc }) => {\r\n const {\r\n companyName,\r\n isFavouriteContractor,\r\n companyType,\r\n workCategories,\r\n services,\r\n states,\r\n zip,\r\n companyUser,\r\n grades,\r\n aemin,\r\n aemax,\r\n lcmin,\r\n lcmax,\r\n bcmin,\r\n bcmax,\r\n pqfStatuses,\r\n withOverdue,\r\n } = values;\r\n useEffect(() => {\r\n submitForm();\r\n return () => debounceFunc.cancel();\r\n }, [\r\n companyName,\r\n isFavouriteContractor,\r\n companyType,\r\n workCategories,\r\n services,\r\n states,\r\n zip,\r\n companyUser,\r\n grades,\r\n aemin,\r\n aemax,\r\n lcmin,\r\n lcmax,\r\n bcmin,\r\n bcmax,\r\n submitForm,\r\n pqfStatuses,\r\n withOverdue,\r\n ]);\r\n\r\n return '';\r\n};\r\n\r\nexport default Effect;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n button: {\r\n padding: theme.spacing(7 / 8),\r\n minWidth: theme.spacing(5),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Button } from '@material-ui/core';\r\n\r\nimport useStyles from '../styles';\r\n\r\nconst ShowMoreLessButton = ({ moreFilter, setMoreFilter }) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n setMoreFilter(!moreFilter)}\r\n >\r\n {moreFilter ? 'less' : 'more'} filters\r\n \r\n );\r\n};\r\n\r\nexport default ShowMoreLessButton;\r\n","import React from 'react';\r\nimport { Button } from '@material-ui/core';\r\nimport ClearIcon from '@material-ui/icons/Clear';\r\n\r\nimport TooltipWrapper from '../../TooltipWrapper';\r\nimport useStyles from '../styles';\r\n\r\nconst ClearButton = ({ isEmptyForm, clearFilterValues }) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n isEmptyForm && (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nexport default ClearButton;\r\n","import React from 'react';\r\nimport { Grid } from '@material-ui/core';\r\n\r\nimport ShowMoreLessButton from './ShowMoreLessButton';\r\nimport ClearButton from './ClearButton';\r\n\r\nconst ShowMoreLessFilters = ({ moreFilter, setMoreFilter, isEmptyForm, clearFilterValues }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ShowMoreLessFilters;\r\n","import { formatISO } from 'date-fns';\r\n\r\nimport refineNumberString from '../textFormaters/refineNumberString';\r\nimport { craftsmanCertificationsAnswers } from '../actionTypesHelpers';\r\nimport { enums } from '../constants/formConstats';\r\n\r\nexport const recursiveInclude = (stack, parent = null) => ({\r\n children: stack\r\n .filter(q => q.parent === parent)\r\n .map(item => ({ ...item, ...recursiveInclude(stack, item.key) }))\r\n .sort((a, b) => a.order - b.order),\r\n});\r\n\r\nconst isObject = (obj, key) =>\r\n typeof obj[key] === 'object' && !Array.isArray(obj[key]) && obj[key] !== null && Object.keys(obj).length > 0;\r\n\r\nexport const changeNullToEmptyString = obj =>\r\n Object.keys(obj).reduce((acc, key) => {\r\n return isObject(obj, key)\r\n ? { ...acc, [key]: changeNullToEmptyString(obj[key]) }\r\n : { ...acc, [key]: obj[key] === null ? '' : obj[key] };\r\n }, {});\r\n\r\nconst dateKeys = ['expirationDate', 'dateHired', 'yearCreated', 'incorporationDate', 'anniversaryDate'];\r\nexport const formatDateForInitialValues = obj =>\r\n Object.keys(obj).reduce((acc, key) => {\r\n return isObject(obj, key)\r\n ? { ...acc, [key]: formatDateForInitialValues(obj[key]) }\r\n : {\r\n ...acc,\r\n [key]: dateKeys.includes(key)\r\n ? obj[key] !== ''\r\n ? formatISO(new Date(obj[key]), { representation: 'date' })\r\n : null\r\n : obj[key],\r\n };\r\n }, {});\r\n\r\nexport const changeEmptyStringToNull = obj =>\r\n Object.keys(obj).reduce((acc, key) => {\r\n if (obj[key] instanceof Date || obj[key] instanceof Blob || Array.isArray(obj[key]))\r\n return { ...acc, [key]: obj[key] };\r\n return isObject(obj, key)\r\n ? { ...acc, [key]: changeEmptyStringToNull(obj[key]) }\r\n : { ...acc, [key]: obj[key] === '' ? null : obj[key] };\r\n }, {});\r\n\r\nexport const changeZeroToEmptyString = (obj, keysArray) => {\r\n const merged = {};\r\n Object.keys(obj).forEach(key => {\r\n if (keysArray.includes(key) && obj[key] === 0) {\r\n merged[key] = '';\r\n } else {\r\n merged[key] = obj[key];\r\n }\r\n });\r\n return merged;\r\n};\r\n\r\nexport const changeEmptyStringToZero = (obj, keysArray) => {\r\n const merged = {};\r\n Object.keys(obj).forEach(key => {\r\n if (keysArray.includes(key) && obj[key] === '') {\r\n merged[key] = 0;\r\n } else {\r\n merged[key] = obj[key];\r\n }\r\n });\r\n return merged;\r\n};\r\n\r\nexport const removeDollarCommaSigns = (obj, keysArray) => {\r\n const merged = {};\r\n Object.keys(obj).forEach(key => {\r\n if (keysArray.includes(key)) {\r\n merged[key] = obj[key] !== null ? refineNumberString(obj[key].toString()) : null;\r\n } else {\r\n merged[key] = obj[key];\r\n }\r\n });\r\n return merged;\r\n};\r\n\r\nexport const addDollarCommaSigns = value => {\r\n return '$' + value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\r\n};\r\n\r\nexport const changeNAtoNotAvailable = obj => {\r\n const merged = {};\r\n Object.keys(obj).forEach(key => {\r\n if (obj[key] === craftsmanCertificationsAnswers.NA) {\r\n merged[key] = craftsmanCertificationsAnswers.NotAvailable;\r\n } else {\r\n merged[key] = obj[key];\r\n }\r\n });\r\n return merged;\r\n};\r\n\r\nexport const changeNotAvailableToNA = obj => {\r\n const merged = {};\r\n Object.keys(obj).forEach(key => {\r\n if (obj[key] === craftsmanCertificationsAnswers.NotAvailable) {\r\n merged[key] = craftsmanCertificationsAnswers.NA;\r\n } else {\r\n merged[key] = obj[key];\r\n }\r\n });\r\n return merged;\r\n};\r\n\r\nexport const addCommaSigns = value => value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\r\n\r\nexport const clearFilterValues = values => {\r\n return Object.keys(values).reduce((acc, item) => ({ ...acc, [item]: '' }), {});\r\n};\r\n\r\nexport const anyFilters = values => {\r\n return !!Object.keys(values).filter(keys => values[keys].length > 0).length;\r\n};\r\n\r\nexport const isEmptyFilterForm = values => {\r\n return Object.keys(values).filter(key => values[key].length).length > 0;\r\n};\r\n\r\nconst convertToYesNo = value => (value ? enums.yesno.Yes : enums.yesno.No);\r\n\r\nexport const getValueForRadioButton = value => (typeof value === 'boolean' ? convertToYesNo(value) : value);\r\n\r\nexport const formatInjuryValue = value =>\r\n (value > 100000 && value.toFixed(0)) ||\r\n (value > 10000 && value.toFixed(1)) ||\r\n (value > 1000 && value.toFixed(2)) ||\r\n value;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n gutterBottom: {\r\n padding: theme.spacing(0, 0, 2),\r\n },\r\n button: {\r\n padding: theme.spacing(7 / 8),\r\n minWidth: theme.spacing(5),\r\n color: theme.palette.background.primary.main,\r\n borderColor: theme.palette.background.primary.main,\r\n '&:hover': {\r\n borderColor: theme.palette.background.primary.main,\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import { UsaStates } from 'usa-states';\r\nimport get from 'lodash.get';\r\n\r\nconst states = new UsaStates().states.map(state => {\r\n return { label: state.name, value: state.abbreviation };\r\n});\r\n\r\nexport default states;\r\n\r\nexport const interStates = [{ label: 'Interstate', value: 'IS' }, ...states];\r\n\r\nexport const getStateNameByAbbreviation = abbreviation =>\r\n get(\r\n new UsaStates().states.find(state => state.abbreviation === abbreviation),\r\n 'name',\r\n '',\r\n );\r\n","import { createEnum } from '../actionTypesHelpers';\r\n\r\nconst options = {\r\n A: null,\r\n B: null,\r\n C: null,\r\n F: null,\r\n 'N/A': null,\r\n TBD: null,\r\n};\r\n\r\nconst typesEnum = createEnum(options);\r\nexport default Object.keys(typesEnum).map(key => ({\r\n label: key,\r\n value: typesEnum[key],\r\n}));\r\n","import React from 'react';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Autocomplete from '@material-ui/lab/Autocomplete';\r\n\r\nconst FormAutocomplete = ({\r\n size = 'small',\r\n label,\r\n options,\r\n handleChange,\r\n field: { ...fieldProps },\r\n form: { setFieldValue },\r\n withDescription,\r\n ...props\r\n}) => {\r\n const { name, value } = fieldProps;\r\n const defaultValue = options.find(item => item.value === value) || null;\r\n\r\n return (\r\n (withDescription ? `${option.value} - ${option.label}` : option.label)}\r\n renderInput={params => }\r\n onChange={(e, newValue) => {\r\n const value = newValue ? newValue.value : '';\r\n handleChange && handleChange(value, fieldProps);\r\n setFieldValue(name, value);\r\n }}\r\n />\r\n );\r\n};\r\n\r\nexport default FormAutocomplete;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n container: {\r\n padding: theme.spacing(4),\r\n },\r\n title: {\r\n paddingTop: theme.spacing(3),\r\n '& h2': {\r\n fontSize: theme.spacing(3),\r\n },\r\n },\r\n content: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n padding: theme.spacing(2),\r\n },\r\n closeButton: {\r\n position: 'absolute',\r\n top: theme.spacing(0.5),\r\n right: theme.spacing(0.5),\r\n },\r\n actions: {\r\n padding: theme.spacing(2),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { useMemo } from 'react';\r\nimport { Dialog, DialogContent, DialogTitle, IconButton } from '@material-ui/core';\r\nimport { Button, Grid } from '@material-ui/core';\r\nimport { Formik, FastField } from 'formik';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport GetAppIcon from '@material-ui/icons/GetApp';\r\n\r\nimport FormAutocomplete from '../../components/FormAutocomplete';\r\nimport useStyles from './styles';\r\n\r\nconst ExportWorkingHoursModal = ({ isOpen, onClose, onExport, dialogProps }) => {\r\n const classes = useStyles();\r\n\r\n const yearOptions = useMemo(\r\n () => [{ label: 'All', value: '' }].concat(\r\n [...Array(new Date().getFullYear() + 1).keys()]\r\n .slice(2023)\r\n .reverse()\r\n .map(item => ({ label: item.toString(), value: item }))\r\n ),\r\n []\r\n );\r\n\r\n const initialValues = useMemo(() => ({ year: '' }), []);\r\n\r\n const handleExportWorkingHours = values => {\r\n onClose();\r\n onExport(values.year);\r\n };\r\n\r\n return (\r\n \r\n Export Working Hours\r\n {onClose && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {({ submitForm }) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n >\r\n Export\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ExportWorkingHoursModal;\r\n","import React, { useMemo, useState } from 'react';\r\nimport { Formik, FastField } from 'formik';\r\nimport { Button, Grid, Collapse } from '@material-ui/core';\r\nimport debounce from 'lodash.debounce';\r\nimport { Link } from 'react-router-dom';\r\nimport GetAppIcon from '@material-ui/icons/GetApp';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\n\r\nimport { filterCompanyListShema } from '../../../../utils/validate/shemas';\r\nimport FormInput from '../../../components/FormInput';\r\nimport FormNumberInput from '../../../components/FormNumberInput';\r\nimport MultiselectDropdown from '../../../components/MultiselectDropdown';\r\nimport MinMax from '../../../components/MinMax';\r\nimport Effect from '../../../components/Effect';\r\nimport ShowMoreLessFilters from '../../../components/ShowMoreLessFilters';\r\nimport { useUserPermissions } from '../../../../utils/effects/userPermissions';\r\nimport { companyRolesSelectionOptions } from '../../../../utils/constants/companyRoleTypes';\r\nimport { clearFilterValues, anyFilters, isEmptyFilterForm } from '../../../../utils/containersHelpers';\r\nimport { userTypes } from '../../../../utils/constants';\r\nimport useStyles from './styles';\r\nimport routes from '../../../routes/path';\r\nimport { statusesOptions } from '../../../../utils/constants';\r\nimport { favoriteOptions, overdueOptions } from '../../../../utils/constants/formConstats';\r\nimport usaStates from '../../../../utils/constants/usaStates';\r\nimport grades from '../../../../utils/constants/grades';\r\nimport FormAutocomplete from '../../../components/FormAutocomplete';\r\nimport ExportWorkingHoursModal from '../../ExportWorkingHoursModal';\r\n\r\nconst WatchEffect = ({ debounceFunc, submitForm, values, dirty }) => {\r\n if (dirty) return ;\r\n\r\n return '';\r\n};\r\nconst transformCategories = groups =>\r\n groups.reduce(\r\n (acc, group) => [...acc, ...group.workCategories.map(category => ({ ...category, groupName: group.name }))],\r\n [],\r\n );\r\n\r\nconst CreateFilterForm = ({\r\n handleOnChange,\r\n allServices,\r\n allWorkCategories,\r\n values,\r\n isSafetyCouncil,\r\n handleOnExport,\r\n exporting,\r\n handleExportWorkingHours,\r\n exportingWorkingHours,\r\n canExportWorkingHours,\r\n}) => {\r\n const classes = useStyles();\r\n const { type } = useUserPermissions();\r\n\r\n const { companyName, ...hiddenValues } = values;\r\n\r\n const checkOpenMore = anyFilters(hiddenValues);\r\n const clearValues = clearFilterValues(values);\r\n const isEmptyForm = isEmptyFilterForm(values);\r\n\r\n const [moreFilter, setMoreFilter] = useState(checkOpenMore);\r\n const [isExportWorkingHoursModalOpen, setIsExportWorkingHoursModalOpen] = useState(false);\r\n\r\n const isSafetyCouncilUserType = type === userTypes.SafetyCouncil;\r\n const transformedWorkCategories = useMemo(() => transformCategories(allWorkCategories), [allWorkCategories]);\r\n const transformStates = usaStates.reduce((acc, state) => [...acc, { id: state.value, name: state.label }], []);\r\n const transformGrades = grades.reduce((acc, grade) => [...acc, { id: grade.value, name: grade.label }], []);\r\n\r\n const debounceFunc = debounce(handleOnChange, 1000);\r\n\r\n const handleExportWorkingHoursModal = () => setIsExportWorkingHoursModalOpen(prev => !prev);\r\n\r\n return (\r\n \r\n {({ submitForm, setValues, values, dirty }) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setValues(clearValues)}\r\n />\r\n \r\n \r\n \r\n \r\n : }\r\n onClick={() => handleOnExport()}\r\n disabled={exporting}\r\n >\r\n Export\r\n \r\n \r\n {canExportWorkingHours && (\r\n \r\n : }\r\n onClick={handleExportWorkingHoursModal}\r\n disabled={exportingWorkingHours}\r\n >\r\n Export Working Hours\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {isSafetyCouncil && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {isSafetyCouncilUserType && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {type === userTypes.Owner && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default CreateFilterForm;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n paperContent: {\r\n padding: theme.spacing(2),\r\n minHeight: '100%',\r\n display: 'flex',\r\n alignItems: 'flex-start',\r\n justifyContent: 'flex-start',\r\n flexWrap: 'wrap',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport Paper from '@material-ui/core/Paper';\r\n\r\nimport useStyles from './styles';\r\n\r\nconst PaperWrapper = ({ children, ...restProps }) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default PaperWrapper;\r\n","import React from 'react';\r\nimport { Grid } from '@material-ui/core';\r\n\r\nimport PageLoader from '../../components/PageLoader';\r\nimport PaginationWithCustomRows from '../../components/PaginationWithCustomRows';\r\nimport CompanyListTable from './CompanyListTabel';\r\nimport CreateFilterForm from './CreateFilterForm';\r\nimport PaperWrapper from '../../components/PaperWrapper';\r\n\r\nconst Marketplace = ({\r\n isSafetyCouncil,\r\n handleFilter,\r\n allServices,\r\n allWorkCategories,\r\n loading,\r\n fullInfoLoading,\r\n companies,\r\n total,\r\n handleChangePage,\r\n noFiltersSelected,\r\n filterValues,\r\n itemsPerPage,\r\n currentPage,\r\n handleDelete,\r\n handleRowAmountChange,\r\n handelSort,\r\n order,\r\n selectedSortField,\r\n handleAddToFavorite,\r\n loadingListAddToFavorite,\r\n handleExport,\r\n exporting,\r\n visibleColumns,\r\n setVisibleColumns,\r\n handleExportWorkingHours,\r\n exportingWorkingHours,\r\n canExportWorkingHours\r\n}) => {\r\n return (\r\n \r\n {fullInfoLoading ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default Marketplace;\r\n","import { useSelector } from 'react-redux';\r\nimport get from 'lodash.get';\r\n\r\nimport { userTypes, contractorLevelEnum } from '../constants';\r\n\r\nexport function useCompanyInfo(id) {\r\n const currentUser = useSelector(state => state.auth.check.userId);\r\n const currentCompanyId = useSelector(state => state.entity.user[currentUser].companyId);\r\n const companyId = id || currentCompanyId;\r\n const companyName = useSelector(state => get(state, `entity.company[${companyId}].name`, ''));\r\n const companyType = useSelector(state => get(state, `entity.company[${companyId}].typeName`, ''));\r\n const level = useSelector(state => get(state, `entity.company[${companyId}].level`, ''));\r\n const isBasicContractor = companyType === userTypes.Contractor && level === contractorLevelEnum.BasicContractor;\r\n\r\n return { companyId, companyName, companyType, level, isBasicContractor };\r\n}\r\n","/* eslint-disable react-hooks/exhaustive-deps */\r\nimport React, { useEffect, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport qs from 'query-string';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { push } from 'connected-react-router';\r\nimport { Helmet } from 'react-helmet';\r\n\r\nimport { company, workingHours } from '../../../actionTypes';\r\nimport { title } from '../../routes/path';\r\nimport { userTypes } from '../../../utils/constants';\r\nimport { companyRolesSelection } from '../../../utils/constants/companyRoleTypes';\r\nimport { skipFalsyValues } from '../../../utils/pageHelpers';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\nimport refineNumberString from '../../../utils/textFormaters/refineNumberString';\r\nimport MarketPlace from '../../containers/MarketPlace';\r\nimport { columnEnum } from '../../containers/MarketPlace/CompanyListTabel/columns';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\n\r\nconst CompanyList = () => {\r\n const location = useLocation();\r\n const dispatch = useDispatch();\r\n const { companyId } = useCompanyInfo();\r\n const { type } = useUserPermissions();\r\n\r\n const {\r\n total,\r\n items,\r\n services: allServices,\r\n workCategories: allWorkCategories,\r\n loading,\r\n exporting,\r\n fullInfoLoading,\r\n loadingListAddToFavorite,\r\n } = useSelector(store => store.company.list);\r\n const { exporting: exportingWorkingHours, canExportWorkingHours } = useSelector(store => store.workingHours.list);\r\n const companies = useSelector(store => items.map(id => store.entity.company[id]));\r\n\r\n const {\r\n itemsPerPage = 50,\r\n currentPage = 1,\r\n companyName = '',\r\n isFavouriteContractor = '',\r\n companyType = '',\r\n workCategories = [],\r\n services = [],\r\n pqfStatuses = [],\r\n grades = [],\r\n states = [],\r\n zip = '',\r\n companyUser = '',\r\n aemin = '',\r\n aemax = '',\r\n lcmin = '',\r\n lcmax = '',\r\n bcmin = '',\r\n bcmax = '',\r\n withOverdue = '',\r\n field = 'companyName',\r\n order = 'asc',\r\n } = qs.parse(location.search, { comma: true });\r\n\r\n const noFiltersSelected =\r\n !companyName &&\r\n !companyType &&\r\n !isFavouriteContractor &&\r\n !workCategories.length &&\r\n !services.length &&\r\n !pqfStatuses.length &&\r\n !states.length &&\r\n !grades.length &&\r\n !zip &&\r\n !companyUser &&\r\n !aemin &&\r\n !aemax &&\r\n !lcmin &&\r\n !lcmax &&\r\n !bcmin &&\r\n !bcmax;\r\n\r\n const filterValues = {\r\n companyName,\r\n companyType: companyType === companyRolesSelection.All ? '' : companyType,\r\n withOverdue,\r\n isFavouriteContractor,\r\n workCategories,\r\n services,\r\n pqfStatuses,\r\n grades,\r\n states,\r\n zip,\r\n companyUser,\r\n aemin,\r\n aemax,\r\n lcmin: refineNumberString(lcmin),\r\n lcmax: refineNumberString(lcmax),\r\n bcmin: refineNumberString(bcmin),\r\n bcmax: refineNumberString(bcmax),\r\n };\r\n\r\n useEffect(() => {\r\n const payload = {\r\n pagination: {\r\n page: currentPage,\r\n perPage: itemsPerPage,\r\n },\r\n sort: {\r\n field,\r\n order,\r\n },\r\n filter: {\r\n ...filterValues,\r\n companyUser: filterValues.companyUser ? encodeURIComponent(filterValues.companyUser) : filterValues.companyUser\r\n },\r\n };\r\n dispatch({\r\n type: company.list.start,\r\n payload: { payload, fullInfo: allWorkCategories.length === 0 || allServices.length === 0 },\r\n });\r\n }, [\r\n currentPage,\r\n dispatch,\r\n services.length,\r\n grades.length,\r\n workCategories.length,\r\n companyName,\r\n companyType,\r\n isFavouriteContractor,\r\n aemin,\r\n aemax,\r\n lcmin,\r\n lcmax,\r\n bcmin,\r\n bcmax,\r\n itemsPerPage,\r\n field,\r\n order,\r\n withOverdue,\r\n pqfStatuses.length,\r\n states.length,\r\n zip,\r\n companyUser,\r\n ]);\r\n\r\n useEffect(() => {\r\n if (type === userTypes.Owner) {\r\n dispatch({\r\n type: workingHours.canExportWorkingHours.start,\r\n payload: { ownerCompanyId: companyId, isSafetyCouncil: false },\r\n });\r\n } else if (type === userTypes.SafetyCouncil) {\r\n dispatch({\r\n type: workingHours.canExportWorkingHours.start,\r\n payload: { isSafetyCouncil: true },\r\n });\r\n }\r\n }, [type]);\r\n\r\n const saveValues = localStorage.getItem('marketplaceColumns');\r\n const defaultColumn = saveValues ? JSON.parse(saveValues) : Object.keys(columnEnum).map(item => columnEnum[item].key);\r\n\r\n const [visibleColumns, setVisibleColumns] = useState(\r\n defaultColumn.filter(\r\n column =>\r\n !(type === userTypes.SafetyCouncil && [columnEnum.favorite.key, columnEnum.ownerGrade.key].includes(column)),\r\n ),\r\n );\r\n\r\n const handleChangePage = offset => {\r\n const currentPage = offset / itemsPerPage + 1;\r\n\r\n const updatedFilterValues = skipFalsyValues(filterValues);\r\n\r\n dispatch(\r\n push({\r\n pathname: location.pathname,\r\n search: qs.stringify(\r\n { field, order, itemsPerPage: itemsPerPage, currentPage, ...updatedFilterValues },\r\n { arrayFormat: 'comma', encode: true, skipNull: true },\r\n ),\r\n }),\r\n );\r\n };\r\n\r\n const handleFilter = function(values) {\r\n dispatch(\r\n push({\r\n pathname: location.pathname,\r\n search: qs.stringify(\r\n { field, order, ...skipFalsyValues(values) },\r\n { arrayFormat: 'comma', encode: true, skipNulls: true },\r\n ),\r\n }),\r\n );\r\n };\r\n\r\n const handleExport = () => {\r\n const payload = {\r\n sort: {\r\n field,\r\n order,\r\n },\r\n filter: {\r\n ...filterValues,\r\n columns: visibleColumns.filter(x => x !== columnEnum.actions.key),\r\n },\r\n };\r\n\r\n dispatch({\r\n type: company.export.start,\r\n payload: payload,\r\n });\r\n };\r\n\r\n const handleDelete = companyId => {\r\n const payload = {\r\n pagination: {\r\n page: currentPage,\r\n perPage: itemsPerPage,\r\n },\r\n sort: {\r\n field,\r\n order,\r\n },\r\n };\r\n\r\n dispatch({\r\n type: company.delete.start,\r\n payload: { payload, companyId },\r\n });\r\n };\r\n\r\n const handleRowAmountChange = value => {\r\n dispatch(\r\n push({\r\n pathname: location.pathname,\r\n search: qs.stringify(\r\n { field, order, itemsPerPage: value, currentPage: 1, ...skipFalsyValues(filterValues) },\r\n { arrayFormat: 'comma', encode: true, skipNulls: true },\r\n ),\r\n }),\r\n );\r\n };\r\n\r\n const handelSort = (field, order) => {\r\n dispatch(\r\n push({\r\n pathname: location.pathname,\r\n search: qs.stringify(\r\n { field, order, ...skipFalsyValues(filterValues) },\r\n { arrayFormat: 'comma', encode: true, skipNulls: true },\r\n ),\r\n }),\r\n );\r\n };\r\n\r\n const handleAddToFavorite = async (id, state) => {\r\n await dispatch({\r\n type: company.addToFavorite.start,\r\n payload: { id, companyId, state },\r\n });\r\n dispatch({\r\n type: workingHours.canExportWorkingHours.start,\r\n payload: { ownerCompanyId: companyId, isSafetyCouncil: false },\r\n });\r\n };\r\n\r\n const handleExportWorkingHours = year => {\r\n dispatch({\r\n type: workingHours.exportWorkingHours.start,\r\n payload: {\r\n userType: type,\r\n ownerCompanyId: companyId,\r\n pagination: {\r\n page: currentPage,\r\n perPage: itemsPerPage,\r\n },\r\n sort: {\r\n field,\r\n order,\r\n },\r\n filter: { ...filterValues, year },\r\n fullInfo: allWorkCategories.length === 0 || allServices.length === 0,\r\n },\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {title.private.company.list}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CompanyList;\r\n","export const clearTokens = (keyForException = []) => {\r\n const localStorageKeys = Object.keys(localStorage);\r\n\r\n localStorageKeys.forEach(key => {\r\n if (keyForException.includes(key)) return;\r\n delete localStorage[key];\r\n });\r\n};\r\n\r\nexport const saveTokens = (data = {}) => {\r\n const dataKeys = Object.keys(data);\r\n\r\n dataKeys.forEach(key => {\r\n if (key.toLowerCase().includes('token') && key !== 'refreshToken') {\r\n localStorage.accessToken = data[key];\r\n return;\r\n }\r\n localStorage[key] = data[key];\r\n });\r\n};\r\n\r\nexport const hasTokens = () => !!localStorage.accessToken && !!localStorage.username;\r\n\r\nexport const getHeaders = authenticated => {\r\n const headers = new Headers({\r\n 'Content-Type': 'application/json',\r\n SkipResetValidationAfterSuccess: localStorage.skipResetValidationAfterSuccess,\r\n });\r\n if (authenticated) headers.set('Authorization', `Bearer ${localStorage.accessToken}`);\r\n\r\n return headers;\r\n};\r\n\r\nlet newTokenRequest;\r\n\r\nexport const reauthenticateIfNeeded = async (\r\n { apiAuthUrl, permissionsUrl },\r\n status,\r\n { clearTokensData = clearTokens, saveTokensData = saveTokens },\r\n) => {\r\n if (status !== 401 || !localStorage.accessToken) return false;\r\n if (newTokenRequest) {\r\n return newTokenRequest;\r\n }\r\n\r\n newTokenRequest = new Promise(async resolve => {\r\n const { refreshToken, accessToken } = localStorage;\r\n const request = new Request(apiAuthUrl, {\r\n method: 'PUT',\r\n body: JSON.stringify({ refreshToken, accessToken }),\r\n headers: getHeaders(true),\r\n });\r\n\r\n const response = await fetch(request);\r\n\r\n if (response.status < 200 || response.status >= 300) {\r\n clearTokensData();\r\n window.location.href = '/sign-in';\r\n resolve(false);\r\n newTokenRequest = null;\r\n return;\r\n }\r\n\r\n const data = await response.json();\r\n saveTokensData(data);\r\n resolve(true);\r\n newTokenRequest = null;\r\n });\r\n return newTokenRequest;\r\n};\r\n\r\nexport const getValueFromToken = () => {\r\n if (localStorage.accessToken) {\r\n return JSON.parse(window.atob(localStorage.accessToken.split('.')[1]));\r\n }\r\n return null;\r\n};\r\n\r\nexport const getPermissions = () => {\r\n const role = localStorage.getItem('role');\r\n const permissions = localStorage.getItem('permissions');\r\n return role ? Promise.resolve({ role, list: permissions }) : Promise.reject();\r\n};\r\n","import React from 'react';\r\nimport { MenuItem } from '@material-ui/core';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport get from 'lodash.get';\r\n\r\nconst FormSelect = ({\r\n size = 'small',\r\n options,\r\n specialFilter,\r\n handleChange,\r\n field: { onChange, ...fieldProps },\r\n form: { errors, touched, setFieldValue },\r\n ...props\r\n}) => {\r\n const { name } = fieldProps;\r\n const itemError = get(errors, name);\r\n const itemTouched = get(touched, name);\r\n\r\n return (\r\n {\r\n handleChange && handleChange(e, fieldProps);\r\n setFieldValue(name, e.target.value);\r\n }}\r\n fullWidth\r\n select\r\n variant=\"outlined\"\r\n size={size}\r\n error={!!itemError && !!itemTouched}\r\n helperText={!!itemError && !!itemTouched && itemError}\r\n >\r\n {options.map((option, index) => {\r\n const date = new Date();\r\n const isDec = date.getMonth() === 11;\r\n\r\n let disabled = specialFilter && (isDec ? index > 0 : index > 1);\r\n\r\n return (\r\n \r\n {option.label}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default FormSelect;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles({\r\n containerForm: ({ loading, disabled }) => ({\r\n overflow: loading ? 'hidden' : 'auto',\r\n pointerEvents: loading || disabled ? 'none' : 'auto',\r\n position: 'relative',\r\n minWidth: '100%',\r\n alignSelf: 'stretch',\r\n }),\r\n});\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\n\r\nimport useStyles from './styles';\r\n\r\nconst FormBody = ({ loading, children, disabled, spacing = 2 }) => {\r\n const classes = useStyles({ loading, disabled });\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default FormBody;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n buttonStyles: ({ loading }) => ({\r\n pointerEvents: loading ? 'none' : 'auto',\r\n }),\r\n error: {\r\n fontSize: theme.typography.h2.fontSize,\r\n color: theme.palette.error.main,\r\n marginRight: theme.spacing(2),\r\n },\r\n success: {\r\n fontSize: theme.typography.h2.fontSize,\r\n color: theme.palette.success.main,\r\n marginRight: theme.spacing(2),\r\n },\r\n loading: {\r\n marginRight: theme.spacing(2),\r\n },\r\n placeholder: {\r\n height: theme.spacing(5),\r\n padding: 0,\r\n },\r\n submitAppBar: {\r\n width: 'auto',\r\n bottom: 0,\r\n top: 'auto',\r\n textAlign: 'right',\r\n boxShadow: 'none',\r\n },\r\n fixed: ({ fixed }) =>\r\n fixed && {\r\n padding: theme.spacing(2),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n title: {\r\n '&.MuiDialogTitle-root': {\r\n padding: theme.spacing(1, 0),\r\n },\r\n },\r\n container: {\r\n padding: theme.spacing(1),\r\n },\r\n icon: {\r\n fontSize: theme.spacing(8),\r\n color: theme.palette.warning.light,\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Button, Dialog, DialogActions, DialogTitle, Grid } from '@material-ui/core';\r\nimport WarningIcon from '@material-ui/icons/Warning';\r\n\r\nimport useStyles from './styles';\r\nimport { userTypes } from '../../../utils/constants';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\n\r\nconst WarningDocumentUpdate = ({ open, handleClose, handleConfirm }) => {\r\n const classes = useStyles();\r\n const { type } = useUserPermissions();\r\n\r\n const save = skipResetValidationAfterSuccess => {\r\n localStorage.setItem('skipResetValidationAfterSuccess', skipResetValidationAfterSuccess);\r\n\r\n handleConfirm();\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n If you save current changes your PQF submission will be recalled.
You will need to resubmit the PQF\r\n document\r\n
\r\n
\r\n
\r\n \r\n \r\n {type === userTypes.SafetyCouncil && (\r\n \r\n )}\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default WarningDocumentUpdate;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n title: {\r\n '&.MuiDialogTitle-root': {\r\n padding: theme.spacing(1, 0),\r\n },\r\n },\r\n container: {\r\n padding: theme.spacing(1),\r\n maxWidth: theme.spacing(60),\r\n },\r\n icon: {\r\n fontSize: theme.spacing(8),\r\n color: theme.palette.warning.light,\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Button, Dialog, DialogActions, DialogTitle, Grid, Typography } from '@material-ui/core';\r\nimport WarningIcon from '@material-ui/icons/Warning';\r\n\r\nimport useStyles from './styles';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\nimport { userTypes } from '../../../utils/constants';\r\n\r\nconst WarningDocumentCreate = ({ open, handleClose, handleConfirm }) => {\r\n const classes = useStyles();\r\n const { type } = useUserPermissions();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {type === userTypes.Contractor ? (\r\n \r\n If you save current changes a new PQF will be created. You will need to resubmit the PQF document.\r\n \r\n ) : (\r\n \r\n If you save current changes a new PQF will be created. This contractor will need to resubmit the PQF\r\n document.\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default WarningDocumentCreate;\r\n","import React, { useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { Button, Grid, CircularProgress, AppBar } from '@material-ui/core';\r\nimport HighlightOffIcon from '@material-ui/icons/HighlightOff';\r\nimport CloudDoneIcon from '@material-ui/icons/CloudDone';\r\n\r\nimport useStyles from './styles';\r\nimport WarningDocumentUpdate from '../../containers/WarningDocumentUpdate';\r\nimport WarningDocumentCreate from '../../containers/WarningDocumentCreate';\r\nimport { pqfStatusesEnum } from '../../../utils/constants';\r\n\r\nconst Wrapper = ({ fixed, className, children }) =>\r\n fixed ? (\r\n \r\n {children}\r\n \r\n ) : (\r\n children\r\n );\r\n\r\nconst LoadingButton = ({\r\n fixed,\r\n skipCheckPQF,\r\n disabled,\r\n loading,\r\n text,\r\n error,\r\n success,\r\n onClick,\r\n position = 'flex-end',\r\n}) => {\r\n const [openConfirmModal, setOpenConfirmModal] = useState(false);\r\n const [openCreateNewPQFModal, setOpenCreateNewPQFModal] = useState(false);\r\n const classes = useStyles({ loading, fixed });\r\n const currentPqfDocumentStatus = useSelector(\r\n store => store.currentCompany.companyInfo.pqfStatus.currentPqfDocumentStatus,\r\n );\r\n\r\n const handleConfirm = () => {\r\n setOpenConfirmModal(false);\r\n onClick();\r\n };\r\n\r\n const handleConfirmCreate = () => {\r\n setOpenCreateNewPQFModal(false);\r\n onClick();\r\n };\r\n\r\n const handleClose = () => setOpenConfirmModal(false);\r\n const handleCloseCreate = () => setOpenCreateNewPQFModal(false);\r\n\r\n const handleClick = () => {\r\n localStorage.setItem('skipResetValidationAfterSuccess', false);\r\n\r\n if (!skipCheckPQF && currentPqfDocumentStatus === pqfStatusesEnum.PendingReview) {\r\n setOpenConfirmModal(true);\r\n } else if (!skipCheckPQF && currentPqfDocumentStatus === pqfStatusesEnum.Completed) {\r\n setOpenCreateNewPQFModal(true);\r\n } else {\r\n onClick();\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {loading && }\r\n {!loading && error && }\r\n {!loading && success && !error && }\r\n handleClick()}\r\n size=\"small\"\r\n variant=\"contained\"\r\n color=\"primary\"\r\n className={classes.buttonStyles}\r\n >\r\n {text}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default LoadingButton;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n paper: {\r\n padding: theme.spacing(3),\r\n maxWidth: '420px',\r\n width: '100%',\r\n },\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n backdrop: {\r\n zIndex: theme.zIndex.modal,\r\n color: theme.palette.primary,\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n dialogWrapper: {\r\n borderWidth: 1,\r\n borderTopColor: theme.palette.grey[100],\r\n borderTopStyle: 'solid',\r\n maxWidth: theme.spacing(50),\r\n },\r\n button: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport NavigationPrompt from 'react-router-navigation-prompt';\r\nimport { useSelector } from 'react-redux';\r\nimport { Button, Dialog, DialogTitle, Typography, DialogActions, Grid } from '@material-ui/core';\r\n\r\nimport useStyles from './styles';\r\n\r\nconst PromptNotification = ({ formStatus }) => {\r\n const { data } = useSelector(state => state.settings.settings);\r\n const classes = useStyles();\r\n if (!formStatus) return '';\r\n\r\n return (\r\n \r\n {({ onConfirm, onCancel }) => (\r\n \r\n \r\n \r\n You have unsaved data. Are you sure you want to leave this page without saving?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default PromptNotification;\r\n","import { FastField, Formik } from 'formik';\r\nimport { Grid, Typography } from '@material-ui/core';\r\nimport React from 'react';\r\n\r\nimport { createCompanySchema } from '../../../utils/validate/shemas';\r\nimport PaperWrapper from '../../components/PaperWrapper';\r\nimport FormInput from '../../components/FormInput';\r\nimport FormSelect from '../../components/FormSelect';\r\nimport FormNumberInput from '../../components/FormNumberInput';\r\nimport FormBody from '../../components/FormBody';\r\nimport LoadingButton from '../../components/LoadingButton';\r\nimport useStyles from './styles';\r\nimport companyRoleTypes from '../../../utils/constants/companyRoleTypes';\r\nimport PromptNotification from '../../components/PromptComponent';\r\nimport { userTypes } from '../../../utils/constants';\r\n\r\nconst typeValueKey = 'type';\r\n\r\nconst CreateCompanyForm = ({ error, loading, success, handleSubmit, allowUpdate, isSafetyCouncilUserType }) => {\r\n const classes = useStyles();\r\n\r\n const onSubmit = values => {\r\n const newValues = Object.keys(values).reduce((acc, key) => {\r\n if (key === typeValueKey && values[key] !== userTypes.Owner)\r\n return {\r\n ...acc,\r\n type: userTypes.Contractor,\r\n level: values[key],\r\n };\r\n return {\r\n ...acc,\r\n [key]: ['phoneNumber', 'fax'].includes(key) ? values[key].replace(/-/g, '') : values[key],\r\n };\r\n }, {});\r\n handleSubmit(newValues);\r\n };\r\n const initialValues = {\r\n type: '',\r\n companyName: '',\r\n phoneNumber: '',\r\n fax: '',\r\n emailAddress: '',\r\n website: '',\r\n taxId: '',\r\n };\r\n\r\n //console.log(companyRoleTypes)\r\n \r\n return (\r\n \r\n \r\n {props => (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n Create New Company\r\n \r\n \r\n \r\n {isSafetyCouncilUserType && (\r\n \r\n )}\r\n \r\n \r\n {\r\n // \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n {allowUpdate && (\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CreateCompanyForm;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Helmet } from 'react-helmet';\r\n\r\nimport { title } from '../../routes/path';\r\nimport { company } from '../../../actionTypes';\r\nimport CreateCompanyForm from '../../containers/CreateCompanyForm';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\nimport { userTypes } from '../../../utils/constants';\r\n\r\nconst CreateNewCompany = () => {\r\n const dispatch = useDispatch();\r\n const { loading, success, error } = useSelector(state => state.company.create);\r\n const [showStatus, setShowStatus] = useState(false);\r\n\r\n const { type } = useUserPermissions();\r\n const { allowUpdate } = useUserPermissions();\r\n\r\n const isSafetyCouncilUserType = type === userTypes.SafetyCouncil;\r\n\r\n const handleSubmit = values => dispatch({ type: company.create.start, payload: values });\r\n\r\n useEffect(() => {\r\n setShowStatus(true);\r\n }, [loading]);\r\n\r\n useEffect(() => {\r\n setShowStatus(false);\r\n return () => setShowStatus(false);\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n {title.private.company.new}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CreateNewCompany;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n container: ({ size }) => ({\r\n width: size || theme.spacing(3),\r\n height: size || theme.spacing(3),\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n '& img': {\r\n width: '100%',\r\n height: 'auto',\r\n maxWidth: '80%',\r\n maxHeight: '80%',\r\n pointerEvents: 'none',\r\n },\r\n }),\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\n\r\nimport Certification from '../../images/Certification.png';\r\nimport useStyles from './styles';\r\n\r\nconst CertificationIcon = ({ size }) => {\r\n const classes = useStyles({ size });\r\n return (\r\n
\r\n \"Certification\r\n
\r\n );\r\n};\r\n\r\nexport default CertificationIcon;\r\n","import React from 'react';\r\n\r\nimport Certification from '../../images/Training.png';\r\nimport useStyles from './styles';\r\n\r\nconst TrainingIcon = ({ size }) => {\r\n const classes = useStyles({ size });\r\n return (\r\n
\r\n \"Certification\r\n
\r\n );\r\n};\r\n\r\nexport default TrainingIcon;\r\n","import React from 'react';\r\n\r\nimport Certification from '../../images/General.png';\r\nimport useStyles from './styles';\r\n\r\nconst GeneralIcon = ({ size }) => {\r\n const classes = useStyles({ size });\r\n return (\r\n
\r\n \"Certification\r\n
\r\n );\r\n};\r\n\r\nexport default GeneralIcon;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nexport const iconSpacing = 6;\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n menu: ({ height }) => ({\r\n minHeight: height,\r\n transition: 'all 0.3',\r\n position: 'relative',\r\n overflow: 'hidden',\r\n '& ul': {\r\n listStyle: 'none',\r\n margin: 0,\r\n padding: 0,\r\n },\r\n }),\r\n menuTab: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n },\r\n icon: {\r\n width: theme.spacing(iconSpacing),\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n backgroundColor: 'orange',\r\n },\r\n submenuBlock: {\r\n position: 'absolute',\r\n top: 0,\r\n left: theme.spacing(iconSpacing),\r\n right: 0,\r\n bottom: 0,\r\n borderLeft: `2px solid ${theme.palette.grey['500']}`,\r\n backgroundColor: theme.palette.common.white,\r\n transform: 'translateX(110%)',\r\n },\r\n active: {\r\n '& > ul': {\r\n transform: 'translateX(0)',\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nimport { iconSpacing } from '../styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n wrapper: ({ current, hasCurrentChild }) => {\r\n const isAccentColor = current || hasCurrentChild;\r\n\r\n return {\r\n padding: theme.spacing(0.75, 0),\r\n textDecoration: 'none',\r\n cursor: 'pointer',\r\n backgroundColor: isAccentColor ? theme.palette.grey['200'] : 'transparent',\r\n transition: 'all 0.3s',\r\n '&:hover': {\r\n backgroundColor: theme.palette.grey['300'],\r\n },\r\n };\r\n },\r\n childContainer: {\r\n padding: theme.spacing(0, 1),\r\n },\r\n menuIcon: {\r\n width: theme.spacing(iconSpacing),\r\n },\r\n menuItemWidth: {\r\n width: `calc(100% - ${theme.spacing(iconSpacing)}px)`,\r\n },\r\n iconContainer: {\r\n '& div': {\r\n lineHeight: 1,\r\n textAlign: 'center',\r\n },\r\n },\r\n link: {\r\n display: 'block',\r\n textDecoration: 'none',\r\n color: theme.palette.common.black,\r\n lineHeight: 1,\r\n },\r\n success: {\r\n color: theme.palette.labels.success,\r\n },\r\n error: {\r\n color: theme.palette.labels.error,\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import qestions from '../../store/questions.json';\r\nconst hardcodeKeys = {\r\n YearCreated: 'Year Established Under Present Firm Name',\r\n StateContractorNumber: 'State contractor number',\r\n Description: 'Description',\r\n MailingAddressCity: 'Mailing address: City',\r\n MailingAddressState: 'Mailing address: State',\r\n MailingAddressZip: 'Mailing address: Zip',\r\n MailingAddressStreet: 'Mailing address: Street',\r\n StreetAddressCity: 'Street address: City',\r\n StreetAddressState: 'Street address: State',\r\n StreetAddressZip: 'Street address: Zip',\r\n StreetAddressStreet: 'Street address: Street',\r\n CeoEmailAddress: 'CEO/Owner: Email address',\r\n BidManagerContactInfoContactPersonFirstName: 'Bid manager: First name',\r\n BidManagerContactInfoContactPersonLastName: 'Bid manager: Last name',\r\n BidManagerContactInfoContactPersonTitle: 'Bid manager: Title',\r\n BidManagerContactInfoEmailAddress: 'Bid manager: Email address',\r\n BidManagerContactInfoPhoneNumber: 'Bid manager: Phone number',\r\n BidManagerContactInfoFaxNumber: 'Bid manager: Fax number',\r\n InsurancePolicyContactInfoContactPersonFirstName: 'Company Contact for Insurance Information: First name',\r\n InsurancePolicyContactInfoContactPersonLastName: 'Company Contact for Insurance Information: Last name',\r\n InsurancePolicyContactInfoContactPersonTitle: 'Company Contact for Insurance Information: Title',\r\n InsurancePolicyContactInfoPhoneNumber: 'Company Contact for Insurance Information: Phone number',\r\n InsurancePolicyContactInfoFaxNumber: 'Company Contact for Insurance Information: Fax number',\r\n insurpolQ13: 'Workers Compensation Carrier',\r\n GeneralLiabilityName: 'General Liability Carrier: Name',\r\n GeneralLiabilityExpirationDate: 'General Liability Carrier: Expiration date',\r\n GeneralLiabilityAmount: 'General Liability Carrier: Coverage amount',\r\n IsParentCompanyExist: 'Do you have a Parent Company?',\r\n IsSubsidiaryExist: 'Do you have a Subsidiary Company?',\r\n OrganizationInformationFormOfBusiness: 'Form of business',\r\n OrganizationInformationIncorporationDate: 'Incorporation date',\r\n OrganizationInformationIncorporationState: 'Incorporation state',\r\n OrganizationInformationPercentMinorityOwned: 'Percent Minority/Female Owned',\r\n OrganizationInformationEeoCategory: 'EEO Category',\r\n CompanyServices: 'Company services',\r\n CompanyWorkCategories: 'Work categories',\r\n DunsNumber: 'Dun & Bradstreet Scores and Ratings: DUNS Number',\r\n BondingCapacity: 'Bank Information: Bonding capacity',\r\n FinRating: 'Dun & Bradstreet Scores and Ratings: D&B Financial Rating',\r\n BankReference: 'Bank Information: Reference',\r\n CompanyLargestJobAmount: 'Largest Job during the last 3 years: Amount',\r\n CompanyLargestJobCustomerName: 'Largest Job during the last 3 years: Customer name',\r\n CompanyLargestJobDescription: 'Largest Job during the last 3 years: Description',\r\n Certifications: 'Name of the highest ranking safety & health professional in your company: Certifications',\r\n ReportsToName: 'Name of the highest ranking safety & health professional in your company: Reports to name',\r\n ReportsToTitle: 'Name of the highest ranking safety & health professional in your company: Reports to title',\r\n ContactPersonFirstName: 'Name of the highest ranking safety & health professional in your company: First name',\r\n ContactPersonLastName: 'Name of the highest ranking safety & health professional in your company: Last name',\r\n ContactPersonTitle: 'Name of the highest ranking safety & health professional in your company: Title',\r\n EmailAddress: 'Email address',\r\n PhoneNumber: 'Phone number',\r\n EmrInfoSic: 'SIC',\r\n EmrInfoNaics: 'NAICS',\r\n EmrInfoState: 'State of origin',\r\n EmrInfoAnniversaryDate: 'EMR Anniversary Date',\r\n CompanyCraftsmenCertificationQuestion:\r\n 'Do you comply with the SLCUC Participation Policy for contractor worker certification?',\r\n CeoName: 'CEO/Owner name',\r\n CeoDateHired: 'CEO/Owner Date Hired',\r\n PresidentIsPositionExist: 'Existing president position',\r\n VicePresidentIsPositionExist: 'Existing vice president position',\r\n TreasurerIsPositionExist: 'Existing treasurer position',\r\n WorkersCompensationIsSelfInsured: 'Are you self insured for Workers Compensation Insurance?',\r\n HasVehicleInsurance: 'Do you have company Automobile Insurance?',\r\n BankLineOfCredit: 'Bank line of credit',\r\n MinProjectSize: 'Your Firm Desired Project Size: Minimum',\r\n MaxProjectSize: 'Your Firm Desired Project Size: Maximum',\r\n NetWorth: 'Dun & Bradstreet Scores and Ratings: Net Worth',\r\n CompanyCraftsmenCertificationQuestionCompliesWithSLCUC:\r\n 'Do you comply with the SLCUC Participation Policy for contractor worker certification?',\r\n CompanyCraftsmenCertificationQuestionCompliesWithGoldenTriangle:\r\n 'Do you comply with the Golden Triangle Business Roundtable Crat Certification and Assessment Policy?',\r\n CompanyCraftsmenCertificationQuestionHasTrainingPrograms:\r\n 'Do you have training/certification programs for certifying \"A\" Craftsmen?',\r\n CompanyCraftsmenCertificationQuestionHasPracticalTestingPrograms:\r\n 'Do you have practical (hands-on) testing programs for certifying \"A\" Craftsmen?',\r\n CompanyCraftsmenCertificationQuestionIsNccerAssessmentCenter: 'Is the Company an accredited NCCER Assessment Center?',\r\n contlicense: \"Upload State Contractor's License\",\r\n emrdoc: 'Upload EMR Documentation (Insurance Carrier) (Last 3 Years)',\r\n oshadoc: 'Upload OSHA 300/300A Logs (Last 3 Years)',\r\n certificate: 'Upload General Liability Insurance Certificate',\r\n OrganizationInformationAverageNumberOfEmployees: 'Average number of employees',\r\n HealthProfContactPersonFirstName: 'Contact person first name',\r\n HealthProfContactPersonLastName: 'Contact person last name',\r\n HealthProfContactPersonTitle: 'Contact person title',\r\n HealthProfEmailAddress: 'Email address',\r\n HealthProfPhoneNumber: 'Phone number',\r\n Emr1Year: 'EMR per year',\r\n workerins: 'Upload Workers Compensation Insurance',\r\n finaudit: 'Upload Audited Financial Statements (Last 2 Fiscal Years)',\r\n autoinsur: 'Upload Automobile Insurance',\r\n};\r\n\r\nconst yesNoKeys = qestions.reduce((acc, item) => ({ ...acc, [item.key]: item.text }), {});\r\n\r\nexport const getQuestionTitle = key => {\r\n if (hardcodeKeys[key]) return hardcodeKeys[key];\r\n if (yesNoKeys[key]) return yesNoKeys[key];\r\n console.warn(`Such key doesnt exist ${key}`);\r\n return key;\r\n};\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n title: {\r\n color: 'white',\r\n },\r\n list: {\r\n padding: theme.spacing(1, 0, 1, 1),\r\n margin: theme.spacing(0, 1),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { Typography } from '@material-ui/core';\r\n\r\nimport { getQuestionTitle } from '../../../../utils/constants/pqfValidationQuestions';\r\nimport useStyles from './styles';\r\n\r\nconst MenuTooltip = ({ validationKey, childrenPage }) => {\r\n const keys = useSelector(store => store.currentCompany.companyInfo.validationFields[validationKey]);\r\n const classes = useStyles();\r\n\r\n return (\r\n
\r\n \r\n Missing values\r\n \r\n
    \r\n {keys && keys.map(item =>
  • {getQuestionTitle(item)}
  • )}\r\n {childrenPage && childrenPage.map(item =>
  • {item}
  • )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default MenuTooltip;\r\n","import React from 'react';\r\nimport KeyboardArrowRightIcon from '@material-ui/icons/KeyboardArrowRight';\r\nimport { Link, useLocation } from 'react-router-dom';\r\nimport { CircularProgress, Grid, Tooltip, Typography } from '@material-ui/core';\r\nimport { Done, Error } from '@material-ui/icons';\r\n\r\nimport useStyles from './styles';\r\nimport MenuTooltip from '../MenuTooltip';\r\n\r\nconst LinkWrapper = ({ to, children, handleClick, classes }) =>\r\n to && to !== '' ? (\r\n \r\n \r\n {children}\r\n \r\n \r\n ) : (\r\n \r\n {children}\r\n \r\n );\r\n\r\nconst hasCurrentChild = (item, pathname) =>\r\n item.children &&\r\n Object.keys(item.children).reduce((isCurrent, key) => isCurrent || item.children[key].to === pathname, false);\r\n\r\nconst MenuItem = ({ item, current, active, validKeys, loadingKeys, showValidation, handleClick }) => {\r\n const { pathname } = useLocation();\r\n const Icon = item.icon;\r\n const classes = useStyles({ current, hasCurrentChild: hasCurrentChild(item, pathname) });\r\n\r\n const isValidCurrent = item.validationKey && validKeys.includes(item.validationKey);\r\n const isHasValidation =\r\n item.validationKey ||\r\n (item.children && Object.keys(item.children).filter(child => item.children[child].validationKey).length);\r\n\r\n const ValidationStatus = () => {\r\n if (isHasValidation) {\r\n if (loadingKeys.includes(item.validationKey)) {\r\n return ;\r\n }\r\n if (\r\n isValidCurrent ||\r\n (item.children &&\r\n Object.keys(item.children).filter(child => validKeys.includes(item.children[child].validationKey)).length)\r\n ) {\r\n return (\r\n validKeys.includes(item.children[child].validationKey))\r\n .map(child => item.children[child].title)\r\n }\r\n />\r\n }\r\n placement=\"bottom-start\"\r\n >\r\n \r\n \r\n );\r\n } else {\r\n return ;\r\n }\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n {Icon ? (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {item.title} \r\n \r\n \r\n \r\n \r\n {showValidation && }\r\n \r\n \r\n {!!item.children && }\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n {isHasValidation && showValidation && (\r\n \r\n \r\n \r\n )}\r\n \r\n {item.title} \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default MenuItem;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nimport { iconSpacing } from '../styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n wrapper: {\r\n padding: theme.spacing(0.25, 1, 0.25, 0),\r\n borderTop: `2px solid ${theme.palette.grey['500']}`,\r\n borderBottom: `2px solid ${theme.palette.grey['500']}`,\r\n backgroundColor: 'transparent',\r\n transition: 'all 0.3s',\r\n cursor: 'pointer',\r\n },\r\n subMenu: {\r\n '&:hover': {\r\n backgroundColor: theme.palette.grey['100'],\r\n },\r\n },\r\n menuIcon: ({ back }) => ({\r\n width: theme.spacing(iconSpacing),\r\n transition: 'all 0.3s',\r\n opacity: back ? '1' : '0',\r\n }),\r\n containerIcon: {\r\n minHeight: `calc(${theme.typography.subtitle2.lineHeight} + ${theme.typography.subtitle2.lineHeight})`,\r\n },\r\n menuItemWidth: {\r\n width: `calc(100% - ${theme.spacing(iconSpacing)}px)`,\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport KeyboardArrowLeftIcon from '@material-ui/icons/KeyboardArrowLeft';\r\n\r\nimport useStyles from './styles';\r\n\r\nconst BackButton = ({ handleClick, title, back }) => {\r\n const classes = useStyles({ back });\r\n const menu = title !== 'Menu' && classes.subMenu;\r\n return (\r\n back && handleClick()} className={`${classes.wrapper} ${menu}`}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {title}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default BackButton;\r\n","import React, { useState, useRef, useEffect, useMemo } from 'react';\r\nimport { v3 as uuidv3 } from 'uuid';\r\nimport { useLocation } from 'react-router-dom';\r\n\r\nimport MenuItem from './MenuItem';\r\nimport BackButton from './BackButton';\r\nimport useStyles from './styles';\r\n\r\n// create object with uniq id for each menu item\r\nconst addIdToItems = list =>\r\n list.reduce((acc, item) => {\r\n const id = uuidv3(item.title, uuidv3.DNS);\r\n if (item.children) {\r\n return {\r\n ...acc,\r\n [id]: {\r\n id,\r\n ...item,\r\n children: addIdToItems(item.children),\r\n },\r\n };\r\n }\r\n return {\r\n ...acc,\r\n [id]: {\r\n id,\r\n ...item,\r\n },\r\n };\r\n }, {});\r\n\r\n// calculate active parent iff it exist\r\nconst getActive = (path, obj) =>\r\n Object.keys(obj).reduce((acc, item) => {\r\n const parent =\r\n obj[item].children &&\r\n Object.keys(obj[item].children).filter(childId => obj[item].children[childId].to === path).length &&\r\n item;\r\n return (parent && obj[parent]) || acc;\r\n }, null);\r\n\r\nconst Menu = ({ menu, validKeys, loadingKeys, showValidation }) => {\r\n const { pathname } = useLocation();\r\n\r\n const menuWithId = useMemo(() => addIdToItems(menu), [menu]);\r\n const current = getActive(pathname, menuWithId);\r\n\r\n const [active, setActive] = useState(current);\r\n const [height, setHeight] = useState(0);\r\n\r\n const wrapperRef = useRef(null);\r\n const classes = useStyles({ active: !!active, height });\r\n\r\n useEffect(() => {\r\n if (active && active.id) {\r\n setHeight(document.querySelector(`[data-menu-id=\"${active.id}\"]`).scrollHeight);\r\n } else {\r\n setHeight(wrapperRef.current.scrollHeight);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [active]);\r\n\r\n const handleClick = item => {\r\n const isItemActive = () => active && active.id === item.id;\r\n const itemHasChildren = () => !!item.children;\r\n const isTopLevelItem = () => !!item.icon;\r\n\r\n if (isItemActive()) {\r\n setActive(null);\r\n return;\r\n }\r\n\r\n if (isTopLevelItem()) {\r\n setActive(itemHasChildren() ? item : null);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n setActive(null)} title={active ? active.title : 'Menu'} />\r\n
\r\n
    \r\n {Object.keys(menuWithId).map(id => (\r\n
  • \r\n handleClick(menuWithId[id])}\r\n current={pathname === menuWithId[id].to}\r\n />\r\n\r\n {menuWithId[id].children && (\r\n
      \r\n {Object.keys(menuWithId[id].children).map(childId => (\r\n
    • \r\n handleClick(menuWithId[id].children[childId])}\r\n current={pathname === menuWithId[id].children[childId].to}\r\n />\r\n
    • \r\n ))}\r\n
    \r\n )}\r\n
  • \r\n ))}\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default React.memo(Menu);\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n titleWrapper: {\r\n wordBreak: 'break-word',\r\n },\r\n listItem: {\r\n '&.MuiListItem-gutters': {\r\n paddingRight: theme.spacing(0.5),\r\n },\r\n },\r\n icon: {\r\n color: theme.palette.warning.light,\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { List, ListItem, ListItemText, Typography, Grid, Tooltip } from '@material-ui/core';\r\nimport TextEllipsis from 'react-text-ellipsis';\r\nimport WarningIcon from '@material-ui/icons/Warning';\r\n\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\nimport { userTypesSidebarMenu } from '../../../utils/constants/userTypesSidebarMenu';\r\nimport { userTypes } from '../../../utils/constants';\r\nimport MenuCompany from '../MenuCompany';\r\nimport { pqfStatusesEnum } from '../../../utils/constants';\r\nimport useStyles from './styles';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\n\r\nconst CompanyNavigationBar = ({\r\n companyId,\r\n companyName,\r\n validKeys,\r\n loadingKeys,\r\n ownerAddendum,\r\n companyType,\r\n pqfStatus,\r\n}) => {\r\n const { type } = useUserPermissions();\r\n const classes = useStyles();\r\n\r\n const userId = useSelector(state => state.auth.check.userId);\r\n const activeUser = useSelector(state => state.entity.user);\r\n const activeUserId = userId && activeUser[userId].companyId;\r\n const selfCompany = activeUserId === companyId;\r\n const { isBasicContractor } = useCompanyInfo(companyId);\r\n\r\n const navigationMenu = userTypesSidebarMenu(\r\n companyId,\r\n ownerAddendum,\r\n companyType,\r\n type,\r\n selfCompany,\r\n isBasicContractor,\r\n );\r\n return (\r\n \r\n {companyName && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {companyName}\r\n \r\n \r\n \r\n \r\n \r\n {pqfStatus && pqfStatus === pqfStatusesEnum.PendingReview && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(CompanyNavigationBar);\r\n","import PeopleAltIcon from '@material-ui/icons/PeopleAlt';\r\nimport AccountBalanceIcon from '@material-ui/icons/AccountBalance';\r\nimport EqualizerIcon from '@material-ui/icons/Equalizer';\r\nimport AssignmentIcon from '@material-ui/icons/Assignment';\r\nimport DescriptionIcon from '@material-ui/icons/Description';\r\nimport AttachFileIcon from '@material-ui/icons/AttachFile';\r\nimport ContactSupportIcon from '@material-ui/icons/ContactSupport';\r\nimport ArchiveIcon from '@material-ui/icons/Archive';\r\nimport SettingsIcon from '@material-ui/icons/Settings';\r\n\r\nimport CertificationIcon from '../../ui/components/Icons/CertificationIcon';\r\nimport TrainingIcon from '../../ui/components/Icons/TrainingIcon';\r\nimport GeneralIcon from '../../ui/components/Icons/GeneralIcon';\r\nimport formatPath from '../../utils/textFormaters/formatPath';\r\nimport { routeCreator, sectionKey } from '../../ui/routes/path';\r\nimport { userTypes, contractorLevels, contractorLevelPathEnum } from './index';\r\n\r\nexport const userTypesSidebarMenu = (id, ownerAddendumList, companyType, type, selfCompany, isBasicContractor) => {\r\n const companyRoutes = routeCreator();\r\n const company = companyRoutes.private.company;\r\n\r\n const ownRoutes = routeCreator(companyRoutes.private.settings);\r\n const ownCompany = ownRoutes.private.company;\r\n\r\n const listAddendumCompany = pathAddendum =>\r\n ownerAddendumList.length === 0\r\n ? [\r\n {\r\n title: 'There are no addendums yet',\r\n disabled: true,\r\n },\r\n ]\r\n : ownerAddendumList.map(company => ({\r\n title: company.companyName,\r\n to: formatPath(pathAddendum, { ownerId: company.companyId }),\r\n }));\r\n\r\n const getRouteType =\r\n type === userTypes.SafetyCouncil && (companyType === userTypes.Contractor || companyType === userTypes.Owner)\r\n ? company\r\n : ownCompany;\r\n\r\n /* SLOPPY TEMP SOLUTION */\r\n\r\n const adminPanel =\r\n type === userTypes.SafetyCouncil\r\n ? [\r\n {\r\n title: 'Company Settings',\r\n to: formatPath(getRouteType.systemSettings, { id }),\r\n },\r\n {\r\n title: 'Users',\r\n to: formatPath(getRouteType.users, { id }),\r\n },\r\n // {\r\n // title: 'Admin Panel',\r\n // to: formatPath(getRouteType.adminPanel, { id }),\r\n // },\r\n ]\r\n : [\r\n {\r\n title: 'Company Settings',\r\n to: formatPath(getRouteType.systemSettings, { id }),\r\n },\r\n {\r\n title: 'Users',\r\n to: formatPath(getRouteType.users, { id }),\r\n },\r\n ];\r\n\r\n /*\r\n OLD MENU SYSTEM\r\n TO BE REPLACED\r\n */\r\n\r\n if (\r\n (type === userTypes.SafetyCouncil && companyType === userTypes.Contractor) ||\r\n (type === userTypes.Contractor && selfCompany)\r\n ) {\r\n /*\r\n CHECKS IF COMAPANY IS A BASIC CONTRACTOR\r\n */\r\n\r\n if (isBasicContractor) {\r\n return {\r\n children: [\r\n {\r\n title: 'General Information',\r\n to: formatPath(getRouteType.settingsInfo, { id }),\r\n icon: GeneralIcon,\r\n children: [\r\n {\r\n title: 'Company Information',\r\n to: formatPath(getRouteType.settingsInfo, { id }),\r\n validationKey: sectionKey.private.company.settingsInfo,\r\n },\r\n {\r\n title: 'Officers',\r\n to: formatPath(getRouteType.officers, { id }),\r\n validationKey: sectionKey.private.company.officers,\r\n },\r\n {\r\n title: 'Insurance Policies',\r\n to: formatPath(getRouteType.insurancePolicies, { id }),\r\n validationKey: sectionKey.private.company.insurancePolicies,\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Organization',\r\n to: formatPath(getRouteType.organizationInformation, { id }),\r\n icon: AccountBalanceIcon,\r\n children: [\r\n {\r\n title: 'Organization Information',\r\n to: formatPath(getRouteType.organizationInformation, { id }),\r\n validationKey: sectionKey.private.company.organizationInformation,\r\n },\r\n {\r\n title: 'Services Performed',\r\n to: formatPath(getRouteType.services, { id }),\r\n validationKey: sectionKey.private.company.services,\r\n },\r\n {\r\n title: 'Work Categories',\r\n to: formatPath(getRouteType.workCategories, { id }),\r\n validationKey: sectionKey.private.company.workCategories,\r\n },\r\n {\r\n title: 'Financial Information',\r\n to: formatPath(getRouteType.financialInformation, { id }),\r\n validationKey: sectionKey.private.company.financialInformation,\r\n },\r\n {\r\n title: 'Legal',\r\n to: formatPath(getRouteType.legal, { id }),\r\n validationKey: sectionKey.private.company.legal,\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Safety & Health Performance',\r\n to: formatPath(getRouteType.emr, { id }),\r\n icon: EqualizerIcon,\r\n children: [\r\n {\r\n title: 'Experience Modification Rate',\r\n to: formatPath(getRouteType.emr, { id }),\r\n validationKey: sectionKey.private.company.emr,\r\n },\r\n {\r\n title: 'Injury & Illness',\r\n to: formatPath(getRouteType.injuryIllness, { id }),\r\n validationKey: sectionKey.private.company.injuryIllness,\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Safety, Health & Environmental Programs/Procedures',\r\n to: formatPath(getRouteType.envprog, { id }),\r\n icon: AssignmentIcon,\r\n children: [\r\n {\r\n title: 'Safety, Health & Environmental Program',\r\n to: formatPath(getRouteType.envprog, { id }),\r\n validationKey: sectionKey.private.company.envprog,\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Skill Training, Assessment and Certifications',\r\n to: formatPath(getRouteType.craftsmanCertification, { id }),\r\n icon: CertificationIcon,\r\n children: [\r\n {\r\n title: 'Craftsman Certification',\r\n to: formatPath(getRouteType.craftsmanCertification, { id }),\r\n validationKey: sectionKey.private.company.craftsmanCertification,\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Addendum',\r\n icon: AttachFileIcon,\r\n to: listAddendumCompany(formatPath(getRouteType.contractorAddendum, { id }))[0].to,\r\n children: listAddendumCompany(formatPath(getRouteType.contractorAddendum, { id })),\r\n },\r\n {\r\n title: 'Settings',\r\n to: formatPath(getRouteType.systemSettings, { id }),\r\n icon: SettingsIcon,\r\n children: adminPanel,\r\n },\r\n ],\r\n };\r\n }\r\n /*\r\n ASSUMES COMPANY IS NOT A BASIC CONTRACTOR\r\n */\r\n\r\n return {\r\n children: [\r\n {\r\n title: 'General Information',\r\n to: formatPath(getRouteType.settingsInfo, { id }),\r\n icon: GeneralIcon,\r\n children: [\r\n {\r\n title: 'Company Information',\r\n to: formatPath(getRouteType.settingsInfo, { id }),\r\n validationKey: sectionKey.private.company.settingsInfo,\r\n },\r\n {\r\n title: 'Officers',\r\n to: formatPath(getRouteType.officers, { id }),\r\n validationKey: sectionKey.private.company.officers,\r\n },\r\n {\r\n title: 'Insurance Policies',\r\n to: formatPath(getRouteType.insurancePolicies, { id }),\r\n validationKey: sectionKey.private.company.insurancePolicies,\r\n },\r\n {\r\n title: 'Parent Company',\r\n to: formatPath(getRouteType.parentCompany, { id }),\r\n validationKey: sectionKey.private.company.parentCompany,\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Organization',\r\n to: formatPath(getRouteType.organizationInformation, { id }),\r\n icon: AccountBalanceIcon,\r\n children: [\r\n {\r\n title: 'Organization Information',\r\n to: formatPath(getRouteType.organizationInformation, { id }),\r\n validationKey: sectionKey.private.company.organizationInformation,\r\n },\r\n {\r\n title: 'Services Performed',\r\n to: formatPath(getRouteType.services, { id }),\r\n validationKey: sectionKey.private.company.services,\r\n },\r\n {\r\n title: 'Work Categories',\r\n to: formatPath(getRouteType.workCategories, { id }),\r\n validationKey: sectionKey.private.company.workCategories,\r\n },\r\n {\r\n title: 'Financial Information',\r\n to: formatPath(getRouteType.financialInformation, { id }),\r\n validationKey: sectionKey.private.company.financialInformation,\r\n },\r\n {\r\n title: 'References',\r\n to: formatPath(getRouteType.references, { id }),\r\n validationKey: sectionKey.private.company.references,\r\n },\r\n {\r\n title: 'Legal',\r\n to: formatPath(getRouteType.legal, { id }),\r\n validationKey: sectionKey.private.company.legal,\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Safety & Health Performance',\r\n to: formatPath(getRouteType.emr, { id }),\r\n icon: EqualizerIcon,\r\n children: [\r\n {\r\n title: 'Experience Modification Rate',\r\n to: formatPath(getRouteType.emr, { id }),\r\n validationKey: sectionKey.private.company.emr,\r\n },\r\n {\r\n title: 'Injury & Illness',\r\n to: formatPath(getRouteType.injuryIllness, { id }),\r\n validationKey: sectionKey.private.company.injuryIllness,\r\n },\r\n {\r\n title: 'Citations',\r\n to: formatPath(getRouteType.citations, { id }),\r\n validationKey: sectionKey.private.company.citations,\r\n },\r\n {\r\n title: 'Safety, Health & Environmental Management',\r\n to: formatPath(getRouteType.environmentalManagement, { id }),\r\n validationKey: sectionKey.private.company.environmentalManagement,\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Safety, Health & Environmental Programs/Procedures',\r\n to: formatPath(getRouteType.envprog, { id }),\r\n icon: AssignmentIcon,\r\n children: [\r\n {\r\n title: 'Safety, Health & Environmental Program',\r\n to: formatPath(getRouteType.envprog, { id }),\r\n validationKey: sectionKey.private.company.envprog,\r\n },\r\n {\r\n title: 'Hearing Conservation',\r\n to: formatPath(getRouteType.hearconserv, { id }),\r\n validationKey: sectionKey.private.company.hearconserv,\r\n },\r\n {\r\n title: 'Respiratory Protection',\r\n to: formatPath(getRouteType.respprot, { id }),\r\n validationKey: sectionKey.private.company.respprot,\r\n },\r\n {\r\n title: 'Hazard Communication',\r\n to: formatPath(getRouteType.hazardcomm, { id }),\r\n validationKey: sectionKey.private.company.hazardcomm,\r\n },\r\n {\r\n title: 'OSHA 29 CFR 1910',\r\n to: formatPath(getRouteType.osha, { id }),\r\n validationKey: sectionKey.private.company.osha,\r\n },\r\n {\r\n title: 'Spill Prevention and Waste Minimization',\r\n to: formatPath(getRouteType.spillwaste, { id }),\r\n validationKey: sectionKey.private.company.spillwaste,\r\n },\r\n {\r\n title: 'Substance Abuse Program',\r\n to: formatPath(getRouteType.substabuse, { id }),\r\n validationKey: sectionKey.private.company.substabuse,\r\n },\r\n {\r\n title: 'Employee English',\r\n to: formatPath(getRouteType.empeng, { id }),\r\n validationKey: sectionKey.private.company.empeng,\r\n },\r\n {\r\n title: 'Medical Program',\r\n to: formatPath(getRouteType.medprog, { id }),\r\n validationKey: sectionKey.private.company.medprog,\r\n },\r\n {\r\n title: 'Safety, Health and Environmental Meetings',\r\n to: formatPath(getRouteType.envmeet, { id }),\r\n validationKey: sectionKey.private.company.envmeet,\r\n },\r\n {\r\n title: 'Personal Protection Equipment',\r\n to: formatPath(getRouteType.protecteq, { id }),\r\n validationKey: sectionKey.private.company.protecteq,\r\n },\r\n {\r\n title: 'Corrective Action Process',\r\n to: formatPath(getRouteType.corrproc, { id }),\r\n validationKey: sectionKey.private.company.corrproc,\r\n },\r\n {\r\n title: 'Equipment and Materials',\r\n to: formatPath(getRouteType.equipmat, { id }),\r\n validationKey: sectionKey.private.company.equipmat,\r\n },\r\n {\r\n title: 'Subcontractor Program',\r\n to: formatPath(getRouteType.subprog, { id }),\r\n validationKey: sectionKey.private.company.subprog,\r\n },\r\n {\r\n title: 'Inspections and Audit Program',\r\n to: formatPath(getRouteType.inspprog, { id }),\r\n validationKey: sectionKey.private.company.inspprog,\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Safety, Health & Environmental Training',\r\n to: formatPath(getRouteType.envtrain, { id }),\r\n validationKey: sectionKey.private.company.envtrain,\r\n icon: TrainingIcon,\r\n },\r\n {\r\n title: 'Safety, Health & Environmental Documentation',\r\n to: formatPath(getRouteType.envdoc, { id }),\r\n validationKey: sectionKey.private.company.envdoc,\r\n icon: DescriptionIcon,\r\n },\r\n {\r\n title: 'Skill Training, Assessment and Certifications',\r\n to: formatPath(getRouteType.craftsmanCertification, { id }),\r\n icon: CertificationIcon,\r\n children: [\r\n {\r\n title: 'Craftsman Certification',\r\n to: formatPath(getRouteType.craftsmanCertification, { id }),\r\n validationKey: sectionKey.private.company.craftsmanCertification,\r\n },\r\n {\r\n title: 'Workforce Development',\r\n to: formatPath(getRouteType.workfordev, { id }),\r\n validationKey: sectionKey.private.company.workfordev,\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Addendum',\r\n icon: AttachFileIcon,\r\n to: listAddendumCompany(formatPath(getRouteType.contractorAddendum, { id }))[0].to,\r\n children: listAddendumCompany(formatPath(getRouteType.contractorAddendum, { id })),\r\n },\r\n {\r\n title: 'Settings',\r\n to: formatPath(getRouteType.systemSettings, { id }),\r\n icon: SettingsIcon,\r\n children: adminPanel,\r\n },\r\n ],\r\n };\r\n } else if (\r\n (type === userTypes.SafetyCouncil && companyType === userTypes.Owner) ||\r\n (type === userTypes.Owner && selfCompany)\r\n ) {\r\n const gradingRoutes = Object.keys(contractorLevels).map(level => ({\r\n title: `Grading for ${contractorLevels[level]}`,\r\n to: formatPath(getRouteType.questions, {\r\n id,\r\n [`contractorLevel(${Object.keys(contractorLevelPathEnum)\r\n .map(item => contractorLevelPathEnum[item])\r\n .join('|')})`]: contractorLevelPathEnum[level],\r\n }),\r\n }));\r\n\r\n const ownerAddendum = Object.keys(contractorLevels).map(level => ({\r\n title: `Addendum for ${contractorLevels[level]}`,\r\n to: formatPath(getRouteType.ownerAddendum, {\r\n id,\r\n [`contractorLevel(${Object.keys(contractorLevelPathEnum)\r\n .map(item => contractorLevelPathEnum[item])\r\n .join('|')})`]: contractorLevelPathEnum[level],\r\n }),\r\n }));\r\n\r\n return {\r\n children: [\r\n {\r\n title: 'General Information',\r\n to: formatPath(getRouteType.settingsInfo, { id }),\r\n icon: GeneralIcon,\r\n children: [\r\n {\r\n title: 'Company Information',\r\n to: formatPath(getRouteType.settingsInfo, { id }),\r\n validationKey: sectionKey.private.company.settingsInfo,\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Addendum',\r\n to: ownerAddendum[0].to,\r\n icon: AttachFileIcon,\r\n children: ownerAddendum,\r\n },\r\n {\r\n title: 'Grading Questions',\r\n to: gradingRoutes[0].to,\r\n icon: ContactSupportIcon,\r\n children: gradingRoutes,\r\n },\r\n {\r\n title: 'Settings',\r\n to: formatPath(getRouteType.systemSettings, { id }),\r\n icon: SettingsIcon,\r\n children: adminPanel,\r\n },\r\n ],\r\n };\r\n } else {\r\n const gradingRoutes = Object.keys(contractorLevels).map(level => ({\r\n title: `Grading for ${contractorLevels[level]}`,\r\n to: formatPath(ownCompany.questions, {\r\n [`contractorLevel(${Object.keys(contractorLevelPathEnum)\r\n .map(item => contractorLevelPathEnum[item])\r\n .join('|')})`]: contractorLevelPathEnum[level],\r\n }),\r\n }));\r\n\r\n return {\r\n children: [\r\n {\r\n title: 'Users',\r\n to: ownCompany.users,\r\n icon: PeopleAltIcon,\r\n },\r\n {\r\n title: 'Grading Questions',\r\n to: gradingRoutes[0].to,\r\n icon: ContactSupportIcon,\r\n children: gradingRoutes,\r\n },\r\n {\r\n title: 'Archive',\r\n to: '',\r\n icon: ArchiveIcon,\r\n children: [\r\n {\r\n title: 'Companies',\r\n to: ownCompany.archiveCompany,\r\n validationKey: sectionKey.private.company.archiveCompany,\r\n },\r\n {\r\n title: 'Users',\r\n to: ownCompany.archiveUser,\r\n validationKey: sectionKey.private.company.archiveUser,\r\n },\r\n ],\r\n },\r\n {\r\n title: 'Settings',\r\n to: ownCompany.systemSettings,\r\n icon: SettingsIcon,\r\n children: [\r\n {\r\n title: 'System Settings',\r\n to: ownCompany.systemSettings,\r\n },\r\n {\r\n title: 'BLS Settings',\r\n to: ownCompany.bls,\r\n },\r\n ],\r\n },\r\n ],\r\n };\r\n }\r\n};\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n emptyDataWrapper: {\r\n marginTop: theme.spacing(6),\r\n padding: theme.spacing(2, 0),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n table: {\r\n minWidth: 650,\r\n tableLayout: 'fixed',\r\n '& .MuiTableCell-head': {\r\n backgroundColor: theme.palette.background.primary.main,\r\n color: 'white',\r\n },\r\n '& .MuiTableSortLabel-root': {\r\n color: 'white',\r\n '&:hover': {\r\n color: 'white',\r\n },\r\n },\r\n '& .MuiTableRow-root': {\r\n '&:hover': {\r\n backgroundColor: 'rgb(224, 224, 224)',\r\n },\r\n },\r\n },\r\n tableWrapper: {\r\n margin: theme.spacing(3, 0),\r\n borderTopWidth: 0.5,\r\n borderTopColor: theme.palette.grey[100],\r\n borderTopStyle: 'solid',\r\n overflow: 'visible',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n firstName: {\r\n width: '16%',\r\n },\r\n lastName: {\r\n width: '16%',\r\n },\r\n emailAddress: {\r\n width: '20%',\r\n },\r\n phoneNumber: {\r\n width: '15%',\r\n },\r\n createDate: {\r\n width: '10%',\r\n },\r\n lastLoginDate: {\r\n width: '10%',\r\n },\r\n actions: {\r\n width: '13%',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { TableCell, TableSortLabel, TableHead as MaterialTableHead, TableRow } from '@material-ui/core';\r\n\r\nimport useStyles from './styles';\r\nimport { createEnum } from '../../../../../utils/actionTypesHelpers';\r\n\r\nconst actionsHeadCell = 'actions';\r\n\r\nconst headCellsEnum = createEnum({\r\n firstName: {\r\n id: 'firstName',\r\n label: 'First name',\r\n generalInfo: true,\r\n },\r\n lastName: {\r\n id: 'lastName',\r\n label: 'Last name',\r\n generalInfo: true,\r\n },\r\n emailAddress: {\r\n id: 'emailAddress',\r\n label: 'Email address',\r\n generalInfo: true,\r\n },\r\n phoneNumber: {\r\n id: 'phoneNumber',\r\n label: 'Phone number',\r\n generalInfo: true,\r\n },\r\n createDate: {\r\n id: 'createDate',\r\n label: 'Date created',\r\n generalInfo: true,\r\n },\r\n lastLoginDate: {\r\n id: 'lastLoginDate',\r\n label: 'Last login',\r\n generalInfo: false,\r\n },\r\n actions: {\r\n id: 'actions',\r\n label: 'Actions',\r\n generalInfo: false,\r\n },\r\n});\r\n\r\nconst AllHeadCells = Object.keys(headCellsEnum).map(key => headCellsEnum[key]);\r\n\r\nconst getHeadCells = adminAccount => (adminAccount ? AllHeadCells : AllHeadCells.filter(cell => cell.generalInfo));\r\n\r\nconst UserTableHead = ({ order, orderBy, onRequestSort, isSafetyCouncilUserType }) => {\r\n const classes = useStyles();\r\n const createSortHandler = property => event => onRequestSort(event, property);\r\n\r\n return (\r\n \r\n \r\n {getHeadCells(isSafetyCouncilUserType).map(headCell => (\r\n \r\n \r\n {headCell.label}\r\n \r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default UserTableHead;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n formWrapper: {\r\n marginTop: theme.spacing(6),\r\n padding: theme.spacing(2, 0),\r\n },\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n tableCell: {\r\n verticalAlign: 'middle',\r\n },\r\n saveButton: {\r\n marginRight: theme.spacing(2),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Grid, TableCell, Typography, IconButton } from '@material-ui/core';\r\nimport { FastField, Formik } from 'formik';\r\nimport SaveIcon from '@material-ui/icons/Save';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\n\r\nimport FormInput from '../../../../../components/FormInput';\r\nimport Ellipsis from '../../../../../components/Ellipsis';\r\nimport useStyles from './styles';\r\nimport { editUserFormSchema } from '../../../../../../utils/validate/shemas';\r\nimport formatDate from '../../../../../../utils/textFormaters/date';\r\nimport TooltipWrapper from '../../../../../components/TooltipWrapper';\r\n\r\nconst EditUserForm = ({ setUserToEdit, onConfirmEditUser, values }) => {\r\n const classes = useStyles();\r\n const { emailAddress, createDate, lastLoginDate } = values;\r\n const initialValues = { ...values };\r\n\r\n return (\r\n \r\n {props => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {formatDate(createDate)}\r\n \r\n \r\n {lastLoginDate ? (\r\n formatDate(lastLoginDate)\r\n ) : (\r\n \r\n Not logged in\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n props.handleSubmit()}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n setUserToEdit(false)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default EditUserForm;\r\n","import React, { useState } from 'react';\r\nimport { TableRow, TableCell, Grid, CircularProgress, Typography } from '@material-ui/core';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport SendIcon from '@material-ui/icons/Send';\r\n\r\nimport IconWithPopUp from '../../../../components/IconWithPopUp';\r\nimport Ellipsis from '../../../../components/Ellipsis';\r\nimport { useUserPermissions } from '../../../../../utils/effects/userPermissions.js';\r\nimport formatDate from '../../../../../utils/textFormaters/date.js';\r\nimport { userTypes } from '../../../../../utils/constants';\r\nimport EditUserForm from './EditUserForm';\r\nimport TooltipWrapper from '../../../../components/TooltipWrapper';\r\n\r\nconst Row = ({ values, updatingUserIds, handleUpdateUser, handleResendInvitation, handleDeleteUser }) => {\r\n const { type } = useUserPermissions();\r\n const isSafetyCouncilUserType = type === userTypes.SafetyCouncil;\r\n\r\n const { id, firstName, lastName, emailAddress, createDate, lastLoginDate, phoneNumber } = values;\r\n\r\n const [isUserToEdit, setUserToEdit] = useState(false);\r\n\r\n const onConfirmEditUser = values => {\r\n handleUpdateUser(values);\r\n setUserToEdit(false);\r\n };\r\n\r\n if (updatingUserIds.includes(id)) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {isUserToEdit ? (\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {formatDate(createDate)}\r\n {isSafetyCouncilUserType && (\r\n \r\n {lastLoginDate ? (\r\n formatDate(lastLoginDate)\r\n ) : (\r\n \r\n Not logged in\r\n \r\n )}\r\n \r\n )}\r\n {isSafetyCouncilUserType && (\r\n \r\n \r\n \r\n setUserToEdit(true)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default Row;\r\n","import React, { useState } from 'react';\r\nimport { Grid, Paper } from '@material-ui/core';\r\nimport { Table, TableBody, TableContainer } from '@material-ui/core';\r\n\r\nimport { sortDirection } from '../../../../utils/constants/sorting';\r\nimport useStyles from './styles';\r\nimport TableHead from './TableHead';\r\nimport Row from './Row';\r\n\r\nconst changeNullToEmptyString = value => (value === null ? '' : value);\r\n\r\nconst UsersTable = ({\r\n isSafetyCouncilUserType,\r\n userListData,\r\n updatingUserIds,\r\n handleResendInvitation,\r\n handleUpdateUser,\r\n handleDeleteUser,\r\n}) => {\r\n const classes = useStyles();\r\n const [order, setOrder] = useState('asc');\r\n const [orderBy, setOrderBy] = useState('firstName');\r\n\r\n const desc = (a, b, orderBy) => {\r\n a[orderBy] = changeNullToEmptyString(a[orderBy]);\r\n b[orderBy] = changeNullToEmptyString(b[orderBy]);\r\n\r\n if (b[orderBy].toLocaleLowerCase() < a[orderBy].toLocaleLowerCase()) {\r\n return -1;\r\n }\r\n if (b[orderBy].toLocaleLowerCase() > a[orderBy].toLocaleLowerCase()) {\r\n return 1;\r\n }\r\n return 0;\r\n };\r\n\r\n const stableSort = (array, compare) => {\r\n const stabilizedThis = array.map((el, index) => [el, index]);\r\n stabilizedThis.sort((a, b) => {\r\n const order = compare(a[0], b[0]);\r\n if (order !== 0) return order;\r\n return a[1] - b[1];\r\n });\r\n return stabilizedThis.map(el => el[0]);\r\n };\r\n\r\n const getSorting = (order, orderBy) => {\r\n return order === sortDirection.Descending ? (a, b) => desc(a, b, orderBy) : (a, b) => -desc(a, b, orderBy);\r\n };\r\n\r\n const handleRequestSort = (event, property) => {\r\n const isAsc = orderBy === property && order === sortDirection.Ascending;\r\n setOrder(isAsc ? sortDirection.Descending : sortDirection.Ascending);\r\n setOrderBy(property);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {stableSort(userListData, getSorting(order, orderBy)).map(row => {\r\n return (\r\n handleResendInvitation(row.id)}\r\n handleDeleteUser={() => handleDeleteUser(row.id)}\r\n />\r\n );\r\n })}\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default UsersTable;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n formWrapper: {\r\n marginTop: theme.spacing(6),\r\n padding: theme.spacing(2, 0),\r\n },\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n height: 40,\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Button, Grid, Box } from '@material-ui/core';\r\nimport { FastField, Formik } from 'formik';\r\n\r\nimport FormInput from '../../../../components/FormInput';\r\nimport PromptNotification from '../../../../components/PromptComponent';\r\nimport { createUserFormSchema } from '../../../../../utils/validate/shemas';\r\nimport useStyles from './styles';\r\n\r\nconst CreateNewUserForm = ({ setShowUserForm, handleSubmit }) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n {props => (\r\n <>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default CreateNewUserForm;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Grid, Button } from '@material-ui/core';\r\n\r\nimport CreateNewUserForm from './NewUserForm';\r\n\r\nconst UsersListData = ({ handleCreateUser, createSuccess }) => {\r\n const [showUserForm, setShowUserForm] = useState(false);\r\n\r\n useEffect(() => {\r\n if (createSuccess) {\r\n setShowUserForm(false);\r\n }\r\n }, [createSuccess, setShowUserForm]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {showUserForm && }\r\n \r\n \r\n );\r\n};\r\n\r\nexport default UsersListData;\r\n","import React from 'react';\r\nimport { Grid, Typography, Box, CircularProgress } from '@material-ui/core';\r\n\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\nimport useStyles from './styles';\r\nimport UsersTable from './UsersTable';\r\nimport CreateNewUser from './CreateNewUser';\r\n\r\nconst SafetyCouncilType = 'SafetyCouncil';\r\n\r\nconst UsersListData = ({\r\n loading,\r\n userListData,\r\n updatingUserIds,\r\n createSuccess,\r\n handleCreateUser,\r\n handleResendInvitation,\r\n handleUpdateUser,\r\n handleDeleteUser,\r\n}) => {\r\n const classes = useStyles();\r\n const { type } = useUserPermissions();\r\n const isSafetyCouncilUserType = type === SafetyCouncilType;\r\n\r\n return (\r\n \r\n {isSafetyCouncilUserType && }\r\n {userListData && userListData.length > 0 && !loading ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n {loading ? (\r\n \r\n ) : (\r\n \r\n You don't have any users yet\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default UsersListData;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useParams } from 'react-router-dom';\r\nimport { Helmet } from 'react-helmet';\r\n\r\nimport { title } from '../../routes/path';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport { formatPageTitle } from '../../../utils/textFormaters';\r\nimport { currentCompany } from '../../../actionTypes';\r\nimport UsersListData from '../../containers/UsersListData';\r\n\r\nconst CompanyUserList = () => {\r\n const dispatch = useDispatch();\r\n const { id } = useParams();\r\n const { companyId, companyName } = useCompanyInfo(id);\r\n\r\n const { users, createSuccess, ids, loading } = useSelector(state => state.currentCompany.user);\r\n\r\n useEffect(() => {\r\n dispatch({ type: currentCompany.user.get.start, payload: { companyId } });\r\n }, [companyId, dispatch]);\r\n\r\n const handleCreateUser = values => {\r\n dispatch({ type: currentCompany.user.create.start, payload: { values, companyId } });\r\n };\r\n\r\n const handleResendInvitation = id => {\r\n dispatch({ type: currentCompany.user.resend.start, payload: { id } });\r\n };\r\n\r\n const handleUpdateUser = values => {\r\n dispatch({ type: currentCompany.user.update.start, payload: { values, companyId } });\r\n };\r\n\r\n const handleDeleteUser = userId => {\r\n dispatch({ type: currentCompany.user.remove.start, payload: { companyId, userId } });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {formatPageTitle(title.private.company.users, { companyName })} \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CompanyUserList;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n icon: ({ error, editable }) => ({\r\n color: (error && theme.palette.error.main) || (editable && theme.palette.success.main) || theme.palette.grey['500'],\r\n verticalAlign: 'middle',\r\n fontSize: theme.typography.h1.fontSize,\r\n marginLeft: theme.spacing(0.5),\r\n marginRight: theme.spacing(0.5),\r\n }),\r\n text: ({ error }) => ({\r\n color: error ? theme.palette.error.main : 'inherit',\r\n cursor: 'pointer',\r\n '& span': {\r\n display: 'inline-block',\r\n verticalAlign: 'middle',\r\n },\r\n }),\r\n disabled: {\r\n cursor: 'default !important',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Typography, CircularProgress } from '@material-ui/core';\r\nimport CloudUploadIcon from '@material-ui/icons/CloudUpload';\r\n\r\nimport useStyles from './styles';\r\n\r\nconst PopupLink = ({ error, editable, loading, title, handleClick, single, disabled }) => {\r\n const classes = useStyles({ error, editable });\r\n return (\r\n !disabled && handleClick(e)} className={`${classes.text} ${disabled ? classes.disabled : ''}`} display=\"inline\">\r\n {title}\r\n {editable && }\r\n {loading && }\r\n {single && {error}}\r\n \r\n );\r\n};\r\n\r\nexport default PopupLink;\r\n","// For uploading progress use XMLHttpRequest\r\n// Fetch API cant add watchers for uploading status progress\r\nimport { API_AUTHORIZATION_URL } from '../../config/api';\r\nimport { reauthenticateIfNeeded } from './tokensHelper';\r\nimport { httpStatusCodes } from '../constants';\r\n\r\nasync function controlGetData(url, formData, id, statusUpdate, onError) {\r\n let res = await getData(url, formData, id, statusUpdate, onError);\r\n if (res.status === 401) {\r\n await reauthenticateIfNeeded({ apiAuthUrl: API_AUTHORIZATION_URL, permissionsUrl: '' }, res.status, {});\r\n res = await getData(url, formData, id, statusUpdate, onError, true);\r\n }\r\n\r\n if (res.status < httpStatusCodes.minValidCode || res.status >= httpStatusCodes.maxValidCode) {\r\n statusUpdate({ id, percent: 100, error: true });\r\n onError(res.error);\r\n }\r\n return res;\r\n}\r\n\r\nfunction getData(url, formData, id, statusUpdate, onError) {\r\n return new Promise(resolve => {\r\n let xhr = new XMLHttpRequest();\r\n const token = `Bearer ${localStorage.accessToken}`;\r\n\r\n // handle upload progress\r\n xhr.upload.onprogress = function(event) {\r\n const percent = Math.ceil((100 * event.loaded) / event.total);\r\n statusUpdate({ id, percent, error: false });\r\n };\r\n\r\n // handle upload error\r\n xhr.upload.onerror = function() {\r\n onError(xhr.statusText);\r\n };\r\n\r\n xhr.open('POST', url, true);\r\n xhr.setRequestHeader('Authorization', token);\r\n xhr.send(formData);\r\n\r\n // handle response status\r\n xhr.onload = function() {\r\n if (this.status >= httpStatusCodes.minValidCode && this.status < httpStatusCodes.maxValidCode) {\r\n resolve({\r\n id,\r\n status: this.status,\r\n data: JSON.parse(xhr.response),\r\n });\r\n } else {\r\n resolve({\r\n id,\r\n data: {},\r\n status: this.status,\r\n error: xhr.statusText,\r\n });\r\n }\r\n };\r\n });\r\n}\r\n\r\nexport const fileUploader = async (stackFiles, url, progressCallback, onError) => {\r\n const stackResults = {};\r\n\r\n for (let i = 0; i < stackFiles.length; i++) {\r\n const formData = new FormData();\r\n formData.append('file', stackFiles[i].file);\r\n formData.append('fileId', stackFiles[i].id);\r\n formData.append('fileName', stackFiles[i].file.name);\r\n\r\n stackResults[stackFiles[i].id] = await controlGetData(url, formData, stackFiles[i].id, progressCallback, onError);\r\n }\r\n\r\n return stackResults;\r\n};\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n dropBody: ({ dropped }) => ({\r\n backgroundColor: theme.palette.grey['200'],\r\n minHeight: dropped ? theme.spacing(10) : '40vh',\r\n marginBottom: dropped ? theme.spacing(2) : 0,\r\n border: `2px dashed ${theme.palette.grey['500']}`,\r\n outline: 'none !important',\r\n transition: 'all 0.3s',\r\n display: 'flex',\r\n alignItems: 'center',\r\n alignCenter: 'center',\r\n justifyContent: 'center',\r\n cursor: 'pointer',\r\n '&:hover': {\r\n backgroundColor: theme.palette.grey['300'],\r\n borderColor: theme.palette.grey['700'],\r\n },\r\n }),\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { useDropzone } from 'react-dropzone';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\nimport { fileUploader } from '../../../utils/providerHelpers/fileUploader';\r\nimport { notification } from '../../../actionTypes';\r\nimport useStyles from './styles';\r\n\r\nconst bytesInMegabyte = 1024 * 1024;\r\n\r\nconst DropZone = ({ url, maxFileSize, dropped, accept, onDrop, onUploadUpdate, onUploaded, onUploadStart, single }) => {\r\n const dispatch = useDispatch();\r\n const classes = useStyles({ dropped });\r\n const onError = error => dispatch({ type: notification.add, payload: { error } });\r\n const maxFileSizeUpload = maxFileSize * bytesInMegabyte;\r\n\r\n const { getRootProps, getInputProps } = useDropzone({\r\n accept,\r\n multiple: !single,\r\n onDropAccepted: acceptedFiles => {\r\n const filesClaim = acceptedFiles.reduce((acc, file) => {\r\n if (file.size > maxFileSizeUpload) {\r\n onError(`File ${file.name} is too large`);\r\n return acc;\r\n }\r\n\r\n return [\r\n ...acc,\r\n {\r\n file,\r\n id: uuidv4(),\r\n },\r\n ];\r\n }, []);\r\n onUploadStart();\r\n onDrop(filesClaim.map(({ id, file }) => ({ id, name: file.name })));\r\n fileUploader(filesClaim, url, onUploadUpdate, onError).then(result => onUploaded(result));\r\n },\r\n });\r\n\r\n return (\r\n
\r\n \r\n \r\n {single ? 'Drag \\'n\\' drop a file here, or click to select a file' : 'Drag \\'n\\' drop some files here, or click to select files'}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default DropZone;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n container: {\r\n border: `2px solid ${theme.palette.grey['400']}`,\r\n padding: theme.spacing(0.25),\r\n borderRadius: theme.spacing(1),\r\n },\r\n determinate: {\r\n height: theme.spacing(1),\r\n borderRadius: theme.spacing(1),\r\n backgroundColor: theme.palette.background.transparent,\r\n },\r\n barColor: ({ isError }) => ({\r\n backgroundColor: isError ? theme.palette.error.main : theme.palette.success.main,\r\n transition: 'all 0.3s',\r\n }),\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { LinearProgress } from '@material-ui/core';\r\n\r\nimport useStyles from './styles';\r\n\r\nconst ProgressBar = ({ value = 0, isError }) => {\r\n const classes = useStyles({ isError });\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ProgressBar;\r\n","import React, { useState } from 'react';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport { IconButton } from '@material-ui/core';\r\n\r\nimport ModalConfirmation from '../../../components/ModalConfirmation';\r\n\r\nconst dialogTitle = `Are you sure you want to delete this item from this list?\r\nPermanent changes will be applied after the page is saved`;\r\nconst dialogPsmTitle = `Are you sure you want to delete this item from this list?`;\r\n\r\nconst DeleteFile = ({ handleDelete, isDocumentList, popupTitle }) => {\r\n const [openPopup, setOpenPopup] = useState(false);\r\n\r\n const handleDialogClose = () => {\r\n setOpenPopup(false);\r\n handleDelete();\r\n };\r\n\r\n return (\r\n <>\r\n setOpenPopup(true)}>\r\n \r\n \r\n setOpenPopup(false)}\r\n onConfirm={handleDialogClose}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default DeleteFile;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n fileForm: {\r\n border: `2px dashed ${theme.palette.grey['600']}`,\r\n borderRadius: theme.spacing(1),\r\n padding: theme.spacing(2),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","/*\r\n Function getTimezoneOffsetWithoutDST calculates timezoneOffset for current user's\r\n timezone and eliminates the impact of DST (Daylight Saving Time).\r\n To achieve this we measure getTimezoneOffset at different time of year (january and july) and calculate\r\n the max of these.\r\n */\r\n\r\nconst getTimezoneOffsetWithoutDST = dateTimestamp => {\r\n const dateYear = new Date(dateTimestamp).getFullYear();\r\n const janDate = new Date(dateYear, 0, 1);\r\n const julDate = new Date(dateYear, 6, 1);\r\n const timezoneOffset = Math.max(janDate.getTimezoneOffset(), julDate.getTimezoneOffset());\r\n return timezoneOffset * 60 * 1000;\r\n};\r\n\r\n/*\r\nDatePicker considers the datetime string that we supply as ISO time string.\r\nThat's why it converts it internally to Date object with timezone.\r\nTo fix this we should compensate added timezone hours with getTimezoneOffsetWithoutDST function.\r\n */\r\n\r\nexport const compensateLocalTimeShifting = dateStr => {\r\n const dateTimestamp = Date.parse(dateStr);\r\n return new Date(dateTimestamp + getTimezoneOffsetWithoutDST(dateTimestamp)).toISOString();\r\n};\r\n","import React, { useEffect, useRef } from 'react';\r\nimport { KeyboardDatePicker } from '@material-ui/pickers';\r\nimport get from 'lodash.get';\r\nimport { formatISO, isValid } from 'date-fns';\r\n\r\nimport { compensateLocalTimeShifting } from './helper';\r\n\r\nconst FormDatePicker = ({\r\n field,\r\n form: { setFieldValue, setFieldTouched, errors, touched },\r\n disableFuture = false,\r\n format = 'MM/dd/yyyy',\r\n disablePast = false,\r\n defaultDate,\r\n useDefaultDate,\r\n ...props\r\n}) => {\r\n const { name, value } = field;\r\n const itemError = get(errors, field.name);\r\n const itemTouched = get(touched, field.name);\r\n\r\n let refUseDefaultDate = useRef(useDefaultDate);\r\n\r\n useEffect(() => {\r\n setFieldTouched(name, true);\r\n if (refUseDefaultDate.current) {\r\n setFieldValue(name, (isValid(defaultDate) && formatISO(defaultDate, { representation: 'date' })) || null, !!defaultDate);\r\n }\r\n refUseDefaultDate.current = false;\r\n }, [defaultDate, refUseDefaultDate, name, setFieldValue, setFieldTouched]);\r\n\r\n //console.log(name);\r\n //console.log(useDefaultDate);\r\n\r\n return (\r\n {\r\n setFieldTouched(name, true);\r\n setFieldValue(name, (isValid(date) && formatISO(date, { representation: 'date' })) || stringVal, !!date);\r\n }}\r\n disableFuture={disableFuture}\r\n maxDate={disableFuture ? Date.now() : new Date('9999-12-31')}\r\n minDate={disablePast ? Date.now() : new Date('0001-01-01')}\r\n KeyboardButtonProps={{\r\n size: 'small',\r\n }}\r\n {...props}\r\n error={!!itemError && !!itemTouched}\r\n helperText={!!itemError && itemTouched && itemError}\r\n />\r\n );\r\n};\r\n\r\nexport default FormDatePicker;\r\n","import React from 'react';\r\nimport { Grid, Typography } from '@material-ui/core';\r\nimport { FastField } from 'formik';\r\n\r\nimport ProgressBar from '../../../components/ProgressBar';\r\nimport FormInput from '../../../components/FormInput';\r\nimport DeleteFile from '../DeleteFile';\r\nimport useStyles from './styles';\r\nimport FormDatePicker from '../../../components/FormDataPicker';\r\n\r\nconst UploadItem = ({\r\n name,\r\n isError,\r\n expirationDate,\r\n defaultExpiration,\r\n completedOn,\r\n completedBy,\r\n formPrefix,\r\n status,\r\n handleRemove,\r\n}) => {\r\n const classes = useStyles();\r\n\r\n const todaysDate = new Date();\r\n const day = todaysDate.getDate();\r\n const month = todaysDate.getMonth();\r\n const year = todaysDate.getUTCFullYear() + 1;\r\n const expiration = defaultExpiration ?? new Date(year, month, day);\r\n let useDefaultDate = defaultExpiration ? true : false;\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {name}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n File description\r\n \r\n \r\n \r\n \r\n \r\n {expirationDate && (\r\n \r\n \r\n Expiration date\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {completedBy && (\r\n \r\n \r\n Completed by\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {completedOn && (\r\n \r\n \r\n Completed on\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default UploadItem;\r\n","import React, { useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FieldArray } from 'formik';\r\n\r\nimport DropZone from '../../../components/DropZone';\r\nimport UploadItem from '../UploadItem';\r\n\r\nconst FileUploads = ({\r\n values,\r\n url,\r\n expirationDate,\r\n defaultExpiration,\r\n completedOn,\r\n completedBy,\r\n maxFileSize,\r\n isDocumentList,\r\n accept,\r\n handleUploaded,\r\n onUploadStart,\r\n single,\r\n}) => {\r\n const [fileStatuses, setFilesStatus] = useState({});\r\n\r\n const handleDrop = (files, arrayHelpers) => {\r\n if (single) {\r\n arrayHelpers.replace(0, {\r\n id: files[0].id,\r\n fileName: files[0].name,\r\n description: files[0].name,\r\n expirationDate: null,\r\n completedOn: null,\r\n completedBy: '',\r\n });\r\n } else {\r\n files.forEach(item => {\r\n arrayHelpers.push({\r\n id: item.id,\r\n fileName: item.name,\r\n description: item.name,\r\n expirationDate: null,\r\n completedOn: null,\r\n completedBy: '',\r\n });\r\n });\r\n }\r\n };\r\n\r\n const onUploadUpdate = file =>\r\n setFilesStatus(prevState => ({ ...prevState, [file.id]: { percent: file.percent, error: file.error } }));\r\n\r\n return (\r\n \r\n (\r\n \r\n 0}\r\n onDrop={files => handleDrop(files, arrayHelpers)}\r\n onUploadUpdate={onUploadUpdate}\r\n onUploaded={handleUploaded}\r\n onUploadStart={onUploadStart}\r\n single={single}\r\n />\r\n {values.files.length > 0 && (\r\n \r\n {values.files.map((item, index) => (\r\n \r\n arrayHelpers.remove(index)}\r\n />\r\n \r\n ))}\r\n \r\n )}\r\n \r\n )}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default FileUploads;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n modalContainer: {\r\n minWidth: theme.spacing(100),\r\n },\r\n actionOffsets: {\r\n padding: theme.spacing(1, 3, 2),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import { createEnum } from '../actionTypesHelpers';\r\n\r\nexport const acceptFormat = createEnum({\r\n commonFileFormat: '.doc, .docx, .md, .pdf, .jpg, .png, .tiff',\r\n psmAuditFormat: '.pdf',\r\n});\r\n","import React, { useState } from 'react';\r\nimport { Button, Dialog, DialogActions, DialogTitle, Typography, DialogContent } from '@material-ui/core';\r\nimport { Formik } from 'formik';\r\n\r\nimport FileUploads from '../FileUploads';\r\nimport useStyles from './styles';\r\nimport { fileUploaderPopup } from '../../../../utils/validate/shemas';\r\nimport { acceptFormat } from '../../../../utils/enums/fileFormats';\r\nimport { httpStatusCodes } from '../../../../utils/constants';\r\n\r\nconst UploaderModal = ({\r\n state,\r\n expirationDate,\r\n defaultExpiration,\r\n isDocumentList,\r\n completedBy,\r\n completedOn,\r\n url,\r\n maxFileSize,\r\n handleClose,\r\n handleSave,\r\n single,\r\n}) => {\r\n const classes = useStyles();\r\n const [uploadedFiles, setUploadedFiles] = useState({});\r\n\r\n const [allFilesIsUploaded, setAllFilesIsUploaded] = useState(false);\r\n\r\n const formSubmit = (values, { resetForm }) => {\r\n handleSave(\r\n values.files.map(item => ({\r\n ...uploadedFiles[item.id].data,\r\n id: uploadedFiles[item.id].data.fileId,\r\n fileName: item.fileName,\r\n description: item.description,\r\n expirationDate: item.expirationDate,\r\n completedOn: item.completedOn,\r\n completedBy: item.completedBy,\r\n })),\r\n );\r\n setUploadedFiles({});\r\n resetForm();\r\n };\r\n\r\n return (\r\n fileUploaderPopup(expirationDate, completedOn, completedBy)}\r\n >\r\n {({ values, resetForm, isValid, handleSubmit }) => {\r\n const hasErrorOnUploadedFile = values.files.reduce(\r\n (acc, item) =>\r\n acc ||\r\n (uploadedFiles[item.id] &&\r\n (uploadedFiles[item.id].status >= httpStatusCodes.maxValidCode ||\r\n uploadedFiles[item.id].status < httpStatusCodes.minValidCode)),\r\n false,\r\n );\r\n return (\r\n {\r\n handleClose(resetForm);\r\n setUploadedFiles({});\r\n }}\r\n classes={{\r\n paper: classes.modalContainer,\r\n }}\r\n >\r\n \r\n \r\n Upload the file in {isDocumentList ? acceptFormat.psmAuditFormat : acceptFormat.commonFileFormat} format{' '}\r\n {maxFileSize}mb max\r\n \r\n \r\n \r\n {\r\n setUploadedFiles(prevState => ({ ...prevState, ...files }));\r\n setAllFilesIsUploaded(true);\r\n }}\r\n onUploadStart={() => setAllFilesIsUploaded(false)}\r\n />\r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default UploaderModal;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n container: {\r\n width: '100%',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n },\r\n imageContainer: {\r\n width: theme.spacing(5),\r\n textAlign: 'center',\r\n '& img': {\r\n maxWidth: '100%',\r\n cursor: 'pointer',\r\n },\r\n },\r\n textContainer: {\r\n width: `calc(100% - ${theme.spacing(5.5)}px)`,\r\n },\r\n text: {\r\n fontSize: theme.typography.subtitle1.fontSize,\r\n cursor: 'pointer',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport MaterialLink from '@material-ui/core/Link';\r\n\r\nimport DocType from '../../images/icons/doc.png';\r\nimport DocxType from '../../images/icons/docx.png';\r\nimport JpgType from '../../images/icons/jpg.png';\r\nimport PdfType from '../../images/icons/pdf.png';\r\nimport PngType from '../../images/icons/png.png';\r\nimport TiffType from '../../images/icons/tiff.png';\r\nimport DefaultType from '../../images/icons/undefined.png';\r\nimport useStyles from './styles';\r\n\r\nconst types = {\r\n doc: DocType,\r\n docx: DocxType,\r\n jpg: JpgType,\r\n pdf: PdfType,\r\n png: PngType,\r\n tiff: TiffType,\r\n default: DefaultType,\r\n};\r\nconst altTitle = 'file type';\r\n\r\nconst FileType = ({ type, name, loading, handleClick, disableIcon }) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n
\r\n {!disableIcon && (\r\n
\r\n {altTitle} !loading && handleClick()} />\r\n
\r\n )}\r\n
\r\n {loading ? (\r\n \r\n ) : (\r\n \r\n {name}\r\n \r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default FileType;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n tableRow: {\r\n position: 'relative',\r\n overflow: 'hidden',\r\n '& td:nth-child(1)': {\r\n width: '50%',\r\n maxWidth: theme.spacing(15),\r\n wordWrap: 'break-word',\r\n },\r\n '& td:nth-child(2)': {\r\n width: '20%',\r\n },\r\n '& td:nth-child(3)': {\r\n width: '20%',\r\n },\r\n '& td:nth-child(4)': {\r\n width: '10%',\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport {\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableContainer,\r\n TableHead,\r\n TableRow,\r\n Paper,\r\n CircularProgress,\r\n Typography,\r\n} from '@material-ui/core';\r\n\r\nimport FileType from '../../../components/FileType';\r\nimport DeleteFile from '../DeleteFile';\r\nimport formatDate from '../../../../utils/textFormaters/date';\r\nimport useStyles from './styles';\r\n\r\nconst FileList = ({ files, editable, downloadList, expirationDate, deleteList, handleDownload, handleDelete }) => {\r\n const classes = useStyles();\r\n return (\r\n \r\n \r\n \r\n \r\n File description \r\n Date uploaded \r\n {expirationDate && Expiration date }\r\n {editable && }\r\n \r\n \r\n \r\n {files.map(item => (\r\n \r\n \r\n handleDownload(item.id)}\r\n />\r\n \r\n {formatDate(item.createDate)}\r\n {expirationDate && (\r\n {item.expirationDate ? formatDate(item.expirationDate) : 'N/A'}\r\n )}\r\n {editable && (\r\n \r\n {deleteList.includes(item.id) ? (\r\n \r\n ) : (\r\n handleDelete(item.id)} />\r\n )}\r\n \r\n )}\r\n \r\n ))}\r\n {files.length === 0 && (\r\n \r\n \r\n \r\n No uploaded files\r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default FileList;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n statusText: {\r\n color: theme.palette.success.main,\r\n },\r\n tableRow: {\r\n position: 'relative',\r\n overflow: 'hidden',\r\n '& td': {\r\n width: '20%',\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Table, TableBody, TableCell, TableContainer, TableHead, TableRow, CircularProgress } from '@material-ui/core';\r\n\r\nimport FileType from '../../../components/FileType';\r\nimport DeleteFile from '../DeleteFile';\r\nimport formatDate from '../../../../utils/textFormaters/date';\r\nimport useStyles from './styles';\r\n\r\nconst DocumentList = ({\r\n files,\r\n isDocumentList,\r\n hasPermissions,\r\n downloadList,\r\n deleteList,\r\n handleDownload,\r\n handleDelete,\r\n}) => {\r\n const classes = useStyles();\r\n return (\r\n \r\n \r\n \r\n \r\n Name \r\n Completed on\r\n Completed by\r\n Upload day\r\n Status\r\n \r\n \r\n \r\n \r\n {files.map((item, index) => (\r\n \r\n \r\n handleDownload(item.id)}\r\n disableIcon\r\n />\r\n \r\n {formatDate(item.completedOn)}\r\n {item.completedBy}\r\n {formatDate(item.createDate)}\r\n Completed\r\n {hasPermissions && (\r\n \r\n {deleteList.includes(item.id) ? (\r\n \r\n ) : (\r\n handleDelete(item.id)} />\r\n )}\r\n \r\n )}\r\n \r\n ))}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default DocumentList;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n downloadText: {\r\n cursor: 'pointer',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { useState } from 'react';\r\nimport { Grid, Typography } from '@material-ui/core';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport MaterialLink from '@material-ui/core/Link';\r\n\r\nimport PopupLink from './PopupLink';\r\nimport UploaderModal from './UploaderModal';\r\nimport FileList from './FileList';\r\nimport DocumentList from './DocumentList';\r\nimport Pagination from '../../components/Pagination';\r\nimport useStyles from './styles.js';\r\n\r\nconst FileUploader = ({\r\n uploaderTitle,\r\n url,\r\n error,\r\n hasPermissions,\r\n expirationDate,\r\n defaultExpiration,\r\n completedBy,\r\n completedOn,\r\n listType,\r\n cardTitle,\r\n maxFileSize,\r\n files,\r\n loading,\r\n handleDelete,\r\n handleDownload,\r\n deleteList,\r\n downloadList,\r\n handleSaveFiles,\r\n editable,\r\n single,\r\n disabled,\r\n}) => {\r\n const classes = useStyles();\r\n\r\n const [popupOpen, setPopupOpen] = useState(false);\r\n const [pagination, setPagination] = useState({\r\n offset: 0,\r\n page: 1,\r\n perPage: 5,\r\n });\r\n\r\n const isDocumentList = listType === 'documentList';\r\n const List = isDocumentList ? DocumentList : FileList;\r\n const filesFiltered =\r\n listType === 'documentList' ? files.slice(pagination.offset, pagination.page * pagination.perPage) : files;\r\n\r\n const handleRemove = () => {\r\n handleSaveFiles([]);\r\n };\r\n\r\n return (\r\n \r\n {!single && (\r\n \r\n \r\n {cardTitle && (\r\n \r\n {cardTitle}\r\n \r\n )}\r\n {(!isDocumentList || (isDocumentList && hasPermissions)) && (\r\n setPopupOpen(true)}\r\n editable={editable}\r\n single={single}\r\n disabled={disabled}\r\n />\r\n )}\r\n \r\n \r\n )}\r\n\r\n {single && (\r\n <>\r\n \r\n setPopupOpen(true)}\r\n editable={editable}\r\n single={single}\r\n disabled={disabled}\r\n />\r\n \r\n {files.length > 0 && (\r\n \r\n {loading ? (\r\n \r\n ) : (\r\n \r\n {files[0].fileName}\r\n \r\n )}\r\n {editable && \r\n \r\n }\r\n \r\n )}\r\n \r\n )}\r\n\r\n {!single && files.length > 0 && (\r\n \r\n \r\n {listType === 'documentList' && (\r\n \r\n \r\n \r\n \r\n setPagination(prevPagination => ({\r\n ...prevPagination,\r\n offset,\r\n page: offset / prevPagination.perPage + 1,\r\n }))\r\n }\r\n />\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n {\r\n resetForm();\r\n setPopupOpen(false);\r\n }}\r\n handleSave={val => {\r\n handleSaveFiles(val);\r\n setPopupOpen(false);\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default FileUploader;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport get from 'lodash.get';\r\n\r\nimport FileUploader from '../../containers/FileUploader';\r\nimport formatPath from '../../../utils/textFormaters/formatPath';\r\nimport { fileUploadUrl, filePsmUploadUrl } from '../../../utils/constants';\r\nimport { filePsmMaxSize } from '../../../utils/constants/fileSizes';\r\nimport { file, filePsmAudit } from '../../../actionTypes';\r\n\r\nconst FileUploaderController = ({\r\n value,\r\n editable = true,\r\n error,\r\n expirationDate,\r\n defaultExpiration,\r\n completedOn,\r\n completedBy,\r\n listType,\r\n handlePsmSubmit,\r\n cardTitle,\r\n hasPermissions,\r\n sectionKey,\r\n companyId,\r\n uploaderTitle,\r\n handleUpdate,\r\n disabled,\r\n}) => {\r\n const isDocumentList = listType === 'documentList';\r\n const url = isDocumentList\r\n ? formatPath(filePsmUploadUrl, { companyId })\r\n : formatPath(fileUploadUrl, { companyId, sectionKey });\r\n const dispatch = useDispatch();\r\n\r\n const maxFileSize = useSelector(store => store.settings.settings.data.maxFileSizeMb);\r\n const maxFileSizeUpload = isDocumentList ? filePsmMaxSize : maxFileSize;\r\n\r\n const { loading, list, downloadList } = useSelector(store =>\r\n get(store, isDocumentList ? `filePsmAudit` : `file.file.${sectionKey}`, {\r\n loading: true,\r\n list: [],\r\n downloadList: [],\r\n loadingOnAdd: false,\r\n }),\r\n );\r\n\r\n // clear field value on change list\r\n useEffect(() => {\r\n handleUpdate({ list, count: list.length, createList: [], deleteList: [] });\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [list]);\r\n\r\n const handleDownload = fileId => {\r\n const isTempFile = !list.map(file => file.id).includes(fileId);\r\n if (isDocumentList) {\r\n dispatch({\r\n type: filePsmAudit.download.start,\r\n payload: {\r\n companyId,\r\n id: fileId,\r\n },\r\n });\r\n } else {\r\n dispatch({\r\n type: file.download.start,\r\n payload: {\r\n sectionKey,\r\n companyId,\r\n fileId,\r\n tempFile: isTempFile,\r\n fileName: isTempFile ? value.createList.filter(file => file.id === fileId)[0].fileName : null,\r\n },\r\n });\r\n }\r\n };\r\n\r\n const handleSaveFiles = newFiles => {\r\n const createList = [...value.createList, ...newFiles];\r\n handleUpdate({\r\n ...value,\r\n count: [...createList, ...list].filter(file => !value.deleteList.includes(file.id)).length,\r\n deleteList: value.deleteList,\r\n createList,\r\n });\r\n isDocumentList && handlePsmSubmit();\r\n };\r\n\r\n const handleDelete = fileId => {\r\n isDocumentList &&\r\n dispatch({\r\n type: filePsmAudit.remove.start,\r\n payload: { companyId, id: fileId },\r\n });\r\n\r\n const deleteOld = list.map(file => file.id).includes(fileId);\r\n const createList = (!deleteOld && value.createList.filter(file => file.id !== fileId)) || value.createList;\r\n const deleteList = (deleteOld && [...value.deleteList, fileId]) || value.deleteList;\r\n\r\n handleUpdate({\r\n ...value,\r\n count: [...createList, ...list].filter(file => !deleteList.includes(file.id)).length,\r\n createList,\r\n deleteList,\r\n });\r\n };\r\n\r\n return (\r\n !value.deleteList.includes(file.id)) : []}\r\n loading={loading}\r\n deleteList={[]}\r\n downloadList={downloadList}\r\n handleDelete={handleDelete}\r\n handleDownload={handleDownload}\r\n handleSaveFiles={handleSaveFiles}\r\n disabled={disabled}\r\n />\r\n );\r\n};\r\n\r\nexport default FileUploaderController;\r\n","import React from 'react';\r\nimport get from 'lodash.get';\r\n\r\nimport FileUploaderController from '../../layouts/FileUploaderController';\r\n\r\nconst FileUploaderInput = ({\r\n form,\r\n field,\r\n label,\r\n hasPermissions,\r\n expirationDate,\r\n defaultExpiration,\r\n completedBy,\r\n listType,\r\n handlePsmSubmit,\r\n cardTitle,\r\n completedOn,\r\n companyId,\r\n disabled,\r\n}) => {\r\n const handleUpdate = ids => {\r\n form.setFieldTouched(field.name, true);\r\n form.setFieldValue(field.name, ids, true);\r\n };\r\n\r\n const error = get(form, `errors[${field.name}]`, undefined);\r\n const touched = get(form, `touched[${field.name}]`, undefined);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default FileUploaderInput;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n devider: {\r\n margin: theme.spacing(2, 0),\r\n },\r\n upload: {\r\n marginLeft: theme.spacing(19),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n inputRow: {\r\n margin: theme.spacing(0.8, 0),\r\n minWidth: '250px',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { FastField } from 'formik';\r\nimport { Grid, Typography } from '@material-ui/core';\r\n\r\nimport FormInput from '../../../components/FormInput';\r\nimport useStyles from './styles';\r\n\r\nconst OfficerManagerSubForm = ({ position, names }) => {\r\n const classes = useStyles();\r\n\r\n const { firstName, lastName, title, phone, email } = names;\r\n return (\r\n \r\n \r\n {position}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n // \r\n }\r\n \r\n );\r\n};\r\n\r\nexport default OfficerManagerSubForm;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n inputRow: {\r\n margin: theme.spacing(0.8, 0),\r\n minWidth: '250px',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { FastField } from 'formik';\r\nimport { Grid, Typography } from '@material-ui/core';\r\n\r\nimport FormInput from '../../../components/FormInput';\r\nimport FormDatePicker from '../../../components/FormDataPicker';\r\nimport useStyles from './styles';\r\n\r\nconst OfficersSubForm = ({ position, names, itemClasses }) => {\r\n const classes = useStyles();\r\n\r\n const { title, date, email } = names;\r\n\r\n return (\r\n \r\n \r\n {position}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default OfficersSubForm;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n radio: isError => ({\r\n color: isError ? theme.palette.error.main : undefined,\r\n '&.Mui-checked': {\r\n color: theme.palette.primary.main,\r\n },\r\n }),\r\n label: isError => ({\r\n color: isError ? theme.palette.error.main : undefined,\r\n '& .MuiFormControlLabel-label': {\r\n marginLeft: theme.spacing(-0.6),\r\n },\r\n }),\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport Radio from '@material-ui/core/Radio';\r\nimport { FormControlLabel, RadioGroup } from '@material-ui/core';\r\nimport get from 'lodash.get';\r\n\r\nimport useStyles from './styles';\r\n\r\nconst FormRadio = ({\r\n labelPlacement = 'start',\r\n disabled = false,\r\n labelClassName,\r\n size = 'small',\r\n name,\r\n field,\r\n options,\r\n ...props\r\n}) => {\r\n const isError = get(props.form.errors, field.name, false);\r\n const itemTouched = get(props.form.touched, field.name, false);\r\n const classes = useStyles(!!isError && itemTouched);\r\n\r\n return (\r\n \r\n {options.map(option => (\r\n }\r\n label={option.label}\r\n value={option.value}\r\n labelPlacement=\"end\"\r\n className={classes.label}\r\n />\r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default FormRadio;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n typography: {\r\n marginRight: theme.spacing(4),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { FastField } from 'formik';\r\nimport { Grid, Typography } from '@material-ui/core';\r\n\r\nimport FormRadio from '../FormRadio';\r\nimport useStyles from './styles';\r\n\r\nconst YesNoQuestion = ({ title, name, options }) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n \r\n \r\n {title}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default YesNoQuestion;\r\n","import React from 'react';\r\nimport { Grid } from '@material-ui/core';\r\n\r\nimport { yesnoOptions } from '../../../../utils/constants/formConstats';\r\nimport QuestionWithOptions from '../../../components/QuestionWithOptions';\r\nimport OfficersSubForm from '../OfficersSubForm';\r\n\r\nconst OfficersSubFormWrapper = ({ isOfficerExists, formNames, position, questionName, ...props }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n {isOfficerExists === 'Yes' && }\r\n \r\n );\r\n};\r\n\r\nexport default OfficersSubFormWrapper;\r\n","import React from 'react';\r\nimport { FastField, Formik } from 'formik';\r\nimport { Divider, Grid } from '@material-ui/core';\r\n\r\nimport { officersSchema } from '../../../utils/validate/shemas';\r\nimport PageLoader from '../../components/PageLoader';\r\nimport FormBody from '../../components/FormBody';\r\nimport LoadingButton from '../../components/LoadingButton';\r\nimport PromptNotification from '../../components/PromptComponent';\r\nimport FileUploaderInput from '../../components/FileUploaderInput';\r\nimport {\r\n changeNullToEmptyString,\r\n formatDateForInitialValues,\r\n getValueForRadioButton,\r\n} from '../../../utils/containersHelpers';\r\nimport { enums } from '../../../utils/constants/formConstats';\r\nimport useStyles from './styles';\r\nimport OfficerManagerSubForm from './OfficerManagerSubForm';\r\nimport OfficersSubForm from './OfficersSubForm';\r\nimport OfficersSubFormWrapper from './OfficersSubFormWrapper';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\n\r\nconst getValue = value => {\r\n if (value === '') {\r\n return null;\r\n }\r\n return value === enums.yesno.Yes;\r\n};\r\n\r\nconst CreateOfficersForm = ({\r\n handleSubmit,\r\n dbValues,\r\n loading,\r\n success,\r\n error,\r\n requestInProgress,\r\n allowUpdate,\r\n companyId,\r\n}) => {\r\n const classes = useStyles();\r\n const { isBasicContractor } = useCompanyInfo(companyId);\r\n\r\n if (loading || Object.keys(dbValues).length === 0) {\r\n return ;\r\n }\r\n\r\n const onSubmit = values => {\r\n const { president, vicePresident, treasurer } = values;\r\n const newValues = {\r\n ...values,\r\n president: {\r\n ...president,\r\n isPositionExist: getValue(president.isPositionExist),\r\n },\r\n vicePresident: {\r\n ...vicePresident,\r\n isPositionExist: getValue(vicePresident.isPositionExist),\r\n },\r\n treasurer: {\r\n ...treasurer,\r\n isPositionExist: getValue(treasurer.isPositionExist),\r\n },\r\n };\r\n\r\n handleSubmit(newValues);\r\n };\r\n\r\n const initialValues = formatDateForInitialValues(changeNullToEmptyString(dbValues));\r\n\r\n const { president, vicePresident, treasurer } = initialValues;\r\n\r\n president.isPositionExist = getValueForRadioButton(president.isPositionExist);\r\n vicePresident.isPositionExist = getValueForRadioButton(vicePresident.isPositionExist);\r\n treasurer.isPositionExist = getValueForRadioButton(treasurer.isPositionExist);\r\n\r\n return (\r\n \r\n {props => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {isBasicContractor && (\r\n \r\n \r\n \r\n )}\r\n \r\n {!isBasicContractor && (\r\n <>\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {!isBasicContractor && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {allowUpdate && (\r\n \r\n )}\r\n \r\n \r\n );\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default CreateOfficersForm;\r\n","import React, { useEffect } from 'react';\r\nimport { Helmet } from 'react-helmet';\r\nimport { useParams } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { title, sectionKey } from '../../routes/path';\r\nimport CreateOfficersForm from '../../containers/CreateOfficersForm';\r\nimport { currentCompany } from '../../../actionTypes';\r\nimport { formatPageTitle } from '../../../utils/textFormaters';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\n\r\nconst CreateOfficers = () => {\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n const { companyId, companyName } = useCompanyInfo(id);\r\n const { allowUpdate } = useUserPermissions(companyId);\r\n\r\n const { officers, loading, requestInProgress, success, error } = useSelector(state => state.currentCompany.officer);\r\n\r\n useEffect(() => {\r\n dispatch({ type: currentCompany.officer.get.start, companyId });\r\n }, [companyId, dispatch]);\r\n\r\n const handleSubmit = values => {\r\n const officersIds = Object.keys(values).map(officer => values[officer].id);\r\n\r\n officersIds.includes(0)\r\n ? dispatch({\r\n type: currentCompany.officer.create.start,\r\n payload: { companyId, values, sectionKey: sectionKey.private.company.officers },\r\n })\r\n : dispatch({\r\n type: currentCompany.officer.update.start,\r\n payload: { companyId, values, sectionKey: sectionKey.private.company.officers },\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {formatPageTitle(title.private.company.officers, { companyName })} \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CreateOfficers;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n contentOverflowWrapper: {\r\n overflow: 'hidden',\r\n maxWidth: theme.spacing(120),\r\n },\r\n labelWrapper: {\r\n marginBottom: theme.spacing(1),\r\n },\r\n labelCheckboxRight: {\r\n margin: theme.spacing(0),\r\n padding: theme.spacing(0),\r\n },\r\n checkboxLeft: {\r\n margin: theme.spacing(0),\r\n padding: theme.spacing(0, 1, 0, 1),\r\n },\r\n title: {\r\n marginBottom: theme.spacing(1),\r\n },\r\n boxWrapper: {\r\n padding: theme.spacing(1),\r\n display: 'flex',\r\n flexDirection: 'column',\r\n width: '100%',\r\n height: '100%',\r\n minWidth: theme.spacing(40),\r\n minHeight: theme.spacing(40),\r\n },\r\n textArea: {\r\n width: '100%',\r\n borderWidth: 1,\r\n borderColor: theme.palette.grey['400'],\r\n borderRadius: theme.spacing(0.5),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n calendarWrapper: {\r\n margin: theme.spacing(0),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { FastField } from 'formik';\r\nimport { Grid } from '@material-ui/core';\r\n\r\nimport FormInput from '../../../components/FormInput';\r\nimport FormDatePicker from '../../../components/FormDataPicker';\r\nimport FormSelect from '../../../components/FormSelect';\r\nimport useStyles from './styles';\r\nimport companyRoleTypes from '../../../../utils/constants/companyRoleTypes';\r\nimport FormNumberInput from '../../../components/FormNumberInput';\r\n\r\nconst CompanyInfoSubForm = ({ names, isBasicContractor, isSafetyCouncilUserType }) => {\r\n const classes = useStyles();\r\n\r\n const { type, name, url, taxId, year } = names;\r\n\r\n return (\r\n <>\r\n {isSafetyCouncilUserType && (\r\n \r\n )}\r\n \r\n {\r\n // \r\n }\r\n \r\n \r\n {!isBasicContractor && (\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default CompanyInfoSubForm;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n cardWrapper: {\r\n display: 'flex',\r\n flex: 1,\r\n },\r\n cardActionAreaWrapper: {\r\n display: 'block',\r\n position: 'relative',\r\n },\r\n labelImageWrapper: {\r\n position: 'absolute',\r\n left: theme.spacing(0),\r\n right: theme.spacing(0),\r\n bottom: theme.spacing(0),\r\n top: theme.spacing(0),\r\n padding: theme.spacing(1),\r\n },\r\n cardMediaWrapper: {\r\n width: '100%',\r\n height: '100%',\r\n backgroundPosition: 'center',\r\n backgroundSize: 'contain',\r\n backgroundRepeat: 'no-repeat',\r\n '&:hover': {\r\n cursor: 'pointer',\r\n },\r\n },\r\n inputInvisible: {\r\n display: 'block',\r\n visibility: 'hidden',\r\n width: theme.spacing(0),\r\n height: theme.spacing(0),\r\n outline: 'none',\r\n marginTop: theme.spacing(1),\r\n },\r\n errorTitle: {\r\n marginTop: theme.spacing(1),\r\n color: theme.palette.error.main,\r\n textAlign: 'center',\r\n fontSize: theme.typography.fontSize,\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { useState } from 'react';\r\nimport { Card, CardActionArea, CardMedia, Typography } from '@material-ui/core';\r\n\r\nimport logo from '../../../images/logoPlaceholder.png';\r\nimport useStyles from './styles';\r\nimport { logoMaxSizeBytes } from '../../../../utils/constants/fileSizes';\r\n\r\nconst LogoUploadForm = ({ field, title, allowUpdate, form: { values, setFieldValue } }) => {\r\n const classes = useStyles();\r\n const { logoLink } = values;\r\n\r\n const [validSize, setValidSize] = useState(true);\r\n\r\n const handleChange = e => {\r\n const file = e.target.files[0];\r\n const isValidSize = file && file.size <= logoMaxSizeBytes;\r\n setValidSize(isValidSize);\r\n if (isValidSize) setFieldValue(field.name, file);\r\n };\r\n\r\n let imageLink;\r\n if (!logoLink) {\r\n imageLink = logo;\r\n } else if (typeof logoLink === 'object') {\r\n imageLink = URL.createObjectURL(logoLink);\r\n } else {\r\n imageLink = logoLink;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n {!validSize && The maximum file size is 2 MB}\r\n \r\n );\r\n};\r\n\r\nexport default LogoUploadForm;\r\n","import React from 'react';\r\nimport { Grid, Box, Typography } from '@material-ui/core';\r\nimport { FastField, Formik, Field } from 'formik';\r\n\r\nimport { saveCompanyInfo } from '../../../utils/validate/shemas';\r\nimport FormInput from '../../components/FormInput';\r\nimport FormSelect from '../../components/FormSelect';\r\nimport useStyles from './styles';\r\nimport FormCheckbox from '../../components/FormCheckbox';\r\nimport usaStates from '../../../utils/constants/usaStates';\r\nimport { yesNoOptions } from '../../../utils/constants/formConstats';\r\nimport CompanyInfoSubForm from './CompanyInfoSubForm';\r\nimport LogoUploadForm from './LogoUploadForm';\r\nimport FormNumberInput from '../../components/FormNumberInput';\r\nimport LoadingButton from '../../components/LoadingButton';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\nimport FormBody from '../../components/FormBody';\r\nimport PageLoader from '../../components/PageLoader';\r\nimport { changeNullToEmptyString, formatDateForInitialValues } from '../../../utils/containersHelpers';\r\nimport PromptNotification from '../../components/PromptComponent';\r\nimport FileUploaderInput from '../../components/FileUploaderInput';\r\nimport FormAutocomplete from '../../components/FormAutocomplete';\r\nimport { userTypes, contractorLevelEnum } from '../../../utils/constants';\r\n\r\nconst handleFormInputAddressChange = (props, e, fieldProps) => {\r\n const names = fieldProps.name.split('.');\r\n if (props.values.isMailingAddressTheSame) {\r\n props.setFieldValue(`mailingAddress.${names[1]}`, e.target.value);\r\n }\r\n};\r\n\r\nconst handleAutoCompletedAddressChange = (props, value, fieldProps) => {\r\n const names = fieldProps.name.split('.');\r\n if (props.values.isMailingAddressTheSame) {\r\n props.setFieldValue(`mailingAddress.${names[1]}`, value);\r\n }\r\n};\r\n\r\nconst handleCheckboxAddressChange = (props, e, fieldProps) => {\r\n Object.keys(props.values.streetAddress).forEach(item => {\r\n if (item === 'id') return;\r\n if (!fieldProps.value) {\r\n props.setFieldValue(`mailingAddress.${item}`, props.values.streetAddress[item]);\r\n } else {\r\n props.setFieldValue(`mailingAddress.${item}`, '');\r\n }\r\n });\r\n};\r\n\r\nconst CompanyInfoForm = ({\r\n initialValues,\r\n companyId,\r\n requestInProgress,\r\n loading,\r\n success,\r\n error,\r\n handleSubmit,\r\n allowUpdate,\r\n}) => {\r\n const classes = useStyles();\r\n const { type } = useUserPermissions();\r\n const isSafetyCouncilUserType = type === userTypes.SafetyCouncil;\r\n\r\n if (loading || (!initialValues.type && !initialValues.mailingAddress)) return ;\r\n\r\n const values = changeNullToEmptyString({ ...initialValues, type: initialValues.level || initialValues.type });\r\n const formattedInitialValues = formatDateForInitialValues(values);\r\n\r\n const isBasicContractor = formattedInitialValues.type === contractorLevelEnum.BasicContractor;\r\n\r\n const onSubmit = val => {\r\n const baseType =\r\n val['type'] === userTypes.Owner ? { type: userTypes.Owner } : { type: userTypes.Contractor, level: val['type'] };\r\n const clearValues = Object.keys(val).reduce(\r\n (acc, item) => (['type', 'level', 'typeName'].includes(item) ? acc : { ...acc, [item]: val[item] }),\r\n baseType,\r\n );\r\n handleSubmit(clearValues);\r\n };\r\n\r\n return (\r\n \r\n {props => (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Street Address\r\n \r\n \r\n \r\n
\r\n Mailing Address is the same as street address\r\n }\r\n color=\"primary\"\r\n size=\"medium\"\r\n handleChange={(e, fieldProps) => handleCheckboxAddressChange(props, e, fieldProps)}\r\n component={FormCheckbox}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n handleFormInputAddressChange(props, e, fieldProps)}\r\n component={FormInput}\r\n />\r\n handleFormInputAddressChange(props, e, fieldProps)}\r\n name=\"streetAddress.city\"\r\n component={FormInput}\r\n />\r\n handleAutoCompletedAddressChange(props, value, fieldProps)}\r\n component={FormAutocomplete}\r\n />\r\n handleFormInputAddressChange(props, e, fieldProps)}\r\n maskType=\"zip\"\r\n component={FormNumberInput}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Corporate Contact Person\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Local Contact Person\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* hide for owner company type */}\r\n {Object.keys(contractorLevelEnum).includes(props.values.type) && (\r\n <>\r\n \r\n \r\n \r\n \r\n Do you have a State Contractor's License?\r\n \r\n \r\n \r\n \r\n \r\n {props.values.hasStateContractorLicense && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n State and ISO Information\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {allowUpdate && (\r\n \r\n )}\r\n
\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default CompanyInfoForm;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Helmet } from 'react-helmet';\r\nimport { useParams } from 'react-router-dom';\r\n\r\nimport { title, sectionKey } from '../../routes/path';\r\nimport { currentCompany } from '../../../actionTypes';\r\nimport CompanyInfoForm from '../../containers/CompanyInfoForm';\r\nimport { formatPageTitle } from '../../../utils/textFormaters';\r\nimport { changeEmptyStringToNull } from '../../../utils/containersHelpers';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\n\r\nconst CompanyInfo = () => {\r\n const dispatch = useDispatch();\r\n const { id } = useParams();\r\n\r\n const { companyId, companyName } = useCompanyInfo(id);\r\n const { allowUpdate } = useUserPermissions(companyId);\r\n\r\n const { requestInProgress, loading, success, error } = useSelector(state => state.currentCompany.info);\r\n const companyInfo = useSelector(state => state.entity.company[companyId]);\r\n\r\n useEffect(() => {\r\n dispatch({ type: currentCompany.info.get.start, payload: { id: companyId } });\r\n }, [companyId, dispatch]);\r\n\r\n const handleSubmit = values =>\r\n dispatch({\r\n type: currentCompany.info.update.start,\r\n payload: {\r\n values: changeEmptyStringToNull(values),\r\n id: companyId,\r\n sectionKey: sectionKey.private.company.settingsInfo,\r\n },\r\n });\r\n\r\n return (\r\n <>\r\n \r\n {formatPageTitle(title.private.company.settingsInfo, { companyName })} \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CompanyInfo;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n innerWrapper: {\r\n marginTop: theme.spacing(3),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Grid, TableCell, TableRow } from '@material-ui/core';\r\nimport { FastField, Formik } from 'formik';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport DoneIcon from '@material-ui/icons/Done';\r\n\r\nconst EditForm = ({\r\n values,\r\n handleSubmit,\r\n setItemToEdit,\r\n validationSchema,\r\n label,\r\n amountFieldName,\r\n amountFieldNumber,\r\n amountFieldMaskType,\r\n amountFieldComponent,\r\n}) => {\r\n return (\r\n \r\n {props => {\r\n return (\r\n \r\n \r\n \r\n

{props.initialValues.year}

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n props.handleSubmit()}>\r\n \r\n \r\n setItemToEdit(null)}>\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }}\r\n
\r\n );\r\n};\r\n\r\nexport default EditForm;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n tableWrapper: {\r\n marginBottom: theme.spacing(4),\r\n },\r\n table: {\r\n tableLayout: 'fixed',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Table, TableBody, TableCell, TableContainer, TableHead, TableRow, Paper, Grid } from '@material-ui/core';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\n\r\nimport EditForm from '../EditForm';\r\nimport ModalDialog from '../../../components/ModalConfirmation';\r\nimport useStyles from './styles';\r\n\r\nconst TableDisplay = ({\r\n tableData,\r\n allowUpdate,\r\n onDeleteConfirm,\r\n setItemToDelete,\r\n onEditConfirm,\r\n loading,\r\n setItemToEdit,\r\n itemToEdit,\r\n itemToDelete,\r\n label,\r\n validationSchema,\r\n amountFieldComponent,\r\n amountFieldMaskType,\r\n amountFieldNumber,\r\n amountFieldName,\r\n}) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Year\r\n \r\n \r\n {label}\r\n \r\n \r\n Actions\r\n \r\n \r\n \r\n \r\n <>\r\n {tableData && tableData.length > 0 ? (\r\n tableData\r\n .sort((a, b) => b.year - a.year)\r\n .map((row, index) => {\r\n const isLastItem = tableData.length - 1 === index;\r\n return itemToEdit && itemToEdit === row.id ? (\r\n \r\n ) : (\r\n \r\n \r\n {row.year}\r\n \r\n \r\n {row.amount}\r\n \r\n {allowUpdate && (\r\n \r\n \r\n setItemToEdit(row.id)}>\r\n \r\n \r\n {\r\n if (isLastItem) {\r\n setItemToDelete(row.id);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n })\r\n ) : (\r\n \r\n \r\n No records to display\r\n \r\n \r\n )}\r\n \r\n \r\n
\r\n setItemToDelete(null)}\r\n onConfirm={onDeleteConfirm}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default TableDisplay;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n tableFormWrapper: {\r\n marginBottom: theme.spacing(2),\r\n },\r\n fieldItem: {\r\n paddingTop: theme.spacing(1),\r\n },\r\n buttonContainer: {\r\n marginTop: theme.spacing(1),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Button, Grid } from '@material-ui/core';\r\nimport { FastField, Formik, Field } from 'formik';\r\n\r\nimport FormSelect from '../../../components/FormSelect';\r\nimport useStyles from './styles';\r\n\r\nconst FieldFormContainer = ({\r\n tableData,\r\n label,\r\n initialTableValues,\r\n validationSchema,\r\n fieldName,\r\n fieldNumber,\r\n fieldMaskType,\r\n fieldComponent,\r\n allowUpdate,\r\n handleSubmit,\r\n specialFilter,\r\n getYearsOptions,\r\n}) => {\r\n const classes = useStyles();\r\n const onSubmit = (values, { resetForm }) => {\r\n resetForm();\r\n handleSubmit(values);\r\n };\r\n const getAvailableLastYearsOptions = () => {\r\n return getYearsOptions().filter(item => !tableData || tableData.every(e => e.year !== item.value));\r\n };\r\n const isFormDisplayed = !tableData || getAvailableLastYearsOptions().length;\r\n\r\n return (\r\n \r\n {props => {\r\n return (\r\n <>\r\n {isFormDisplayed ? (\r\n <>\r\n {allowUpdate && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n props.handleSubmit()}\r\n >\r\n Add\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n ) : null}\r\n \r\n );\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default FieldFormContainer;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Grid } from '@material-ui/core';\r\n\r\nimport Table from './TableContainer';\r\nimport FieldForm from './FieldFormContainer';\r\n\r\nconst TableContainer = ({\r\n loading,\r\n tableData,\r\n label,\r\n initialTableValues,\r\n validationSchema,\r\n fieldName,\r\n fieldNumber,\r\n maskType,\r\n fieldComponent,\r\n setTableData,\r\n allowUpdate,\r\n specialFilter,\r\n getYearsOptions,\r\n}) => {\r\n const [itemToDelete, setItemToDelete] = useState(null);\r\n const [itemToEdit, setItemToEdit] = useState(null);\r\n\r\n const [data, setData] = useState(null);\r\n\r\n useEffect(() => {\r\n if (!loading) {\r\n setData(tableData);\r\n setTableData(tableData);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [loading]);\r\n\r\n const updateData = val => {\r\n setData(val);\r\n setTableData(val);\r\n };\r\n\r\n const onAddToTable = values => {\r\n updateData([\r\n ...data,\r\n {\r\n ...values,\r\n id: values.year,\r\n },\r\n ]);\r\n };\r\n\r\n const onDeleteConfirm = () => {\r\n updateData(data.filter(item => item.id !== itemToDelete));\r\n setItemToDelete(null);\r\n };\r\n\r\n const onEditConfirm = values => {\r\n const newData = data.map(item => (item.id === itemToEdit ? values : item));\r\n setItemToEdit(null);\r\n updateData(newData);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableContainer;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n uploadWrapper: {\r\n marginTop: theme.spacing(3),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { useEffect } from 'react';\r\nimport { Grid, Typography } from '@material-ui/core';\r\nimport { FastField, Formik } from 'formik';\r\n\r\nimport FormNumberInput from '../../../components/FormNumberInput';\r\nimport FormInput from '../../../components/FormInput';\r\nimport useStyles from './styles';\r\nimport { financialInfoSchema } from '../../../../utils/validate/shemas';\r\nimport FileUploaderInput from '../../../components/FileUploaderInput';\r\n\r\nconst WatchEffect = ({ dirty, isValid, values, formUpdate }) => {\r\n useEffect(() => {\r\n formUpdate(values, dirty, isValid);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dirty, values, isValid]);\r\n return null;\r\n};\r\n\r\nconst FinInfoSubForm = ({ handleSubmit, initialValues, formUpdate, companyId }) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n {props => (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Your Firm Desired Project Size\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Bank Information\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Dun & Bradstreet Scores and Ratings\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default FinInfoSubForm;\r\n","import React, { useState } from 'react';\r\nimport { Grid, Typography } from '@material-ui/core';\r\nimport isEqual from 'lodash.isequal';\r\n\r\nimport { finInfoTableSchema } from '../../../utils/validate/shemas';\r\nimport FormNumberInput from '../../components/FormNumberInput';\r\nimport LoadingButton from '../../components/LoadingButton';\r\nimport PageLoader from '../../components/PageLoader';\r\nimport FormBody from '../../components/FormBody';\r\nimport { changeNullToEmptyString, addDollarCommaSigns } from '../../../utils/containersHelpers';\r\nimport useStyles from './styles';\r\nimport CommonTableForm from '../CommonTable';\r\nimport FinInfoSubForm from './FinInfoSubForm';\r\nimport refineNumberString from '../../../utils/textFormaters/refineNumberString';\r\nimport PromptNotification from '../../components/PromptComponent';\r\nimport { getLastYearsOptions } from '../../../utils/constants/yearHelper';\r\n\r\nconst CreateFinancialInfoForm = ({\r\n handleSubmit,\r\n financialInfo,\r\n financialArrays,\r\n loading,\r\n success,\r\n error,\r\n requestInProgress,\r\n allowUpdate,\r\n companyId,\r\n}) => {\r\n const [status, setStatus] = useState({\r\n form: {\r\n values: {},\r\n dirty: false,\r\n isValid: false,\r\n },\r\n table: {\r\n values: [],\r\n changed: false,\r\n },\r\n });\r\n\r\n const classes = useStyles();\r\n const initialValues = changeNullToEmptyString(financialInfo);\r\n\r\n const handleSubmitClick = () => {\r\n const valuesToSend = {\r\n financialInfo: status.form.values,\r\n financialArrays: status.table.values.map(item => ({\r\n id: item.saveId,\r\n year: item.year,\r\n amount: parseFloat(refineNumberString(item.amount)),\r\n })),\r\n };\r\n handleSubmit(valuesToSend);\r\n\r\n setStatus({\r\n form: {\r\n ...status.form,\r\n dirty: false,\r\n },\r\n table: {\r\n ...status.table,\r\n changed: false,\r\n },\r\n });\r\n };\r\n\r\n if (loading && !Object.keys(initialValues).length) return ;\r\n\r\n const canSubmit = (status.form.isValid && status.form.dirty) || (status.form.isValid && status.table.changed);\r\n\r\n const tableData = financialArrays.map(item => ({\r\n ...item,\r\n saveId: item.id,\r\n id: item.year,\r\n amount: addDollarCommaSigns(item.amount),\r\n }));\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n setStatus({\r\n ...status,\r\n form: {\r\n values,\r\n isValid,\r\n dirty,\r\n },\r\n })\r\n }\r\n />\r\n \r\n \r\n Annual Dollar Volume\r\n \r\n setStatus({\r\n ...status,\r\n table: {\r\n values,\r\n changed: !isEqual(values, tableData),\r\n },\r\n })\r\n }\r\n label=\"Amount\"\r\n initialTableValues={{ year: '', amount: '' }}\r\n fieldName=\"amount\"\r\n maskType=\"dollarNumber\"\r\n fieldComponent={FormNumberInput}\r\n allowUpdate={allowUpdate}\r\n loading={loading}\r\n validationSchema={finInfoTableSchema}\r\n getYearsOptions={getLastYearsOptions}\r\n />\r\n \r\n \r\n \r\n {allowUpdate && (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CreateFinancialInfoForm;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useParams } from 'react-router-dom';\r\nimport { Helmet } from 'react-helmet';\r\n\r\nimport { title, sectionKey } from '../../routes/path';\r\nimport CreateFinancialInfoForm from '../../containers/CreateFinancialInfoForm';\r\nimport { currentCompany } from '../../../actionTypes';\r\nimport { formatPageTitle } from '../../../utils/textFormaters';\r\nimport { changeEmptyStringToNull, removeDollarCommaSigns } from '../../../utils/containersHelpers';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\n\r\nconst valuesDollarAmount = ['minProjectSize', 'maxProjectSize', 'bankLineOfCredit', 'bondingCapacity', 'netWorth'];\r\n\r\nconst FinancialInformation = () => {\r\n const dispatch = useDispatch();\r\n const { id } = useParams();\r\n\r\n const { companyId, companyName } = useCompanyInfo(id);\r\n const { allowUpdate } = useUserPermissions(companyId);\r\n\r\n const { financialInfo, financialArrays, loading, requestInProgress, success, error } = useSelector(\r\n store => store.currentCompany.finInfo,\r\n );\r\n\r\n useEffect(() => {\r\n dispatch({ type: currentCompany.finInfo.get.start, companyId });\r\n }, [companyId, dispatch]);\r\n\r\n const handleSubmit = values => {\r\n const newValues = changeEmptyStringToNull(values.financialInfo);\r\n const formattedValues = removeDollarCommaSigns(newValues, valuesDollarAmount);\r\n\r\n dispatch({\r\n type: currentCompany.finInfo.update.start,\r\n payload: {\r\n companyId,\r\n financialInfo: { ...formattedValues, id: financialInfo.id },\r\n financialArrays: values.financialArrays,\r\n sectionKey: sectionKey.private.company.financialInformation,\r\n },\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {formatPageTitle(title.private.company.financialInformation, { companyName })}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default FinancialInformation;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n formRadioContainer: {\r\n margin: theme.spacing(0, 1),\r\n '& > h6': {\r\n marginRight: theme.spacing(4),\r\n },\r\n },\r\n itemContainer: {\r\n padding: theme.spacing(1),\r\n },\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n title: {\r\n margin: theme.spacing(2, 0),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { useEffect } from 'react';\r\nimport { FastField, Formik } from 'formik';\r\nimport { Grid, Typography, Collapse } from '@material-ui/core';\r\n\r\nimport { parentCompanySchema } from '../../../../utils/validate/shemas';\r\nimport { yesnoOptions, enums } from '../../../../utils/constants/formConstats';\r\nimport FormRadio from '../../../components/FormRadio';\r\nimport FormInput from '../../../components/FormInput';\r\nimport UsaStates from '../../../../utils/constants/usaStates';\r\nimport useStyles from './styles';\r\nimport FormNumberInput from '../../../components/FormNumberInput';\r\nimport FormAutocomplete from '../../../components/FormAutocomplete';\r\n\r\nconst WatchEffect = ({ dirty, isValid, values, formUpdate, handleSubmit }) => {\r\n useEffect(() => {\r\n formUpdate(values, dirty, isValid, () => handleSubmit());\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dirty, values, isValid]);\r\n return null;\r\n};\r\n\r\nconst FormRadioControl = ({ valuesAfterHide, field, form, ...props }) => {\r\n const newField = {\r\n ...field,\r\n onChange: e => {\r\n if (e.target.value === enums.yesno.No) {\r\n form.setValues({ ...form.values, ...valuesAfterHide, [field.name]: e.target.value }, true);\r\n } else {\r\n field.onChange(e);\r\n }\r\n },\r\n };\r\n return ;\r\n};\r\n\r\nconst ParentCompanySubForm = ({ initialValues, formUpdate, onSubmit }) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n {props => {\r\n const { isParentCompanyExist } = props.values;\r\n return (\r\n <>\r\n \r\n \r\n \r\n Do you have a Parent Company?\r\n \r\n \r\n \r\n \r\n {isParentCompanyExist === enums.yesno.Yes && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Street Address\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n Do you have a Subsidiary Company?\r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default ParentCompanySubForm;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n tableContainer: {\r\n padding: theme.spacing(0, 1),\r\n },\r\n tableWrapper: {\r\n paddingLeft: theme.spacing(1),\r\n marginBottom: theme.spacing(2),\r\n },\r\n nameInput: {\r\n paddingTop: theme.spacing(1),\r\n },\r\n buttonSection: {\r\n padding: theme.spacing(1, 0, 0, 1),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Grid, TableCell, TableRow } from '@material-ui/core';\r\nimport { Field, Formik } from 'formik';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport DoneIcon from '@material-ui/icons/Done';\r\n\r\nimport FormInput from '../../../components/FormInput';\r\nimport { subsidiaryTableSchema } from '../../../../utils/validate/shemas';\r\n\r\nconst EditForm = ({ values, handleSubmit, setItemToEdit }) => {\r\n return (\r\n subsidiaryTableSchema()}>\r\n {props => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n props.handleSubmit()}>\r\n \r\n \r\n setItemToEdit(null)}>\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default EditForm;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n tableWrapper: {\r\n marginBottom: theme.spacing(4),\r\n '&>table tr td:last-child': {\r\n width: theme.spacing(15),\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Table, TableBody, TableCell, TableContainer, TableHead, TableRow, Paper, Grid } from '@material-ui/core';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\n\r\nimport EditForm from '../EditForm';\r\nimport ModalDialog from '../../../components/ModalConfirmation';\r\nimport useStyles from './styles';\r\n\r\nconst TableDisplay = ({\r\n tableData,\r\n allowUpdate,\r\n onDeleteConfirm,\r\n setItemToDelete,\r\n onEditConfirm,\r\n setItemToEdit,\r\n itemToEdit,\r\n itemToDelete,\r\n}) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Subsidiaries\r\n Actions\r\n \r\n \r\n \r\n <>\r\n {tableData.map((row, index) => {\r\n return itemToEdit && itemToEdit === row.id ? (\r\n \r\n ) : (\r\n \r\n \r\n {row.name}\r\n \r\n {allowUpdate && (\r\n \r\n \r\n setItemToEdit(row.id)}>\r\n \r\n \r\n setItemToDelete(row.id)}>\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n })}\r\n \r\n \r\n
\r\n setItemToDelete(null)}\r\n onConfirm={onDeleteConfirm}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default TableDisplay;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n tableContainer: {\r\n padding: theme.spacing(0, 1),\r\n },\r\n tableWrapper: {\r\n paddingLeft: theme.spacing(1),\r\n marginBottom: theme.spacing(2),\r\n },\r\n nameInput: {\r\n paddingTop: theme.spacing(1),\r\n },\r\n buttonSection: {\r\n padding: theme.spacing(1, 0, 0, 1),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { useEffect } from 'react';\r\nimport { Field, Formik } from 'formik';\r\nimport { Grid, Button } from '@material-ui/core';\r\n\r\nimport { subsidiaryTableSchema } from '../../../../utils/validate/shemas';\r\nimport FormInput from '../../../components/FormInput';\r\nimport useStyles from './styles';\r\n\r\nconst WatchEffect = ({ setFieldTouched }) => {\r\n useEffect(() => {\r\n setFieldTouched('name', true);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n return null;\r\n};\r\n\r\nconst SubsidiaryInputForm = ({ allowUpdate, initialTableValues, handleSubmit, tableData }) => {\r\n const classes = useStyles();\r\n\r\n const onSubmit = (values, { resetForm }) => {\r\n resetForm();\r\n handleSubmit(values);\r\n };\r\n\r\n return (\r\n subsidiaryTableSchema(tableData)}\r\n onSubmit={onSubmit}\r\n enableReinitialize\r\n >\r\n {props => {\r\n return (\r\n <>\r\n {allowUpdate && (\r\n <>\r\n {!tableData.length && }\r\n \r\n \r\n \r\n \r\n \r\n props.handleSubmit()}\r\n >\r\n Add\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default SubsidiaryInputForm;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Grid, Collapse } from '@material-ui/core';\r\n\r\nimport useStyles from './styles';\r\nimport Table from '../Table';\r\nimport SubsidiaryInputForm from '../SubsidiaryInputForm';\r\n\r\nconst SubsidiaryContainer = ({ loading, tableData, setTableData, allowUpdate, initialTableValues }) => {\r\n const classes = useStyles();\r\n const [itemToDelete, setItemToDelete] = useState(null);\r\n const [itemToEdit, setItemToEdit] = useState(null);\r\n const [data, setData] = useState([]);\r\n\r\n useEffect(() => {\r\n if (!loading) {\r\n updateData(tableData);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [loading]);\r\n\r\n const updateData = val => {\r\n setData(val);\r\n setTableData(val);\r\n };\r\n\r\n const addNewSubsidiary = values => {\r\n updateData([\r\n ...data,\r\n {\r\n id: Date.now(),\r\n name: values.name,\r\n },\r\n ]);\r\n };\r\n\r\n const onDeleteConfirm = () => {\r\n updateData(data.filter(item => item.id !== itemToDelete));\r\n setItemToDelete(null);\r\n };\r\n\r\n const onEditConfirm = values => {\r\n const newData = data.map(item => (item.id === itemToEdit ? values : item));\r\n setItemToEdit(null);\r\n updateData(newData);\r\n };\r\n\r\n return (\r\n \r\n \r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default SubsidiaryContainer;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Grid } from '@material-ui/core';\r\nimport isEqual from 'lodash.isequal';\r\n\r\nimport ParentCompanySubForm from './ParentCompanySubForm';\r\nimport LoadingButton from '../../components/LoadingButton';\r\nimport PageLoader from '../../components/PageLoader';\r\nimport FormBody from '../../components/FormBody';\r\nimport SubsidiaryContainer from './SubsidiaryContainer';\r\nimport { enums } from '../../../utils/constants/formConstats';\r\nimport PromptNotification from '../../components/PromptComponent';\r\n\r\nconst ParentCompanyForm = ({ handleSubmit, loading, subsidiaries, companyData, success, error, allowUpdate }) => {\r\n const [status, setStatus] = useState({\r\n form: {\r\n values: {},\r\n dirty: false,\r\n isValid: false,\r\n submit: () => {},\r\n },\r\n table: {\r\n values: [],\r\n changed: false,\r\n },\r\n });\r\n\r\n useEffect(() => {\r\n if (status.form.values.isSubsidiaryExist === enums.yesno.No) {\r\n setStatus(prevState => ({ ...prevState, table: { values: [], changed: !isEqual([], subsidiaries) } }));\r\n }\r\n }, [status.form.values.isSubsidiaryExist, subsidiaries]);\r\n\r\n if (loading && !Object.keys(companyData).length) return ;\r\n const existingSubsidiaries =\r\n status.form.values.isSubsidiaryExist === enums.yesno.Yes ? !!status.table.values.length : true;\r\n const canSubmit =\r\n (status.form.isValid && status.form.dirty && existingSubsidiaries) ||\r\n (status.form.isValid && status.table.changed && existingSubsidiaries);\r\n\r\n const onSubmit = values => {\r\n const { id, phoneNumber, streetAddress, name, isParentCompanyExist, isSubsidiaryExist } = values;\r\n const { values: existingSubsidiaries } = status.table;\r\n const newValues = {\r\n id: companyData.id || id,\r\n name,\r\n phoneNumber: phoneNumber ? phoneNumber : null,\r\n streetAddress: {\r\n ...streetAddress,\r\n state: streetAddress.state ? streetAddress.state : null,\r\n zip: streetAddress.zip ? streetAddress.zip : null,\r\n },\r\n isParentCompanyExist: isParentCompanyExist === enums.yesno.Yes || (isParentCompanyExist === '' && null),\r\n isSubsidiaryExist: isSubsidiaryExist === enums.yesno.Yes || (isSubsidiaryExist === '' && null),\r\n };\r\n const newSubsidiaries =\r\n isSubsidiaryExist === enums.yesno.Yes\r\n ? existingSubsidiaries.map(subsidiary => ({\r\n id: subsidiary.id || '0',\r\n name: subsidiary.name,\r\n }))\r\n : [];\r\n\r\n handleSubmit(newValues, newSubsidiaries);\r\n\r\n setStatus({\r\n form: {\r\n ...status.form,\r\n dirty: false,\r\n },\r\n table: {\r\n ...status.table,\r\n changed: false,\r\n },\r\n });\r\n };\r\n\r\n const initialValues = {\r\n id: companyData.id,\r\n name: companyData.name || '',\r\n phoneNumber: companyData.phoneNumber || '',\r\n streetAddress: {\r\n id: companyData.streetAddress.id || 0,\r\n street: companyData.streetAddress.street || '',\r\n city: companyData.streetAddress.city || '',\r\n state: companyData.streetAddress.state || '',\r\n zip: companyData.streetAddress.zip || '',\r\n },\r\n isParentCompanyExist:\r\n companyData.isParentCompanyExist !== null\r\n ? companyData.isParentCompanyExist\r\n ? enums.yesno.Yes\r\n : enums.yesno.No\r\n : '',\r\n isSubsidiaryExist:\r\n companyData.isSubsidiaryExist !== null ? (companyData.isSubsidiaryExist ? enums.yesno.Yes : enums.yesno.No) : '',\r\n };\r\n\r\n const { isSubsidiaryExist } = status.form.values;\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n setStatus({\r\n ...status,\r\n form: {\r\n values,\r\n isValid,\r\n dirty,\r\n submit: handleSubmit,\r\n },\r\n })\r\n }\r\n />\r\n \r\n {isSubsidiaryExist === enums.yesno.Yes && (\r\n \r\n setStatus({\r\n ...status,\r\n table: {\r\n values,\r\n changed: !isEqual(values, subsidiaries),\r\n },\r\n })\r\n }\r\n loading={loading}\r\n allowUpdate={allowUpdate}\r\n initialTableValues={{ name: '' }}\r\n />\r\n )}\r\n \r\n \r\n {allowUpdate && (\r\n status.form.submit()}\r\n />\r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ParentCompanyForm;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useParams } from 'react-router-dom';\r\nimport { Helmet } from 'react-helmet';\r\n\r\nimport { currentCompany } from '../../../actionTypes';\r\nimport ParentCompanyForm from '../../containers/ParentCompanyForm';\r\nimport { title, sectionKey } from '../../routes/path';\r\nimport { formatPageTitle } from '../../../utils/textFormaters';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\n\r\nconst ParentCompanyPage = () => {\r\n const dispatch = useDispatch();\r\n const { id } = useParams();\r\n\r\n const { companyId, companyName } = useCompanyInfo(id);\r\n const { allowUpdate } = useUserPermissions(companyId);\r\n\r\n const { loading, companyData, subsidiaries, success, error } = useSelector(\r\n state => state.currentCompany.parentCompany,\r\n );\r\n\r\n useEffect(() => {\r\n dispatch({ type: currentCompany.parentCompany.get.start, payload: { companyId } });\r\n }, [companyId, dispatch]);\r\n\r\n const onSubmit = (values, subsidiaries) => {\r\n dispatch({\r\n type: !values.id ? currentCompany.parentCompany.create.start : currentCompany.parentCompany.update.start,\r\n payload: { companyId, values, subsidiaries, sectionKey: sectionKey.private.company.parentCompany },\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {formatPageTitle(title.private.company.parentCompany, { companyName })}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ParentCompanyPage;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { FastField } from 'formik';\r\nimport { Typography } from '@material-ui/core';\r\n\r\nimport FormInput from '../../../components/FormInput';\r\nimport FormDatePicker from '../../../components/FormDataPicker';\r\nimport useStyles from './styles';\r\nimport FormNumberInput from '../../../components/FormNumberInput';\r\n\r\nconst InsuranceSubForm = ({ title, names }) => {\r\n const classes = useStyles();\r\n\r\n const { date, name, amount } = names;\r\n\r\n return (\r\n <>\r\n \r\n {title}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default InsuranceSubForm;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n itemContainer: {\r\n padding: theme.spacing(0, 1),\r\n },\r\n subFormContainer: {\r\n marginLeft: theme.spacing(20),\r\n },\r\n divider: {\r\n margin: theme.spacing(3, 0),\r\n },\r\n formRadioContainer: {\r\n '& > h6': {\r\n marginRight: theme.spacing(4),\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n formRadioContainer: {\r\n marginRight: theme.spacing(1),\r\n '& > h6': {\r\n marginRight: theme.spacing(4),\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { FastField } from 'formik';\r\nimport { Grid } from '@material-ui/core';\r\n\r\nimport FormInput from '../../../components/FormInput';\r\nimport FormDatePicker from '../../../components/FormDataPicker';\r\nimport useStyles from './styles';\r\nimport FormNumberInput from '../../../components/FormNumberInput';\r\nimport FileUploaderInput from '../../../components/FileUploaderInput';\r\n\r\nconst AutomobileInsuranceSubForm = ({ names, companyId }) => {\r\n const classes = useStyles();\r\n\r\n const { companyInsuranceName, expirationDate, amount, autoinsur } = names;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AutomobileInsuranceSubForm;\r\n","import React from 'react';\r\nimport { Grid, Divider, Typography } from '@material-ui/core';\r\nimport { FastField, Formik } from 'formik';\r\n\r\nimport { insurancePolicySchema } from '../../../utils/validate/shemas';\r\nimport InsuranceSubForm from './InsurancePolicySubForm';\r\nimport FormInput from '../../components/FormInput';\r\nimport FormRadio from '../../components/FormRadio';\r\nimport { yesnoOptions, enums } from '../../../utils/constants/formConstats';\r\nimport LoadingButton from '../../components/LoadingButton';\r\nimport PageLoader from '../../components/PageLoader';\r\nimport FormBody from '../../components/FormBody';\r\nimport {\r\n changeNullToEmptyString,\r\n formatDateForInitialValues,\r\n getValueForRadioButton,\r\n} from '../../../utils/containersHelpers';\r\nimport useStyles from './styles';\r\nimport refineNumberString from '../../../utils/textFormaters/refineNumberString';\r\nimport PromptNotification from '../../components/PromptComponent';\r\nimport FileUploaderInput from '../../components/FileUploaderInput';\r\nimport AutomobileInsuranceSubForm from './AutomobileInsuranceSubForm';\r\nimport { fleetIndividualInsurance } from '../../../utils/constants/formConstats';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\n\r\nconst FormRadioController = ({ field: { onChange }, field, parentobject, condition, ...props }) => {\r\n const { values, setFieldValue } = props.form;\r\n const keyValue = ['expirationDate'];\r\n const handleChange = params => {\r\n if (params.target.value === condition) {\r\n Object.keys(values[parentobject]).forEach(key =>\r\n setFieldValue(`${parentobject}.${key}`, keyValue.includes(key) ? null : ''),\r\n );\r\n }\r\n onChange(params);\r\n };\r\n return ;\r\n};\r\n\r\nconst InsurancePolicyForm = ({ handleSubmit, policies, loading, success, error, allowUpdate, companyId }) => {\r\n const classes = useStyles();\r\n const { isBasicContractor } = useCompanyInfo(companyId);\r\n\r\n if (loading && !Object.keys(policies).length) {\r\n return ;\r\n }\r\n\r\n const setAmountOnSubmit = value => (value ? refineNumberString(`${value}`) : null);\r\n\r\n const onSubmit = values => {\r\n const { workersCompensation, generalLiability, vehicle } = values;\r\n const newValues = {\r\n ...values,\r\n workersCompensation: {\r\n ...workersCompensation,\r\n isSelfInsured: workersCompensation.isSelfInsured === enums.yesno.Yes,\r\n amount: setAmountOnSubmit(workersCompensation.amount),\r\n },\r\n generalLiability: {\r\n ...generalLiability,\r\n amount: setAmountOnSubmit(generalLiability.amount),\r\n },\r\n vehicle: {\r\n ...vehicle,\r\n hasVehicleInsurance: vehicle.hasVehicleInsurance === enums.yesno.Yes,\r\n amount: setAmountOnSubmit(vehicle.amount),\r\n },\r\n };\r\n\r\n handleSubmit(newValues);\r\n };\r\n\r\n const initialValues = formatDateForInitialValues(changeNullToEmptyString(policies));\r\n\r\n const { workersCompensation, vehicle } = initialValues;\r\n workersCompensation.isSelfInsured = getValueForRadioButton(workersCompensation.isSelfInsured);\r\n vehicle.hasVehicleInsurance = getValueForRadioButton(vehicle.hasVehicleInsurance);\r\n\r\n return (\r\n \r\n {props => {\r\n const {\r\n workersCompensation: { isSelfInsured },\r\n vehicle: { hasVehicleInsurance },\r\n } = props.values;\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Company Contact for Insurance Information\r\n \r\n \r\n\r\n \r\n {!isBasicContractor && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n {\r\n // \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Are you self insured for Workers' Compensation Insurance?\r\n \r\n \r\n \r\n \r\n {isSelfInsured === enums.yesno.No && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Do you have company Automobile Insurance?\r\n \r\n \r\n \r\n {hasVehicleInsurance === enums.yesno.Yes && (\r\n <>\r\n \r\n \r\n \r\n Do you have fleet or individual vehicle Automobile Insurance?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {allowUpdate && (\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default InsurancePolicyForm;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useParams } from 'react-router-dom';\r\nimport { Helmet } from 'react-helmet';\r\n\r\nimport { title, sectionKey } from '../../routes/path';\r\nimport { currentCompany } from '../../../actionTypes';\r\nimport InsurancePolicyForm from '../../containers/InsurancePolicyForm';\r\nimport { formatPageTitle } from '../../../utils/textFormaters';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\n\r\nconst InsurancePolicyPage = () => {\r\n const dispatch = useDispatch();\r\n const { id } = useParams();\r\n const { companyId, companyName } = useCompanyInfo(id);\r\n const { allowUpdate } = useUserPermissions(companyId);\r\n\r\n const { loading, policies, success, error } = useSelector(state => state.currentCompany.insurancePolicy);\r\n\r\n const onSubmit = values => {\r\n dispatch({\r\n type: currentCompany.insurancePolicy.update.start,\r\n payload: { companyId, values, sectionKey: sectionKey.private.company.insurancePolicies },\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n dispatch({ type: currentCompany.insurancePolicy.get.start, payload: { companyId } });\r\n }, [companyId, dispatch]);\r\n\r\n return (\r\n <>\r\n \r\n {formatPageTitle(title.private.company.insurancePolicies, { companyName })} \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default InsurancePolicyPage;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n height: 40,\r\n },\r\n title: {\r\n margin: theme.spacing(3, 0),\r\n },\r\n calendarWrapper: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n tableFormWrapper: {\r\n marginBottom: theme.spacing(4),\r\n overflow: 'hidden',\r\n },\r\n tableWrapper: {\r\n marginBottom: theme.spacing(4),\r\n },\r\n buttonSection: {\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import { createEnum } from '../actionTypesHelpers';\r\n\r\nexport const bussinessFormTypes = createEnum({\r\n 'S-Corp': 'SCorp',\r\n 'C-Corp': 'CCorp',\r\n Partnership: 'Partnership',\r\n 'Limited Liability Company': 'LimitedLiabilityCompany',\r\n});\r\n\r\nexport default Object.keys(bussinessFormTypes).map(key => ({\r\n label: key,\r\n value: bussinessFormTypes[key],\r\n}));\r\n","import { createEnum } from '../actionTypesHelpers';\r\n\r\nconst options = {\r\n 'Official and managers': null,\r\n Professionals: null,\r\n Technicians: null,\r\n Sales: null,\r\n 'Office and clerical': null,\r\n 'Craft Workers (skilled)': null,\r\n 'Operatives (semiskilled)': null,\r\n 'Laborers (unskilled)': null,\r\n 'Service workers': null,\r\n};\r\n\r\nconst typesEnum = createEnum(options);\r\nexport default Object.keys(typesEnum).map(key => ({\r\n label: key,\r\n value: typesEnum[key],\r\n}));\r\n","import React, { useEffect } from 'react';\r\nimport { Grid } from '@material-ui/core';\r\nimport { FastField, Formik } from 'formik';\r\n\r\nimport FormInput from '../../../components/FormInput';\r\nimport useStyles from '../styles';\r\nimport { createOrganizationInfoSchema } from '../../../../utils/validate/shemas';\r\nimport businessFormTypes from '../../../../utils/constants/businessFormTypes';\r\nimport FormSelect from '../../../components/FormSelect';\r\nimport FormDatePicker from '../../../components/FormDataPicker';\r\nimport UsaStates from '../../../../utils/constants/usaStates';\r\nimport eeoCategoryTypes from '../../../../utils/constants/eeoCategoryTypes';\r\nimport FormAutocomplete from '../../../components/FormAutocomplete';\r\n\r\nconst WatchEffect = ({ dirty, isValid, values, formUpdate }) => {\r\n useEffect(() => {\r\n formUpdate(values, dirty, isValid);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dirty, values, isValid]);\r\n return null;\r\n};\r\n\r\nconst OrganizationInfoSubForm = ({ handleSubmit, initialValues, formUpdate }) => {\r\n const classes = useStyles();\r\n return (\r\n \r\n {props => (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default OrganizationInfoSubForm;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Grid, Typography } from '@material-ui/core';\r\nimport isEqual from 'lodash.isequal';\r\n\r\nimport { orgInfoTableSchema } from '../../../utils/validate/shemas';\r\nimport useStyles from './styles';\r\nimport PageLoader from '../../components/PageLoader';\r\nimport FormBody from '../../components/FormBody';\r\nimport LoadingButton from '../../components/LoadingButton';\r\nimport { changeNullToEmptyString, formatDateForInitialValues } from '../../../utils/containersHelpers';\r\nimport OrganizationInfoSubForm from './OrganizationInfoSubForm';\r\nimport CommonTableForm from '../CommonTable';\r\nimport FormNumberInput from '../../components/FormNumberInput';\r\nimport PromptNotification from '../../components/PromptComponent';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport { getLastYearsOptions } from '../../../utils/constants/yearHelper';\r\n\r\nconst maxAmountOfYears = 3;\r\n\r\nconst getAverage = list => {\r\n const sum = list.reduce((acc, currentValue, index) => {\r\n return index <= 2 ? acc + Number(currentValue.number) : acc;\r\n }, 0);\r\n\r\n const amountOfYears = list.length > maxAmountOfYears ? maxAmountOfYears : list.length;\r\n const average = sum / amountOfYears || 0;\r\n return Number.parseFloat(average).toFixed(1);\r\n};\r\n\r\nconst transformTableValues = values =>\r\n values.map(item => ({\r\n id: item.saveId,\r\n year: item.year,\r\n number: parseInt(item.amount),\r\n }));\r\n\r\nconst OrganizationInfoForm = ({\r\n companyId,\r\n organizationInfo,\r\n organizationArrays,\r\n handleSubmit,\r\n loading,\r\n success,\r\n error,\r\n allowUpdate,\r\n requestInProgress,\r\n}) => {\r\n const { isBasicContractor } = useCompanyInfo(companyId);\r\n\r\n const classes = useStyles();\r\n\r\n const [formStatus, setFormStatus] = useState({\r\n values: {},\r\n dirty: false,\r\n isValid: isBasicContractor,\r\n });\r\n\r\n const [tableStatus, setTableStatus] = useState({\r\n values: organizationArrays,\r\n changed: false,\r\n });\r\n\r\n const initialValues = formatDateForInitialValues(changeNullToEmptyString(organizationInfo));\r\n\r\n const [averageNumberOfEmployees, setAverageNumberOfEmployees] = useState(initialValues.averageNumberOfEmployees);\r\n\r\n useEffect(() => {\r\n setAverageNumberOfEmployees(initialValues.averageNumberOfEmployees);\r\n }, [initialValues.averageNumberOfEmployees]);\r\n\r\n const handleSubmitOnForms = () => {\r\n const valuesToSend = {\r\n organizationInfo: {\r\n ...formStatus.values,\r\n averageNumberOfEmployees,\r\n },\r\n organizationArrays: transformTableValues(tableStatus.values),\r\n };\r\n handleSubmit(valuesToSend);\r\n\r\n setFormStatus({\r\n ...formStatus,\r\n dirty: false,\r\n isValid: isBasicContractor,\r\n });\r\n\r\n setTableStatus({\r\n ...tableStatus,\r\n changed: false,\r\n });\r\n };\r\n\r\n if (loading && !Object.keys(initialValues).length) return ;\r\n\r\n const canSubmit = (formStatus.isValid && formStatus.dirty) || (formStatus.isValid && tableStatus.changed);\r\n\r\n const tableData = organizationArrays.map(item => ({\r\n ...item,\r\n saveId: item.id,\r\n id: item.year,\r\n amount: item.number,\r\n }));\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {!isBasicContractor && (\r\n setFormStatus({ values, dirty, isValid })}\r\n />\r\n )}\r\n \r\n \r\n Average Number of Employees\r\n \r\n \r\n {\r\n setAverageNumberOfEmployees(getAverage(transformTableValues(values)));\r\n setTableStatus({\r\n values,\r\n changed: !isEqual(values, tableData),\r\n });\r\n }}\r\n label=\"Employees Number\"\r\n initialTableValues={{ year: '', amount: '' }}\r\n fieldName=\"amount\"\r\n maskType=\"fromOne\"\r\n fieldComponent={FormNumberInput}\r\n allowUpdate={allowUpdate}\r\n loading={loading}\r\n validationSchema={orgInfoTableSchema}\r\n getYearsOptions={getLastYearsOptions}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Average Number of Employees over the last three years\r\n \r\n \r\n \r\n \r\n {averageNumberOfEmployees}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {allowUpdate && (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\nexport default OrganizationInfoForm;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useParams } from 'react-router-dom';\r\nimport { Helmet } from 'react-helmet';\r\n\r\nimport { currentCompany } from '../../../actionTypes';\r\nimport OrganizationInfoForm from '../../containers/CreateOrganizationInfoForm';\r\nimport { title, sectionKey } from '../../routes/path';\r\nimport { formatPageTitle } from '../../../utils/textFormaters';\r\nimport { changeEmptyStringToNull } from '../../../utils/containersHelpers';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\n\r\nconst OrganizationInfo = () => {\r\n const dispatch = useDispatch();\r\n const { id } = useParams();\r\n\r\n const { companyId, companyName } = useCompanyInfo(id);\r\n const { allowUpdate } = useUserPermissions(companyId);\r\n\r\n const { organizationInfo, organizationArrays, loading, requestInProgress, success, error } = useSelector(\r\n store => store.currentCompany.organization,\r\n );\r\n\r\n useEffect(() => {\r\n dispatch({ type: currentCompany.organizationInfo.get.start, companyId });\r\n }, [companyId, dispatch]);\r\n\r\n const handleSubmit = values => {\r\n const { organizationInfo, organizationArrays } = values;\r\n const formattedValues = changeEmptyStringToNull(organizationInfo);\r\n\r\n dispatch({\r\n type: currentCompany.organizationInfo.update.start,\r\n payload: {\r\n companyId,\r\n organizationInfo: formattedValues,\r\n organizationArrays,\r\n sectionKey: sectionKey.private.company.organizationInformation,\r\n },\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {formatPageTitle(title.private.company.organizationInformation, { companyName })}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default OrganizationInfo;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n tableTitle: {\r\n backgroundColor: theme.palette.grey[500],\r\n },\r\n columnTitle: {\r\n backgroundColor: theme.palette.grey[300],\r\n },\r\n tableBody: {\r\n backgroundColor: theme.palette.grey[50],\r\n },\r\n checkboxContainer: {\r\n margin: theme.spacing(0),\r\n },\r\n titleOffset: {\r\n marginBottom: theme.spacing(2),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Formik, FastField } from 'formik';\r\nimport { Grid, Table, TableHead, TableBody, TableRow, TableCell, Typography } from '@material-ui/core';\r\nimport get from 'lodash.get';\r\n\r\nimport LoadingButton from '../../components/LoadingButton';\r\nimport FormCheckbox from '../../components/FormCheckbox';\r\nimport PageLoader from '../../components/PageLoader';\r\nimport FormBody from '../../components/FormBody';\r\nimport useStyles from './styles';\r\nimport PromptNotification from '../../components/PromptComponent';\r\n\r\nconst CategoriesForm = ({\r\n categories,\r\n groups,\r\n handleSubmit,\r\n loading,\r\n success,\r\n error,\r\n allowUpdate,\r\n allowedCategories,\r\n}) => {\r\n const classes = useStyles();\r\n\r\n const allCategories = groups.reduce((acc, group) => [...acc, ...group.workCategories], []);\r\n\r\n const initialValues = allCategories.reduce((acc, categoryId) => {\r\n return {\r\n ...acc,\r\n [categoryId]: {\r\n isEmployee: allowedCategories.includes(categoryId) && get(categories, `${categoryId}.isEmployee`, false),\r\n isSubContractor:\r\n allowedCategories.includes(categoryId) && get(categories, `${categoryId}.isSubContractor`, false),\r\n },\r\n };\r\n }, {});\r\n\r\n if (loading && !groups.length) {\r\n return ;\r\n }\r\n\r\n const normalizeSubmit = values => {\r\n const data = Object.keys(values)\r\n .map(id => ({ id, ...values[id] }))\r\n .filter(item => item.isEmployee || item.isSubContractor);\r\n handleSubmit(data);\r\n };\r\n\r\n return (\r\n \r\n {props => (\r\n <>\r\n \r\n \r\n \r\n \r\n Check the categories in which you are interested in bidding and in which you are qualified to perform\r\n work. Attach additional information clarifying capabilities and specialties\r\n \r\n \r\n {groups.map(group => (\r\n \r\n \r\n \r\n \r\n \r\n {group.name}\r\n \r\n \r\n \r\n Employee \r\n Sub-contractor \r\n Work Category \r\n \r\n \r\n \r\n {group.workCategories.map(category => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {categories[category].name} \r\n \r\n ))}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n {allowUpdate && (\r\n \r\n )}\r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default CategoriesForm;\r\n","import React, { useEffect } from 'react';\r\nimport { useParams } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Helmet } from 'react-helmet';\r\n\r\nimport { currentCompany } from '../../../actionTypes';\r\nimport CategoriesForm from '../../containers/CategoriesForm';\r\nimport { title, sectionKey } from '../../routes/path';\r\nimport { formatPageTitle } from '../../../utils/textFormaters';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\n\r\nconst WorkCategories = () => {\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n\r\n const { companyId, companyName } = useCompanyInfo(id);\r\n const { allowUpdate } = useUserPermissions(companyId);\r\n\r\n const categoriesEntity = useSelector(state => state.entity.workCategory);\r\n const groups = useSelector(state =>\r\n state.currentCompany.workCategory.groups.map(id => state.entity.workCategoryGroup[id]),\r\n );\r\n const { success, error, loading, categories } = useSelector(state => state.currentCompany.workCategory);\r\n\r\n useEffect(() => {\r\n dispatch({ type: currentCompany.workCategory.get.start, payload: { companyId } });\r\n }, [companyId, dispatch]);\r\n\r\n const handleSubmit = values =>\r\n dispatch({\r\n type: currentCompany.workCategory.update.start,\r\n payload: { companyId, values, sectionKey: sectionKey.private.company.workCategories },\r\n });\r\n\r\n return (\r\n <>\r\n \r\n {formatPageTitle(title.private.company.workCategories, { companyName })}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default WorkCategories;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n checkBoxItem: {\r\n display: 'flex',\r\n justifyContent: 'row',\r\n alignItems: 'center',\r\n '& .MuiFormControlLabel-label': {\r\n fontSize: theme.typography.h5.fontSize,\r\n },\r\n },\r\n collapseRow: {\r\n width: '100%',\r\n },\r\n collapseRowInner: {\r\n padding: theme.spacing(2, 0, 0, 2),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Formik, FastField } from 'formik';\r\nimport { Grid, Collapse } from '@material-ui/core';\r\n\r\nimport FormBody from '../../components/FormBody';\r\nimport LoadingButton from '../../components/LoadingButton';\r\nimport PageLoader from '../../components/PageLoader';\r\nimport FormCheckbox from '../../components/FormCheckbox';\r\nimport useStyles from './styles';\r\nimport PromptNotification from '../../components/PromptComponent';\r\nimport FormInput from '../../components/FormInput';\r\nimport { servicesPerformedSchema } from '../../../utils/validate/shemas';\r\n\r\nconst ServicesPerformedForm = ({\r\n services,\r\n others,\r\n companyServices,\r\n handleSubmit,\r\n loading,\r\n success,\r\n error,\r\n allowUpdate,\r\n}) => {\r\n const classes = useStyles();\r\n\r\n if (!services.length) {\r\n return ;\r\n }\r\n\r\n const baseItems = {\r\n others: !!others,\r\n otherText: others || '',\r\n };\r\n\r\n const initialValues = services.reduce((acc, currentItem) => {\r\n return {\r\n ...acc,\r\n [`${currentItem.id}`]: companyServices.includes(currentItem.id),\r\n };\r\n }, baseItems);\r\n\r\n const onSubmit = values => {\r\n const checkedIds = Object.keys(values)\r\n .filter(key => values[key] && !Object.keys(baseItems).includes(key))\r\n .map(key => ({ id: parseInt(key) }));\r\n handleSubmit({ keys: checkedIds, othersText: values.others ? values.otherText : null });\r\n };\r\n return (\r\n \r\n {props => (\r\n <>\r\n \r\n \r\n \r\n \r\n {services.map(service => (\r\n \r\n \r\n \r\n ))}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {allowUpdate && (\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ServicesPerformedForm;\r\n","import React, { useEffect } from 'react';\r\nimport { useParams } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Helmet } from 'react-helmet';\r\n\r\nimport { currentCompany } from '../../../actionTypes';\r\nimport ServicesPerformedForm from '../../containers/ServicesPerformedForm';\r\nimport { title, sectionKey } from '../../routes/path';\r\nimport { formatPageTitle } from '../../../utils/textFormaters';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\n\r\nconst ServicesPerformedPage = () => {\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n const { companyId, companyName } = useCompanyInfo(id);\r\n const { allowUpdate } = useUserPermissions(companyId);\r\n\r\n const services = useSelector(state => state.currentCompany.service.services.map(id => state.entity.service[id]));\r\n const { loading, success, error, others } = useSelector(state => state.currentCompany.service);\r\n\r\n const companyServices = useSelector(state => state.currentCompany.service.companyServices);\r\n\r\n useEffect(() => {\r\n dispatch({ type: currentCompany.service.get.start, payload: { companyId, params: {} } });\r\n }, [companyId, dispatch]);\r\n\r\n const onSubmit = ({ keys, othersText }) => {\r\n dispatch({\r\n type: currentCompany.service.update.start,\r\n payload: { companyId, values: keys, other: othersText, sectionKey: sectionKey.private.company.services },\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {formatPageTitle(title.private.company.services, { companyName })}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ServicesPerformedPage;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n formWrapper: {\r\n marginTop: theme.spacing(1),\r\n padding: theme.spacing(2, 0),\r\n },\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Button, Grid, Box } from '@material-ui/core';\r\nimport { FastField, Formik } from 'formik';\r\n\r\nimport { referencesFormSchema } from '../../../../utils/validate/shemas';\r\nimport FormInput from '../../../components/FormInput';\r\nimport FormNumberInput from '../../../components/FormNumberInput';\r\nimport usaStates from '../../../../utils/constants/usaStates';\r\nimport useStyles from './styles';\r\nimport PromptNotification from '../../../components/PromptComponent';\r\nimport FormAutocomplete from '../../../components/FormAutocomplete';\r\n\r\nconst ReferencesSubForm = ({ handleSubmit, setValueToShowForm }) => {\r\n const classes = useStyles();\r\n const initialValues = {\r\n id: 0,\r\n customerName: '',\r\n typeOfWork: '',\r\n jobSize: '',\r\n contactInfo: {\r\n contactPersonFirstName: '',\r\n contactPersonLastName: '',\r\n phoneNumber: '',\r\n streetAddress: { city: '', state: '', zip: '' },\r\n },\r\n };\r\n\r\n return (\r\n \r\n {props => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n props.handleSubmit()}\r\n >\r\n Add\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default ReferencesSubForm;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n textArea: {\r\n width: '100%',\r\n borderWidth: 1,\r\n borderColor: theme.palette.grey['400'],\r\n borderRadius: theme.spacing(0.5),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import refineNumberString from './refineNumberString';\r\n\r\nexport const setAmountOnSubmit = value => {\r\n let amount = 0;\r\n if (value) {\r\n if (typeof value === 'string') {\r\n amount = refineNumberString(value);\r\n } else {\r\n amount = value;\r\n }\r\n }\r\n return amount;\r\n};\r\n","import React from 'react';\r\nimport { Grid, Typography } from '@material-ui/core';\r\nimport { FastField, Formik } from 'formik';\r\n\r\nimport { largestJobForm } from '../../../utils/validate/shemas';\r\nimport FormInput from '../../components/FormInput';\r\nimport FormNumberInput from '../../components/FormNumberInput';\r\nimport LoadingButton from '../../components/LoadingButton';\r\nimport FormBody from '../../components/FormBody';\r\nimport {\r\n changeEmptyStringToNull,\r\n changeNullToEmptyString,\r\n changeZeroToEmptyString,\r\n} from '../../../utils/containersHelpers';\r\nimport useStyles from './styles';\r\nimport { setAmountOnSubmit } from '../../../utils/textFormaters/setAmountOnSubmit';\r\nimport PromptNotification from '../../components/PromptComponent';\r\n\r\nconst LargestJobForm = ({ handleSubmit, data, loading, success, error, allowUpdate }) => {\r\n const classes = useStyles();\r\n\r\n const onSubmit = values => {\r\n const newValues = changeEmptyStringToNull(values);\r\n const formattedValues = {\r\n ...newValues,\r\n amount: setAmountOnSubmit(newValues.amount),\r\n };\r\n handleSubmit(formattedValues);\r\n };\r\n\r\n const initialValues = changeZeroToEmptyString(changeNullToEmptyString(data), ['amount']);\r\n\r\n return (\r\n \r\n {props => (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n Largest Job during the last 3 years\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {allowUpdate && (\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default LargestJobForm;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n inputRow: {\r\n textAlign: 'start',\r\n margin: theme.spacing(0.5, 0),\r\n },\r\n buttons: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { CircularProgress, Grid, TableCell, TableRow } from '@material-ui/core';\r\nimport { FastField, Formik } from 'formik';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport DoneIcon from '@material-ui/icons/Done';\r\n\r\nimport { referencesFormSchema } from '../../../../utils/validate/shemas';\r\nimport FormSelect from '../../../components/FormSelect';\r\nimport FormInput from '../../../components/FormInput';\r\nimport FormNumberInput from '../../../components/FormNumberInput';\r\nimport usaStates from '../../../../utils/constants/usaStates';\r\nimport { changeNullToEmptyString, changeZeroToEmptyString } from '../../../../utils/containersHelpers';\r\nimport useStyles from './styles';\r\nimport PromptNotification from '../../../components/PromptComponent';\r\nimport TooltipWrapper from '../../../components/TooltipWrapper';\r\n\r\nconst ReferencesEditForm = ({ values, loadingOnTable, onConfirmEditReference, setItemToEdit }) => {\r\n const classes = useStyles();\r\n\r\n const initialValues = changeZeroToEmptyString(changeNullToEmptyString(values), ['jobSize']);\r\n\r\n return (\r\n \r\n {props => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loadingOnTable ? (\r\n \r\n ) : (\r\n <>\r\n \r\n props.handleSubmit()}>\r\n \r\n \r\n \r\n \r\n setItemToEdit(null)}>\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default ReferencesEditForm;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n tableWrapper: {\r\n borderTopWidth: 0.5,\r\n borderTopColor: theme.palette.grey[100],\r\n borderTopStyle: 'solid',\r\n },\r\n table: {\r\n '& .MuiTableCell-root': {\r\n padding: theme.spacing(0.5),\r\n },\r\n '& > tbody > tr > td:last-child': {\r\n width: theme.spacing(13),\r\n },\r\n },\r\n title: {\r\n padding: theme.spacing(1.5),\r\n },\r\n buttons: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport {\r\n Typography,\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableContainer,\r\n TableHead,\r\n TableRow,\r\n Paper,\r\n Grid,\r\n} from '@material-ui/core';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\n\r\nimport ReferenseEditForm from '../EditForm';\r\nimport ModalDialog from '../../../components/ModalConfirmation';\r\nimport useStyles from './styles';\r\nimport TooltipWrapper from '../../../components/TooltipWrapper';\r\nimport { addDollarCommaSigns } from '../../../../utils/containersHelpers';\r\n\r\nconst ReferenceTable = ({\r\n references,\r\n setIsModalOpen,\r\n setItemToDelete,\r\n allowUpdate,\r\n setItemToEdit,\r\n onConfirmEditReference,\r\n onConfirmDeleteReference,\r\n itemToEdit,\r\n isModalOpen,\r\n loadingOnTable,\r\n}) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Customer Name\r\n \r\n \r\n Address\r\n \r\n \r\n Type Of Work\r\n \r\n \r\n Job Size\r\n \r\n \r\n Contact Person\r\n \r\n \r\n Phone Number\r\n \r\n \r\n \r\n \r\n \r\n {references && references.length > 0 ? (\r\n references.map((row, index) => {\r\n return row.id === itemToEdit ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n {row.customerName}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {row.contactInfo.streetAddress.city}\r\n \r\n \r\n {row.contactInfo.streetAddress.state}\r\n {row.contactInfo.streetAddress.zip}\r\n \r\n \r\n \r\n \r\n {row.typeOfWork}\r\n \r\n \r\n \r\n \r\n {addDollarCommaSigns(row.jobSize || 0)}\r\n \r\n \r\n \r\n \r\n \r\n {`${row.contactInfo.contactPersonFirstName} ${row.contactInfo.contactPersonLastName}`}\r\n \r\n \r\n \r\n \r\n \r\n {row.contactInfo.phoneNumber && row.contactInfo.phoneNumber}\r\n \r\n {allowUpdate && (\r\n \r\n \r\n \r\n setItemToEdit(row.id)}\r\n >\r\n \r\n \r\n \r\n \r\n {\r\n setIsModalOpen(true);\r\n setItemToDelete(row.id);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {isModalOpen && (\r\n setIsModalOpen(false)}\r\n onConfirm={onConfirmDeleteReference}\r\n />\r\n )}\r\n \r\n );\r\n })\r\n ) : (\r\n \r\n \r\n You don't have any references yet\r\n \r\n \r\n )}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ReferenceTable;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Grid, Typography } from '@material-ui/core';\r\n\r\nimport ReferencesSubForm from './ReferenceSubForm';\r\nimport LargestJobForm from '../LargestJobForm';\r\nimport ReferenceTable from '../../containers/ReferencesForm/Table';\r\nimport PageLoader from '../../components/PageLoader';\r\nimport LoadingButton from '../../components/LoadingButton';\r\nimport { changeEmptyStringToNull } from '../../../utils/containersHelpers';\r\nimport { setAmountOnSubmit } from '../../../utils/textFormaters/setAmountOnSubmit';\r\n\r\nconst ReferencesForm = ({\r\n mapedReferences,\r\n handleSubmit,\r\n handleDelete,\r\n handleUpdate,\r\n largestJobData,\r\n loading,\r\n error,\r\n success,\r\n handleUpdateLargestJob,\r\n allowUpdate,\r\n loadingOnTable,\r\n}) => {\r\n const [references, setReferences] = useState([]);\r\n const [isModalOpen, setIsModalOpen] = useState(false);\r\n const [itemToDelete, setItemToDelete] = useState(null);\r\n const [toShowForm, setValueToShowForm] = useState(false);\r\n const [itemToEdit, setItemToEdit] = useState(null);\r\n\r\n useEffect(() => {\r\n setReferences(mapedReferences);\r\n }, [mapedReferences]);\r\n\r\n useEffect(() => {\r\n if (!loadingOnTable) {\r\n setItemToEdit(null);\r\n }\r\n }, [loadingOnTable]);\r\n\r\n const handleOpenFormClick = () => {\r\n setValueToShowForm(true);\r\n };\r\n\r\n if (loading && !references.length && !Object.keys(largestJobData).length) return ;\r\n\r\n const onConfirmDeleteReference = () => {\r\n handleDelete(itemToDelete);\r\n setIsModalOpen(false);\r\n setItemToDelete(null);\r\n };\r\n\r\n const onSubmitOnCreate = values => {\r\n const newValues = changeEmptyStringToNull(values);\r\n const formattedValues = {\r\n ...newValues,\r\n jobSize: setAmountOnSubmit(newValues.jobSize),\r\n };\r\n handleSubmit(formattedValues);\r\n setValueToShowForm(false);\r\n };\r\n\r\n const onConfirmEditReference = values => {\r\n if (values.id === itemToEdit) {\r\n const newValues = changeEmptyStringToNull(values);\r\n newValues.jobSize = setAmountOnSubmit(newValues.jobSize);\r\n handleUpdate(newValues, itemToEdit);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n {allowUpdate && (\r\n \r\n \r\n Customer references\r\n \r\n \r\n \r\n )}\r\n {toShowForm && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ReferencesForm;\r\n","import React, { useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { useParams } from 'react-router-dom';\r\nimport { Helmet } from 'react-helmet';\r\n\r\nimport ReferencesForm from '../../containers/ReferencesForm';\r\nimport currentCompany from '../../../actionTypes/currentCompany';\r\nimport { title, sectionKey } from '../../routes/path';\r\nimport { formatPageTitle } from '../../../utils/textFormaters';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\n\r\nconst ReferencesPage = () => {\r\n const dispatch = useDispatch();\r\n const { id } = useParams();\r\n const { companyId, companyName } = useCompanyInfo(id);\r\n const { allowUpdate } = useUserPermissions(companyId);\r\n\r\n const { references, loadingOnTable, loading, largestJobInfo, error, success } = useSelector(\r\n state => state.currentCompany.reference,\r\n );\r\n\r\n useEffect(() => {\r\n dispatch({ type: currentCompany.reference.get.start, payload: { companyId } });\r\n }, [companyId, dispatch]);\r\n\r\n const handleSubmit = values => {\r\n dispatch({\r\n type: currentCompany.reference.create.start,\r\n payload: { companyId, values, sectionKey: sectionKey.private.company.references },\r\n });\r\n };\r\n\r\n const handleUpdate = (values, itemId) => {\r\n dispatch({\r\n type: currentCompany.reference.update.start,\r\n payload: { companyId, values, itemId, sectionKey: sectionKey.private.company.references },\r\n });\r\n };\r\n\r\n const handleDelete = itemId => {\r\n dispatch({\r\n type: currentCompany.reference.delete.start,\r\n payload: { companyId, itemId, sectionKey: sectionKey.private.company.references },\r\n });\r\n };\r\n\r\n const handleUpdateLargestJob = values => {\r\n dispatch({\r\n type: currentCompany.reference.updateJobInfo.start,\r\n payload: { companyId, values, sectionKey: sectionKey.private.company.references },\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {formatPageTitle(title.private.company.references, { companyName })}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ReferencesPage;\r\n","import * as Yup from 'yup';\r\n\r\nimport { enums } from '../../../utils/constants/formConstats';\r\nimport errors from '../../../utils/validate/errorMessages';\r\n\r\nconst validateField = {\r\n YesNo: Yup.string().oneOf(Object.keys(enums.yesno), errors.valueIncorrect),\r\n YesNoNA: Yup.string().oneOf(Object.keys(enums.yesnona), errors.valueIncorrect),\r\n Text: Yup.string().min(10, errors.requiredDescriptionMin10),\r\n Section: Yup.string(),\r\n Number: Yup.mixed().when({\r\n is: value => value !== 0,\r\n then: shema => shema.string,\r\n otherwise: shema => shema.number,\r\n }),\r\n Frequency: Yup.string().oneOf(Object.keys(enums.frequency), errors.valueIncorrect),\r\n Uploads: Yup.object(),\r\n};\r\n\r\nconst sectionType = 'Section';\r\n\r\nconst defaultSchema = Yup.object().shape({});\r\n\r\nexport default (feilds, schema = defaultSchema) =>\r\n Object.keys(feilds).reduce((acc, id) => {\r\n // if field type 'Section' - dont need to validate\r\n if (feilds[id].type === sectionType) return acc;\r\n // if (feilds[id].type === 'Uploads') return acc;\r\n\r\n return acc.concat(\r\n Yup.object().shape({\r\n [id]: validateField[feilds[id].type].test({\r\n name: id,\r\n message: errors.required,\r\n test: function(value) {\r\n const formValues = this.parent;\r\n\r\n const hasParent = feilds[id].parent;\r\n\r\n // if field is not required\r\n if (!feilds[id].isRequiredForForm) {\r\n return true;\r\n }\r\n\r\n // check if field has parent\r\n if (!hasParent) {\r\n // check is value not empty\r\n if (feilds[id].type === 'Uploads') {\r\n return value.count > 0;\r\n }\r\n return value && value !== '';\r\n } else {\r\n const parentId = feilds[id].parent;\r\n const isParentSection = feilds[id].parent && feilds[parentId].type === sectionType;\r\n\r\n // if field hide - not required\r\n if (feilds[id].showOnCondition && formValues[parentId] !== feilds[id].parentAnswerCondition) {\r\n return true;\r\n }\r\n\r\n // if field parent is type 'Section' and it hide - not required\r\n if (\r\n isParentSection &&\r\n feilds[parentId].showOnCondition &&\r\n formValues[feilds[parentId].parent] !== feilds[parentId].parentAnswerCondition\r\n ) {\r\n return true;\r\n }\r\n\r\n // if field parent is type 'Section' and it not hide\r\n if (isParentSection && !feilds[parentId].showOnCondition) {\r\n if (feilds[id].type === 'Uploads') {\r\n return value.count > 0;\r\n }\r\n return value && value !== '';\r\n }\r\n\r\n // check is field valid and parent answers are equal with current\r\n const validValueRule = feilds[id].type === 'Uploads' ? value.count > 0 : value && value !== '';\r\n return isParentSection\r\n ? formValues[feilds[parentId].parent] === feilds[parentId].parentAnswerCondition && validValueRule\r\n : formValues[parentId] === feilds[id].parentAnswerCondition && validValueRule;\r\n }\r\n },\r\n }),\r\n }),\r\n );\r\n }, schema);\r\n","import React from 'react';\r\nimport { FastField } from 'formik';\r\n\r\nimport FormRadio from '../../../components/FormRadio';\r\n\r\nconst YesNoFieldType = ({ name, options }) => {\r\n return ;\r\n};\r\n\r\nexport default YesNoFieldType;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n textField: ({ isTextArea }) => ({\r\n position: 'relative',\r\n padding: theme.spacing(isTextArea ? 1 : 0, 0),\r\n '& .MuiInputBase-input': {\r\n paddingTop: theme.spacing(1),\r\n },\r\n }),\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { FastField } from 'formik';\r\nimport { Grid } from '@material-ui/core';\r\n\r\nimport FormInput from '../../../components/FormInput';\r\nimport { maxIntNumber } from '../../../../utils/constants/formConstats';\r\nimport useStyles from './styles';\r\n\r\nconst textAreaType = 'textarea';\r\nconst textType = 'text';\r\n\r\nconst formatTypes = {\r\n '{0}': {\r\n min: 0,\r\n max: maxIntNumber,\r\n number: 'integer',\r\n },\r\n '{0}%': {\r\n min: 0,\r\n max: 100,\r\n type: 'percentage',\r\n number: 'integer',\r\n },\r\n};\r\n\r\nconst TextFieldType = ({ name, label, type = 'text', format }) => {\r\n const classes = useStyles({ isTextArea: type === textAreaType });\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TextFieldType;\r\n","import React from 'react';\r\nimport { FastField } from 'formik';\r\nimport { Grid } from '@material-ui/core';\r\n\r\nimport FormSelect from '../../../components/FormSelect';\r\n\r\nconst FrequencyFieldType = ({ name, label, options }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default FrequencyFieldType;\r\n","import React from 'react';\r\nimport { Field } from 'formik';\r\n\r\nimport FileUploaderInput from '../../../components/FileUploaderInput';\r\n\r\nconst UploadFieldType = ({ label, name, sectionKey, expirationDate, companyId, disabled }) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default UploadFieldType;\r\n","import React from 'react';\r\n\r\nimport YesNoFieldType from './yesNoFieldType';\r\nimport TextFieldType from './textFieldType';\r\nimport FrequencyFieldType from './frequencyFieldType';\r\nimport UploadFieldType from './uploadFieldType';\r\nimport { yesnonaOptions, yesnoOptions, frequencyOptions } from '../../../../utils/constants/formConstats';\r\n\r\nconst FieldComponent = ({ detail, disabler, formikValues }) => {\r\n const types = {\r\n YesNo: ,\r\n YesNoNA: ,\r\n Section: null,\r\n Text: ,\r\n Number: ,\r\n Frequency: ,\r\n Uploads: (!disabler?.disablingFieldNames.includes(detail.key) || formikValues[disabler?.fieldName]) && (\r\n \r\n ),\r\n };\r\n return types[detail.type] || null;\r\n};\r\n\r\nexport default FieldComponent;\r\n","import React from 'react';\r\nimport { Formik } from 'formik';\r\n\r\nimport createValidationSchema from './validate';\r\nimport FieldComponent from './fields/fieldComponent';\r\n\r\nconst YesNoFormConstructor = ({\r\n initialValues,\r\n validateSchema,\r\n fields,\r\n onSubmit,\r\n children,\r\n enableReinitialize = true,\r\n disabler,\r\n}) => {\r\n const _children = children;\r\n\r\n const normalizeFields = fields.reduce((acc, item) => {\r\n return {\r\n ...acc,\r\n [item.key]: item,\r\n };\r\n }, {});\r\n\r\n const initialFields = fields.reduce((acc, item) => {\r\n return {\r\n ...acc,\r\n [item.key]: item.answer,\r\n };\r\n }, {});\r\n\r\n const validation = createValidationSchema(normalizeFields, validateSchema);\r\n\r\n const handleQuestionsSubmit = values =>\r\n onSubmit({\r\n ...values,\r\n ...Object.keys(normalizeFields).reduce(\r\n (acc, item) => ({\r\n ...acc,\r\n [item]: {\r\n ...normalizeFields[item],\r\n answer: values[item],\r\n },\r\n }),\r\n {},\r\n ),\r\n });\r\n\r\n return (\r\n \r\n {props => {\r\n const fieldStack = Object.keys(initialFields).reduce(\r\n (acc, key) => ({\r\n ...acc,\r\n [key]: ,\r\n }),\r\n {},\r\n );\r\n\r\n return _children({\r\n fields: fieldStack,\r\n handleSubmit: props.handleSubmit,\r\n submitCount: props.submitCount,\r\n errors: props.errors,\r\n touched: props.touched,\r\n setFieldTouched: props.setFieldTouched,\r\n setFieldValue: props.setFieldValue,\r\n dirty: props.dirty,\r\n isValid: props.isValid,\r\n values: props.values,\r\n });\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default YesNoFormConstructor;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n deepOffset: ({ deep }) => ({\r\n padding: theme.spacing(0, 0, 0, 1 * deep),\r\n }),\r\n parentContainer: ({ offsetTop }) => ({\r\n paddingTop: theme.spacing(offsetTop ? 1 : 0),\r\n paddingBottom: theme.spacing(1),\r\n }),\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { useEffect } from 'react';\r\nimport { Typography, Grid, Collapse } from '@material-ui/core';\r\n\r\nimport { createFileValue } from '../../../utils/pageHelpers';\r\nimport useStyles from './styles';\r\n\r\nconst textType = 'Text';\r\nconst sectionType = 'Section';\r\nconst uploadsType = 'Uploads';\r\n\r\nconst QuestionStructure = ({ show, values, item, fields, deep = 0, setFieldValue, setFieldTouched }) => {\r\n const classes = useStyles({ deep, offsetTop: item.type === sectionType });\r\n\r\n // this effect use for clean form value if current field is hide\r\n // its couldn't replace to field level because it broke FastField performance\r\n useEffect(() => {\r\n if (!show && fields[item.key]) {\r\n setFieldValue(item.key, item.type === uploadsType ? createFileValue(item.answer.list, true) : '', false);\r\n setFieldTouched(item.key, false, false);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [show]);\r\n\r\n return (\r\n (fields[item.key] && (\r\n \r\n
\r\n \r\n {item.type === textType || item.type === uploadsType ? (\r\n \r\n {fields[item.key]}\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n {item.text}\r\n \r\n \r\n \r\n {fields[item.key]}\r\n \r\n \r\n )}\r\n \r\n {!!item.children.length && (\r\n <>\r\n {item.children.map(level => (\r\n \r\n ))}\r\n \r\n )}\r\n
\r\n
\r\n )) ||\r\n null\r\n );\r\n};\r\n\r\nexport default React.memo(QuestionStructure);\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n parent: {\r\n padding: theme.spacing(0, 0, 2),\r\n },\r\n containerPaper: {\r\n padding: theme.spacing(2),\r\n },\r\n containerChild: {\r\n padding: theme.spacing(0, 0, 0, 4),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { useState } from 'react';\r\nimport { Typography, Box, IconButton, Popover } from '@material-ui/core';\r\nimport HelpOutlineIcon from '@material-ui/icons/HelpOutline';\r\n\r\nconst PopoverPopup = ({ content }) => {\r\n const [anchorEl, setAnchorEl] = useState(null);\r\n\r\n const handleOpenPopover = event => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n\r\n const handleClosePopover = () => {\r\n setAnchorEl(null);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {content}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default PopoverPopup;\r\n","import React from 'react';\r\nimport { FastField } from 'formik';\r\nimport { Grid, Typography } from '@material-ui/core';\r\n\r\nimport { environmentalSchema } from '../../../utils/validate/shemas';\r\nimport FormInput from '../../components/FormInput';\r\nimport PageLoader from '../../components/PageLoader';\r\nimport FormBody from '../../components/FormBody';\r\nimport LoadingButton from '../../components/LoadingButton';\r\nimport { recursiveInclude } from '../../../utils/containersHelpers';\r\nimport YesNoFormConstructor from '../YesNoFormConstructor';\r\nimport QuestionStructure from '../../components/QuestionStructure';\r\nimport { changeNullToEmptyString } from '../../../utils/containersHelpers';\r\nimport useStyles from './styles';\r\nimport PromptNotification from '../../components/PromptComponent';\r\nimport PopoverPopup from '../../components/PopoverPopup';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\n\r\nconst CreateEnvironmentalForm = ({\r\n healthProfile,\r\n loading,\r\n error,\r\n success,\r\n handleSubmit,\r\n requestInProgress,\r\n questions,\r\n companyId,\r\n allowUpdate,\r\n}) => {\r\n const classes = useStyles();\r\n const { isBasicContractor } = useCompanyInfo(companyId);\r\n\r\n if (loading || questions.length === 0) return ;\r\n\r\n const filterQuestions = isBasicContractor\r\n ? questions.filter(q => !(!q.requiredForBasicContractor && q.requiredForPsmContractor))\r\n : questions;\r\n\r\n const values = {\r\n id: 0,\r\n companyId,\r\n certifications: '',\r\n reportsToName: '',\r\n reportsToTitle: '',\r\n contactInfo: {\r\n phoneNumber: '',\r\n contactPersonFirstName: '',\r\n contactPersonLastName: '',\r\n contactPersonTitle: '',\r\n emailAddress: '',\r\n },\r\n ...healthProfile,\r\n };\r\n const initialValues = changeNullToEmptyString(values);\r\n\r\n const setQuestionStructure = recursiveInclude(filterQuestions);\r\n\r\n return (\r\n \r\n {({ fields, values, handleSubmit, setFieldValue, setFieldTouched, dirty, isValid }) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n Name of the highest ranking safety & health professional in your company:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {filterQuestions.filter(item => item.type !== 'Section').length > 0 && (\r\n \r\n {setQuestionStructure.children.map(item => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n \r\n {allowUpdate && (\r\n \r\n )}\r\n \r\n \r\n );\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default CreateEnvironmentalForm;\r\n","import React, { useEffect } from 'react';\r\nimport { Helmet } from 'react-helmet';\r\nimport { useParams } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { title, sectionKey } from '../../routes/path';\r\nimport { currentCompany } from '../../../actionTypes';\r\nimport CreateEnvironmentalForm from '../../containers/CreateEnvironmentalForm';\r\nimport { formatPageTitle } from '../../../utils/textFormaters';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\n\r\nconst sectionKeyPart = 'envmgmt';\r\n\r\nconst CreateEnvironmentalManagement = () => {\r\n const dispatch = useDispatch();\r\n const { id } = useParams();\r\n const { companyId, companyName } = useCompanyInfo(id);\r\n const { allowUpdate } = useUserPermissions(companyId);\r\n\r\n const { healthProfile, questions, loading, requestInProgress, success, error } = useSelector(\r\n state => state.currentCompany.healthProf,\r\n );\r\n\r\n useEffect(() => {\r\n dispatch({\r\n type: currentCompany.healthProf.get.start,\r\n payload: { sectionKey: sectionKeyPart, companyId, param: {} },\r\n });\r\n }, [companyId, dispatch]);\r\n\r\n const handleSubmit = submitValues => {\r\n const questionList = Object.keys(submitValues)\r\n .filter(key => key.includes(sectionKeyPart))\r\n .reduce((acc, key) => {\r\n return {\r\n ...acc,\r\n [key]: submitValues[key],\r\n };\r\n }, {});\r\n\r\n const updateProfile = Object.keys(submitValues)\r\n .filter(key => !key.includes(sectionKeyPart))\r\n .reduce((acc, key) => {\r\n return {\r\n ...acc,\r\n [key]: submitValues[key],\r\n };\r\n }, {});\r\n\r\n dispatch({\r\n type: currentCompany.healthProf.update.start,\r\n payload: {\r\n companyId,\r\n questions: Object.keys(questionList).map(key => questionList[key]),\r\n updateQuestions: Object.keys(questionList).map(key => questionList[key]),\r\n updateProfile,\r\n sectionKey: sectionKey.private.company.environmentalManagement,\r\n },\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {formatPageTitle(title.private.company.environmentalManagement, { companyName })} \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CreateEnvironmentalManagement;\r\n","import { createEnum } from '../actionTypesHelpers';\r\n\r\nexport const enumTypes = createEnum({\r\n Title: null,\r\n Text: null,\r\n YesNo: null,\r\n Number: null,\r\n Dropdown: null,\r\n Date: null,\r\n Paragraph: null,\r\n Link: null,\r\n File: null,\r\n});\r\n\r\nconst labelEnums = {\r\n YesNo: 'Yes/No',\r\n};\r\n\r\nfunction createOptionsEnum(obj) {\r\n return Object.keys(obj).reduce((acc, key) => [...acc, { value: key, label: labelEnums[key] || obj[key] }], []);\r\n}\r\n\r\nexport const typeOptions = createOptionsEnum(enumTypes);\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n buttonStyles: ({ loading }) => ({\r\n pointerEvents: loading ? 'none' : 'auto',\r\n }),\r\n error: {\r\n fontSize: theme.typography.h2.fontSize,\r\n color: theme.palette.error.main,\r\n marginRight: theme.spacing(2),\r\n },\r\n success: {\r\n fontSize: theme.typography.h2.fontSize,\r\n color: theme.palette.success.main,\r\n marginRight: theme.spacing(2),\r\n },\r\n loading: {\r\n marginRight: theme.spacing(2),\r\n },\r\n placeholder: {\r\n height: theme.spacing(5),\r\n padding: 0,\r\n },\r\n submitAppBar: {\r\n width: 'auto',\r\n bottom: 0,\r\n top: 'auto',\r\n textAlign: 'right',\r\n boxShadow: 'none',\r\n },\r\n fixed: ({ fixed }) =>\r\n fixed && {\r\n padding: theme.spacing(2),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Button, Grid, CircularProgress, AppBar } from '@material-ui/core';\r\nimport HighlightOffIcon from '@material-ui/icons/HighlightOff';\r\nimport CloudDoneIcon from '@material-ui/icons/CloudDone';\r\n\r\nimport useStyles from './styles';\r\n\r\nconst Wrapper = ({ fixed, className, children }) =>\r\n fixed ? (\r\n \r\n {children}\r\n \r\n ) : (\r\n children\r\n );\r\n\r\nconst FormButtons = ({\r\n fixed,\r\n handlePreview,\r\n hasValues,\r\n isValid,\r\n disabled,\r\n loading,\r\n error,\r\n success,\r\n onClick,\r\n position = 'flex-end',\r\n}) => {\r\n const classes = useStyles({ loading, fixed });\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading && }\r\n {!loading && error && }\r\n {!loading && success && !error && }\r\n \r\n save\r\n \r\n \r\n \r\n \r\n \r\n preview\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default FormButtons;\r\n","import React from 'react';\r\nimport { Grid, Fab, Typography } from '@material-ui/core';\r\nimport AddIcon from '@material-ui/icons/Add';\r\n\r\nconst AddRow = ({ handleAdd }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Add question \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AddRow;\r\n","import React from 'react';\r\nimport Switch from '@material-ui/core/Switch';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\n\r\nconst FormSwitch = ({ handleChange, size = 'small', field: { onChange, ...fieldProps }, ...props }) => {\r\n return (\r\n {\r\n handleChange && handleChange(e, fieldProps);\r\n onChange(e);\r\n }}\r\n />\r\n }\r\n />\r\n );\r\n};\r\n\r\nexport default FormSwitch;\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport FileUploader from '../../containers/FileUploader';\r\nimport formatPath from '../../../utils/textFormaters/formatPath';\r\n\r\nconst SingleFileUploaderController = ({\r\n form,\r\n value,\r\n error,\r\n companyId,\r\n handleUpdate,\r\n fileNameFieldName,\r\n handleDownload,\r\n uploaderTitle,\r\n uploadUrl,\r\n editable,\r\n disabled,\r\n}) => {\r\n const url = formatPath(uploadUrl, { companyId });\r\n\r\n const maxFileSizeUpload = useSelector(store => store.settings.settings.data.maxFileSizeMb);\r\n\r\n const { loading } = useSelector(store => store.addendumFile.addendumFile);\r\n\r\n const handleSaveFiles = newFiles => {\r\n handleUpdate(newFiles[0]);\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SingleFileUploaderController;\r\n","import React from 'react';\r\nimport get from 'lodash.get';\r\n\r\nimport SingleFileUploaderController from '../../layouts/SingleFileUploaderController';\r\n\r\nconst SingleFileUploaderInput = ({\r\n form,\r\n field,\r\n companyId,\r\n fileNameFieldName,\r\n label,\r\n handleDownload,\r\n uploadUrl,\r\n disabled,\r\n editable,\r\n}) => {\r\n const handleUpdate = file => {\r\n form.setFieldValue(fileNameFieldName, file?.description);\r\n form.setFieldTouched(field.name, true);\r\n form.setFieldValue(field.name, file?.fileId, true);\r\n };\r\n\r\n const error = get(form, `errors[${field.name}]`, undefined);\r\n const touched = get(form, `touched[${field.name}]`, undefined);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SingleFileUploaderInput;\r\n","import React from 'react';\r\nimport { Grid, IconButton } from '@material-ui/core';\r\nimport { SortableElement, SortableHandle } from 'react-sortable-hoc';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport DragIndicatorIcon from '@material-ui/icons/DragIndicator';\r\nimport { FastField } from 'formik';\r\n\r\nimport FormInput from '../../../components/FormInput';\r\n\r\nconst DragHandle = SortableHandle(() => );\r\n\r\nconst OptionItem = ({ name, handleRemove }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default SortableElement(OptionItem);\r\n","import React from 'react';\r\nimport get from 'lodash.get';\r\nimport { SortableContainer } from 'react-sortable-hoc';\r\nimport { FieldArray, useFormikContext } from 'formik';\r\nimport { Fab, Grid } from '@material-ui/core';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport arrayMove from 'array-move';\r\n\r\nimport OptionItem from '../OptionItem';\r\n\r\nconst SortableList = SortableContainer(({ arrayVal, name, arrayHelpers, handleRemove }) => (\r\n \r\n \r\n {arrayVal.map((item, index) => (\r\n handleRemove(arrayHelpers, index)}\r\n />\r\n ))}\r\n \r\n \r\n));\r\n\r\nconst OptionList = ({ name }) => {\r\n const { setFieldValue, values } = useFormikContext();\r\n const arrayVal = get(values, name, {});\r\n\r\n const handleAdd = ({ push }) => {\r\n push({ text: '' });\r\n };\r\n\r\n const onSortEnd = ({ oldIndex, newIndex }) => {\r\n const updateListOptions = arrayMove(arrayVal, oldIndex, newIndex);\r\n setFieldValue(name, updateListOptions, false);\r\n };\r\n\r\n const handleRemove = ({ remove }, index) => remove(index);\r\n return (\r\n \r\n (\r\n \r\n \r\n \r\n handleAdd(arrayHelpers)}>\r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default OptionList;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n collapseContainer: {\r\n width: '100%',\r\n },\r\n paperContainer: {\r\n margin: theme.spacing(0, 0, 2, 0),\r\n padding: theme.spacing(1, 2),\r\n },\r\n wrapperInner: {\r\n padding: theme.spacing(2, 0, 0),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport get from 'lodash.get';\r\nimport { FastField, Field, useFormikContext, useField } from 'formik';\r\nimport { SortableElement, SortableHandle } from 'react-sortable-hoc';\r\nimport { useDispatch } from 'react-redux';\r\nimport { Grid, Typography, Card, CardContent, IconButton, Collapse, Paper } from '@material-ui/core';\r\nimport DragHandleIcon from '@material-ui/icons/DragHandle';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\n\r\nimport { typeOptions, enumTypes } from '../../../../utils/constants/formBuilder';\r\nimport FormInput from '../../../components/FormInput';\r\nimport FormSelect from '../../../components/FormSelect';\r\nimport FormSwitch from '../../../components/FormSwitch';\r\nimport SingleFileUploaderInput from '../../../components/SingleFileUploaderInput';\r\nimport AddRow from '../AddRow';\r\nimport SortableWrap from '../SortableWrap';\r\nimport OptionList from '../OptionList';\r\nimport { addendumFile } from '../../../../actionTypes';\r\nimport useStyles from './styles';\r\nimport { fileAddendumUploadUrl } from '../../../../utils/constants';\r\n\r\nconst handleAddQuestion = (setFieldValue, values, parentId, parentAnswerCondition = null) => {\r\n const generateId = uuidv4();\r\n setFieldValue(\r\n 'fields',\r\n {\r\n ...values,\r\n [generateId]: {\r\n id: generateId,\r\n generated: true,\r\n parentId,\r\n showOnCondition: !!parentAnswerCondition,\r\n order: Object.keys(values).filter(key => values[key].parentId === parentId).length,\r\n text: '',\r\n type: enumTypes.Paragraph,\r\n isRequired: false,\r\n hasChild: false,\r\n isActive: true,\r\n children: {},\r\n options: [],\r\n parentAnswerCondition,\r\n },\r\n },\r\n false,\r\n );\r\n};\r\n\r\nconst getChildrenByRule = (obj, name, answer = null) =>\r\n Object.keys(obj).filter(item => obj[item].parentId === name && obj[item].parentAnswerCondition === answer);\r\n\r\nconst FormSelectController = props => {\r\n const handleClearFields = async e => {\r\n const name = props.field.name.slice(0, -5);\r\n const valObj = get(props.form.values, name, {});\r\n \r\n if (valObj.type !== e.target.value) {\r\n await props.form.setFieldValue(\r\n name,\r\n {\r\n ...valObj,\r\n isRequired: ![enumTypes.Title, enumTypes.Link].includes(e.target.value) && valObj.isRequired,\r\n hasChild: false,\r\n children: [],\r\n options: [],\r\n type: e.target.value,\r\n },\r\n false,\r\n );\r\n }\r\n\r\n if (e.target.value === enumTypes.File || valObj.type === enumTypes.File) {\r\n const isFile = e.target.value === enumTypes.File;\r\n\r\n await props.form.setFieldValue(`${name}.text`, isFile ? 'Please upload the file' : '', isFile);\r\n }\r\n };\r\n\r\n return ;\r\n};\r\n\r\nconst DragHandle = SortableHandle(() => );\r\n\r\nconst SingleQuestion = ({ name, handleRemove, companyId }) => {\r\n const { setFieldValue, values } = useFormikContext();\r\n const [, fileIdFieldMeta] = useField(`${name}.fileId`);\r\n const objValues = get(values, name, {});\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n\r\n const handleDownload = () => {\r\n const isTempFile = fileIdFieldMeta.value !== fileIdFieldMeta.initialValue;\r\n const currentValues = get(values, name, {});\r\n\r\n dispatch({\r\n type: addendumFile.downloadByFormBuilderFieldId.start,\r\n payload: {\r\n companyId,\r\n fileId: isTempFile ? currentValues.fileId : objValues.id,\r\n fileName: currentValues.fileName,\r\n tempFile: isTempFile,\r\n },\r\n });\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {![enumTypes.Title, enumTypes.Link].includes(objValues.type) && (\r\n \r\n \r\n Is required\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {objValues.type === enumTypes.Link && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n Show\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Add children\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Show on condition\r\n \r\n \r\n \r\n \r\n If answer Yes \r\n \r\n \r\n handleAddQuestion(setFieldValue, values.fields, objValues.id, 'Yes')} />\r\n \r\n \r\n \r\n \r\n \r\n If answer No \r\n \r\n\r\n \r\n handleAddQuestion(setFieldValue, values.fields, objValues.id, 'No')} />\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n handleAddQuestion(setFieldValue, values.fields, objValues.id)} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default SortableElement(SingleQuestion);\r\n","import React from 'react';\r\nimport { SortableContainer } from 'react-sortable-hoc';\r\nimport { Grid } from '@material-ui/core';\r\nimport { useFormikContext } from 'formik';\r\n\r\nimport SingleQuestion from '../SingleQuestion';\r\n\r\nconst handleRemove = (key, values, setFieldValue) => {\r\n const currentParent = values.fields[key].parentId;\r\n\r\n const clearValues = Object.keys(values.fields).reduce(\r\n (acc, item) => (item === key ? acc : { ...acc, [item]: values.fields[item] }),\r\n {},\r\n );\r\n\r\n const sortValues = Object.keys(clearValues)\r\n .filter(item => values.fields[item].parentId === currentParent)\r\n .sort(function(a, b) {\r\n return clearValues[a].order - clearValues[b].order;\r\n })\r\n .reduce(\r\n (acc, item, index) => ({\r\n ...acc,\r\n [item]: {\r\n ...clearValues[item],\r\n order: index + 1,\r\n },\r\n }),\r\n clearValues,\r\n );\r\n\r\n setFieldValue('fields', sortValues, true);\r\n};\r\n\r\nconst SortableList = SortableContainer(({ childrenKeys, companyId }) => {\r\n const { setFieldValue, values } = useFormikContext();\r\n return (\r\n \r\n {childrenKeys\r\n .sort(function(a, b) {\r\n return values.fields[a].order - values.fields[b].order;\r\n })\r\n .map((keyName, index) => {\r\n return (\r\n handleRemove(keyName, values, setFieldValue)}\r\n name={`fields.${keyName}`}\r\n companyId={companyId}\r\n />\r\n );\r\n })}\r\n \r\n );\r\n});\r\n\r\nexport default SortableList;\r\n","import React from 'react';\r\nimport arrayMove from 'array-move';\r\nimport { useFormikContext } from 'formik';\r\n\r\nimport SortableList from '../SortableList';\r\n\r\nconst SortableWrap = ({ childrenKeys, parent, companyId }) => {\r\n const { setFieldValue, values } = useFormikContext();\r\n\r\n const onSortEnd = ({ oldIndex, newIndex }) => {\r\n const arr = childrenKeys.sort(function(a, b) {\r\n return values.fields[a].order - values.fields[b].order;\r\n });\r\n const listNewIndex = arrayMove(arr, oldIndex, newIndex);\r\n\r\n childrenKeys.forEach(item => {\r\n setFieldValue(`fields.${item}.order`, listNewIndex.indexOf(item), false);\r\n });\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SortableWrap;\r\n","export const normalizeValues = (fields, parentId) =>\r\n Object.keys(fields)\r\n .filter(key => `${fields[key].parentId}` === `${parentId}`)\r\n .reduce((acc, questionId) => {\r\n if (fields[questionId].generated) {\r\n const { id, hasChild, parentId, generated, ...obj } = fields[questionId];\r\n return [\r\n ...acc,\r\n {\r\n ...obj,\r\n children: normalizeValues(fields, questionId),\r\n },\r\n ];\r\n }\r\n\r\n const { generated, hasChild, ...obj } = fields[questionId];\r\n return [\r\n ...acc,\r\n {\r\n ...obj,\r\n children: normalizeValues(fields, questionId),\r\n },\r\n ];\r\n }, []);\r\n\r\nexport const normalizeValuesWithId = (fields, parentId) =>\r\n Object.keys(fields)\r\n .filter(key => `${fields[key].parentId}` === `${parentId}`)\r\n .reduce((acc, questionId) => {\r\n const { generated, ...obj } = fields[questionId];\r\n return [\r\n ...acc,\r\n {\r\n ...obj,\r\n children: normalizeValuesWithId(fields, questionId),\r\n },\r\n ];\r\n }, []);\r\n\r\nexport const createStructure = arr =>\r\n arr.reduce((acc, item) => {\r\n const child = item.children.length > 0 ? createStructure(item.children) : {};\r\n return {\r\n ...acc,\r\n ...child,\r\n [`${item.id}`]: {\r\n ...item,\r\n hasChild: item.children.length > 0,\r\n generated: false,\r\n },\r\n };\r\n }, {});\r\n","import * as Yup from 'yup';\r\n\r\nimport messages from '../../../utils/validate/errorMessages';\r\n\r\nexport const validationSchema = Yup.lazy(value => {\r\n return Yup.object().shape({\r\n fields: Yup.object().shape(\r\n Object.keys(value.fields).reduce(\r\n (acc, item) => ({\r\n ...acc,\r\n [item]: Yup.object().shape({\r\n text: Yup.string()\r\n .min(3, messages.requiredQuestionMin3)\r\n .max(255, messages.requiredQuestionTitleMax255)\r\n .required(messages.required),\r\n fileId: Yup.mixed()\r\n .when('type', {\r\n is: type => type === 'Link',\r\n then: schema => schema.required(messages.required),\r\n }),\r\n options: Yup.array()\r\n .of(\r\n Yup.object().shape({\r\n text: Yup.string()\r\n .min(3, messages.requiredQuestionOptionMin3)\r\n .max(255, messages.requiredQuestionOptionMax255)\r\n .required(messages.required),\r\n }),\r\n )\r\n .when('type', {\r\n is: type => type === 'Dropdown',\r\n then: schema => schema.min(1, messages.required),\r\n }),\r\n }),\r\n }),\r\n {},\r\n ),\r\n ),\r\n });\r\n});\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n innerWrapper: ({ level }) => ({\r\n paddingLeft: theme.spacing(2 * level),\r\n }),\r\n downloadText: {\r\n cursor: 'pointer',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Grid, Typography } from '@material-ui/core';\r\n\r\nimport useStyles from './styles';\r\n\r\nconst TitleType = ({ label, level }) => {\r\n const classes = useStyles({ level });\r\n return (\r\n \r\n \r\n \r\n {label}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TitleType;\r\n","import React from 'react';\r\nimport { Grid } from '@material-ui/core';\r\nimport { FastField } from 'formik';\r\n\r\nimport FormInput from '../../../components/FormInput';\r\nimport useStyles from './styles';\r\n\r\nconst TextType = ({ label, name, level, readOnly }) => {\r\n const classes = useStyles({ level });\r\n return (\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default TextType;\r\n","import React from 'react';\r\nimport { Grid, Typography } from '@material-ui/core';\r\nimport { FastField } from 'formik';\r\n\r\nimport FormRadio from '../../../components/FormRadio';\r\nimport { yesnoOptions } from '../../../../utils/constants/formConstats';\r\nimport useStyles from './styles';\r\n\r\nconst YesNoType = ({ label, name, level, readOnly }) => {\r\n const classes = useStyles({ level });\r\n return (\r\n \r\n \r\n \r\n {label}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default YesNoType;\r\n","import React from 'react';\r\nimport { Grid, Typography } from '@material-ui/core';\r\nimport { FastField } from 'formik';\r\n\r\nimport FormInput from '../../../components/FormInput';\r\nimport useStyles from './styles';\r\nimport { maxIntNumber } from '../../../../utils/constants/formConstats';\r\n\r\nconst NumberType = ({ label, name, level, readOnly }) => {\r\n const classes = useStyles({ level });\r\n\r\n return (\r\n \r\n \r\n \r\n {label}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default NumberType;\r\n","import React from 'react';\r\nimport { Grid, Typography } from '@material-ui/core';\r\nimport { FastField } from 'formik';\r\n\r\nimport FormInput from '../../../components/FormInput';\r\nimport useStyles from './styles';\r\n\r\nconst ParagraphType = ({ label, name, level, readOnly }) => {\r\n const classes = useStyles({ level });\r\n\r\n return (\r\n \r\n \r\n \r\n {label}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ParagraphType;\r\n","import React from 'react';\r\nimport { FastField } from 'formik';\r\nimport { Grid, Typography } from '@material-ui/core';\r\n\r\nimport FormSelect from '../../../components/FormSelect';\r\nimport useStyles from './styles';\r\n\r\nconst DropdownType = ({ label, name, options, level, readOnly }) => {\r\n const classes = useStyles({ level });\r\n const createOptions = options.map(item => ({ label: item.text, value: item.id }));\r\n return (\r\n \r\n \r\n \r\n {label}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DropdownType;\r\n","import React from 'react';\r\nimport { Grid, Typography } from '@material-ui/core';\r\nimport { FastField } from 'formik';\r\n\r\nimport FormDatePicker from '../../../components/FormDataPicker';\r\nimport useStyles from './styles';\r\n\r\nconst DateType = ({ label, name, level, readOnly }) => {\r\n const classes = useStyles({ level });\r\n\r\n return (\r\n \r\n \r\n \r\n {label}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DateType;\r\n","import React from 'react';\r\nimport { Grid } from '@material-ui/core';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport MaterialLink from '@material-ui/core/Link';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { addendumFile } from '../../../../actionTypes';\r\nimport useStyles from './styles';\r\n\r\nconst LinkType = ({ label, readOnly, level, ownerCompanyId, formBuilderFieldId }) => {\r\n const classes = useStyles({ level });\r\n\r\n const dispatch = useDispatch();\r\n\r\n const { loading } = useSelector(store => store.addendumFile.addendumFile);\r\n\r\n const handleDownload = () => {\r\n dispatch({\r\n type: addendumFile.downloadByFormBuilderFieldId.start,\r\n payload: {\r\n companyId: ownerCompanyId,\r\n fileId: formBuilderFieldId,\r\n },\r\n });\r\n };\r\n\r\n return (\r\n \r\n \r\n {loading ? (\r\n \r\n ) : (\r\n \r\n {label}\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default LinkType;\r\n","import React from 'react';\r\nimport { Grid } from '@material-ui/core';\r\nimport { useDispatch } from 'react-redux';\r\nimport { FastField } from 'formik';\r\n\r\nimport { addendumFile } from '../../../../actionTypes';\r\nimport SingleFileUploaderInput from '../../../components/SingleFileUploaderInput';\r\nimport { fileAddendumUploadUrl } from '../../../../utils/constants';\r\n\r\nconst FileType = ({ name, label, readOnly, companyId, formBuilderFieldAnswerId }) => {\r\n const dispatch = useDispatch();\r\n\r\n const handleDownload = () => {\r\n dispatch({\r\n type: addendumFile.downloadByFormBuilderFieldAnswerId.start,\r\n payload: {\r\n companyId,\r\n fileId: formBuilderFieldAnswerId,\r\n },\r\n });\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default FileType;\r\n","import React, { useEffect } from 'react';\r\nimport { useFormikContext } from 'formik';\r\n\r\nimport TitleType from './TitleType';\r\nimport TextType from './TextType';\r\nimport YesNoType from './YesNoType';\r\nimport NumberType from './NumberType';\r\nimport ParagraphType from './ParagraphType';\r\nimport DropdownType from './DropdownType';\r\nimport DateType from './DateType';\r\nimport LinkType from './LinkType';\r\nimport FileType from './FileType';\r\nimport { enumTypes } from '../../../../utils/constants/formBuilder';\r\n\r\nconst SingleQuestion = ({ type, readOnly, preview, name, label, options, level, show, companyId, ownerCompanyId, formBuilderFieldId, formBuilderFieldAnswerId }) => {\r\n const { setFieldValue, setFieldTouched } = useFormikContext();\r\n\r\n useEffect(() => {\r\n if (!show) {\r\n setFieldValue(name, type === enumTypes.Date ? null : '', true);\r\n setFieldTouched(name, false, false);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [show]);\r\n\r\n const types = {\r\n Title: ,\r\n Paragraph: ,\r\n Text: ,\r\n YesNo: ,\r\n Number: ,\r\n Dropdown: ,\r\n Date: ,\r\n Link: ,\r\n File: ,\r\n };\r\n return types[type] || null;\r\n};\r\n\r\nexport default SingleQuestion;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n container: {\r\n width: '100%',\r\n },\r\n innerWrapper: {\r\n padding: theme.spacing(1),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Grid, Collapse } from '@material-ui/core';\r\n\r\nimport SingleQuestion from '../SingleQuestion';\r\nimport { enumTypes } from '../../../../utils/constants/formBuilder';\r\nimport useStyles from './styles';\r\n\r\nconst QuestionStructure = ({ values, questions, readOnly, preview, listKeys, level = 0, companyId, answersLib }) => {\r\n const classes = useStyles();\r\n return (\r\n \r\n {listKeys\r\n .sort((a, b) => questions[a].order - questions[b].order)\r\n .map(q => {\r\n const isShow =\r\n questions[q].isActive &&\r\n (questions[q].parentId === null ||\r\n (questions[q].parentId && questions[questions[q].parentId].type === enumTypes.Title) ||\r\n (questions[q].showOnCondition &&\r\n questions[q].parentId &&\r\n questions[q].parentAnswerCondition === values[questions[q].parentId]));\r\n return (\r\n \r\n \r\n \r\n {questions[q].children.length > 0 && (\r\n \r\n questions[q].isActive)}\r\n answersLib={answersLib}\r\n companyId={companyId}\r\n />\r\n \r\n )}\r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default QuestionStructure;\r\n","import * as Yup from 'yup';\r\n\r\nimport { enums, maxIntNumber } from '../../../utils/constants/formConstats';\r\nimport errors from '../../../utils/validate/errorMessages';\r\nimport { dateCheck } from '../../../utils/validate/method';\r\nimport { enumTypes } from '../../../utils/constants/formBuilder';\r\n\r\nYup.addMethod(Yup.mixed, 'dateCheck', dateCheck);\r\n\r\nconst validateField = {\r\n Paragraph: Yup.string()\r\n .min(1, errors.requiredParagraphMin1)\r\n .max(255, errors.requiredParagraphMax255),\r\n Text: Yup.string().min(10, errors.requiredDescriptionMin10),\r\n YesNo: Yup.string().oneOf(Object.keys(enums.yesno), errors.valueIncorrect),\r\n Number: Yup.mixed().when({\r\n is: value => value !== 0,\r\n then: shema => shema.string,\r\n otherwise: shema =>\r\n shema\r\n .number()\r\n .min(-maxIntNumber, errors.minNumberFieldValue)\r\n .max(maxIntNumber, errors.maxNumberFieldValue),\r\n }),\r\n Dropdown: Yup.string(),\r\n Date: Yup.mixed()\r\n .dateCheck(errors.invalidDate)\r\n .nullable(),\r\n File: Yup.string(),\r\n};\r\n\r\nconst defaultSchema = Yup.object().shape({});\r\n\r\nexport default fields =>\r\n Object.keys(fields).reduce((acc, id) => {\r\n // if field type 'Title', 'Link' - dont need to validate\r\n if ([enumTypes.Title, enumTypes.Link].includes(fields[id].type)) return acc;\r\n\r\n return acc.concat(\r\n Yup.object().shape({\r\n [id]: validateField[fields[id].type].test({\r\n name: id,\r\n message: errors.required,\r\n test: function(value) {\r\n const formValues = this.parent;\r\n\r\n const hasParent = fields[id].parentId;\r\n\r\n // if field is not required\r\n if (!fields[id].isRequired) {\r\n return true;\r\n }\r\n\r\n // check if field has parent\r\n if (!hasParent) {\r\n // check is value not empty\r\n return value && value !== '';\r\n } else {\r\n const parentId = fields[id].parentId;\r\n const isParentSection = fields[id].parentId && fields[parentId].type === enumTypes.Title;\r\n\r\n // if field hide - not required\r\n if (fields[id].showOnCondition && formValues[parentId] !== fields[id].parentAnswerCondition) {\r\n return true;\r\n }\r\n\r\n // if field parent is type 'Section' and it hide - not required\r\n if (\r\n isParentSection &&\r\n fields[parentId].showOnCondition &&\r\n formValues[fields[parentId].parentId] !== fields[parentId].parentAnswerCondition\r\n ) {\r\n return true;\r\n }\r\n\r\n // if field parent is type 'Section' and it not hide\r\n if (isParentSection && !fields[parentId].showOnCondition) {\r\n return value && value !== '';\r\n }\r\n\r\n // check is field valid and parent answers are equal with current\r\n return isParentSection\r\n ? formValues[fields[parentId].parent] === fields[parentId].parentAnswerCondition &&\r\n value &&\r\n value !== ''\r\n : formValues[parentId] === fields[id].parentAnswerCondition && value && value !== '';\r\n }\r\n },\r\n }),\r\n }),\r\n );\r\n }, defaultSchema);\r\n","import React, { useState } from 'react';\r\nimport { Formik } from 'formik';\r\nimport { Grid } from '@material-ui/core';\r\n\r\nimport PageLoader from '../../components/PageLoader';\r\nimport FormBody from '../../components/FormBody';\r\nimport LoadingButton from '../../components/LoadingButton';\r\nimport QuestionStructure from './QuestionStructure';\r\nimport validationSchema from './validation';\r\nimport PromptNotification from '../../components/PromptComponent';\r\nimport { enumTypes } from '../../../utils/constants/formBuilder';\r\n\r\nconst createInitialValues = (q, answersLib) =>\r\n q.reduce((acc, item) => {\r\n if (!item.isActive) return acc;\r\n const child = item.children ? createInitialValues(item.children, answersLib) : {};\r\n return {\r\n ...acc,\r\n ...child,\r\n [`${item.id}`]: item.type === enumTypes.File ? {\r\n fileId: answersLib[item.id]?.fileId ?? '',\r\n fileName: answersLib[item.id]?.fileName ?? '',\r\n } : answersLib[item.id]?.text ?? '',\r\n };\r\n }, {});\r\n\r\nconst createObjLib = q =>\r\n q.reduce((acc, item) => {\r\n if (!item.isActive) return acc;\r\n const child = item.children ? createObjLib(item.children) : {};\r\n return {\r\n ...acc,\r\n ...child,\r\n [`${item.id}`]: {\r\n ...item,\r\n children: item.children.filter(q => q.isActive).map(item => item.id),\r\n },\r\n };\r\n }, {});\r\n\r\nconst ContractorAddendum = ({ questions, preview, readOnly, answers, loading, success, error, handleSave, companyId }) => {\r\n const [skipCheckPQF, setSkipCheckPQF] = useState(true);\r\n\r\n if (loading) return ;\r\n\r\n const answersLib = answers.reduce((acc, item) => ({ ...acc, [item.formBuilderFieldId]: item }), {});\r\n const objLib = createObjLib(questions);\r\n\r\n const getAnswers = values => Object.keys(values).reduce(\r\n (acc, item) => objLib[item].type === enumTypes.Title\r\n ? acc\r\n : [\r\n ...acc,\r\n {\r\n id: answersLib[item] ? answersLib[item].id : 0,\r\n formBuilderFieldId: item,\r\n text: objLib[item].type === enumTypes.File ? values[item].fileId ?? '' : values[item],\r\n fileId: objLib[item].type === enumTypes.File ? values[item].fileId ?? '' : '',\r\n fileName: objLib[item].type === enumTypes.File ? values[item].fileName ?? '' : '',\r\n },\r\n ],\r\n []\r\n );\r\n\r\n const onSubmit = values => {\r\n localStorage.setItem('skipResetValidationAfterSuccess', skipCheckPQF);\r\n\r\n handleSave(getAnswers(values));\r\n };\r\n\r\n return (\r\n \r\n {props => {\r\n setTimeout(() => setSkipCheckPQF(getAnswers(props.values).every(x => x.text === (answersLib[x.formBuilderFieldId]?.text ?? '') || objLib[x.formBuilderFieldId].type === enumTypes.File)));\r\n\r\n return (\r\n \r\n {preview ? null : }\r\n \r\n q.isActive && q.parentId === null).map(q => q.id)}\r\n answersLib={answersLib}\r\n readOnly={readOnly}\r\n preview={preview}\r\n companyId={companyId} />\r\n {preview || readOnly ? null : (\r\n \r\n )}\r\n \r\n \r\n );\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default ContractorAddendum;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n paper: {\r\n width: '100%',\r\n maxWidth: theme.spacing(120),\r\n },\r\n actions: {\r\n padding: theme.spacing(2),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { useState } from 'react';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { Button, Dialog, DialogActions, DialogContent, DialogTitle, Grid } from '@material-ui/core';\r\nimport { Formik } from 'formik';\r\nimport { useParams } from 'react-router-dom';\r\n\r\nimport { enumTypes } from '../../../utils/constants/formBuilder';\r\nimport FormBody from '../../components/FormBody';\r\nimport PageLoader from '../../components/PageLoader';\r\nimport PromptNotification from '../../components/PromptComponent';\r\nimport FormButtons from './FormButtons';\r\nimport AddRow from './AddRow';\r\nimport SortableWrap from './SortableWrap';\r\nimport { createStructure, normalizeValues, normalizeValuesWithId } from './formaters';\r\nimport { validationSchema } from './validation';\r\nimport ContractorAddendumForm from '../ContractorAddendumForm';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport useStyles from './styles';\r\n\r\nconst handleAddQuestion = (setFieldValue, values) => {\r\n const generateKey = uuidv4();\r\n setFieldValue('fields', {\r\n ...values,\r\n [generateKey]: {\r\n id: generateKey,\r\n generated: true,\r\n parentId: null,\r\n showOnCondition: false,\r\n order: Object.keys(values).filter(key => values[key].parentId === null).length,\r\n text: '',\r\n type: enumTypes.Paragraph,\r\n isRequired: false,\r\n isActive: true,\r\n hasChild: false,\r\n children: {},\r\n options: [],\r\n parentAnswerCondition: null,\r\n },\r\n });\r\n};\r\n\r\nconst FormBuilder = ({ loading, saving, success, error, list, handleSave }) => {\r\n const [previewModal, setPreviewModal] = useState({ status: false, values: {} });\r\n const classes = useStyles();\r\n const { id } = useParams();\r\n const { companyId } = useCompanyInfo(id);\r\n\r\n const onSubmit = val => handleSave(normalizeValues(val.fields, null));\r\n const convertValues = createStructure(list);\r\n\r\n if (loading) return ;\r\n\r\n return (\r\n <>\r\n onSubmit(val)}\r\n validateOnBlur={false}\r\n validationSchema={validationSchema}\r\n >\r\n {({ values, dirty, isValid, setFieldValue, handleSubmit }) => (\r\n \r\n \r\n \r\n values.fields[key].parentId === null)}\r\n companyId={companyId}\r\n />\r\n handleAddQuestion(setFieldValue, values.fields)} />\r\n \r\n 0}\r\n handlePreview={() => setPreviewModal({ status: true, values: values.fields })}\r\n isValid={isValid}\r\n disabled={!dirty || !isValid}\r\n success={success}\r\n error={error}\r\n loading={saving}\r\n onClick={handleSubmit}\r\n />\r\n \r\n )}\r\n \r\n setPreviewModal(prevState => ({ ...prevState, status: false }))}\r\n onExited={() => setPreviewModal({ status: false, values: {} })}\r\n classes={{\r\n paper: classes.paper,\r\n }}\r\n >\r\n Preview addendum\r\n \r\n \r\n \r\n \r\n \r\n \r\n setPreviewModal(prevState => ({ ...prevState, status: false }))}\r\n variant=\"contained\"\r\n size=\"small\"\r\n color=\"primary\"\r\n autoFocus\r\n >\r\n close\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default FormBuilder;\r\n","import React, { useEffect } from 'react';\r\nimport { Helmet } from 'react-helmet';\r\nimport { useParams } from 'react-router-dom';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\n\r\nimport { title } from '../../routes/path';\r\nimport { currentCompany } from '../../../actionTypes';\r\nimport { formatPageTitle } from '../../../utils/textFormaters';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport FormBuilder from '../../containers/FormBuilder';\r\nimport { contractorLevelPathEnum, contractorLevels } from '../../../utils/constants';\r\n\r\nconst OwnerAddendum = () => {\r\n const { id, contractorLevel: contractorLevelPath } = useParams();\r\n const dispatch = useDispatch();\r\n const { companyId, companyName } = useCompanyInfo(id);\r\n\r\n const { loading, saving, success, error, list } = useSelector(store => store.currentCompany.ownerAddendum);\r\n const contractorLevel =\r\n Object.keys(contractorLevelPathEnum).filter(item => contractorLevelPathEnum[item] === contractorLevelPath)[0] ||\r\n null;\r\n\r\n useEffect(() => {\r\n dispatch({\r\n type: currentCompany.ownerAddendum.get.start,\r\n payload: { companyId, contractorLevel },\r\n });\r\n }, [companyId, contractorLevel, dispatch]);\r\n\r\n const handleSave = values =>\r\n dispatch({\r\n type: currentCompany.ownerAddendum.create.start,\r\n payload: { companyId, contractorLevel, values },\r\n });\r\n\r\n return (\r\n <>\r\n \r\n \r\n {formatPageTitle(title.private.company.ownerAddendum, {\r\n companyName,\r\n contractorLevel: contractorLevels[contractorLevel],\r\n })}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default OwnerAddendum;\r\n","import React from 'react';\r\nimport get from 'lodash.get';\r\nimport { Grid, IconButton, TableCell } from '@material-ui/core';\r\nimport SaveIcon from '@material-ui/icons/Save';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\n\r\nimport { getCurrentRequiredYear } from '../../../../utils/constants/yearHelper';\r\n\r\nconst TableActions = ({ props, year, index, arrayHelpers }) => {\r\n const currentRequiredYear = getCurrentRequiredYear();\r\n const yearValue = parseInt(year.year);\r\n const canDelete = yearValue > currentRequiredYear || yearValue < currentRequiredYear - 2;\r\n const errorColumn = get(props, `errors.years[${index}]`, {});\r\n const canSave = typeof errorColumn === 'string' || Object.keys(errorColumn).length === 0;\r\n\r\n const setTouched = Object.keys(get(props, `values.years[${index}]`, {})).reduce(\r\n (acc, item) => ({ ...acc, [`years[${index}].${item}`]: true }),\r\n {},\r\n );\r\n const editClick = () =>\r\n canSave ? props.setFieldValue(`years[${index}].edit`, false) : props.setTouched(setTouched, true);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {year.edit ? (\r\n \r\n \r\n \r\n ) : (\r\n props.setFieldValue(`years[${index}].edit`, true)}\r\n size=\"small\"\r\n >\r\n \r\n \r\n )}\r\n \r\n {canDelete && (\r\n \r\n arrayHelpers.remove(index)} size=\"small\">\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableActions;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n rate: {\r\n alignSelf: 'center',\r\n },\r\n typographyRate: {\r\n wordWrap: 'break-word',\r\n },\r\n wrapper: {\r\n height: '100%',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Grid, TableCell, Typography } from '@material-ui/core';\r\nimport { FastField } from 'formik';\r\n\r\nimport FormInput from '../../../components/FormInput';\r\nimport useStyles from './styles';\r\nimport refineNumberString from '../../../../utils/textFormaters/refineNumberString';\r\nimport { formatInjuryValue } from '../../../../utils/containersHelpers';\r\n\r\nconst roundPlacements = 10000;\r\nconst multiple = 200000;\r\nconst calculateFormat = (val, total) =>\r\n parseFloat(total || 0) !== 0\r\n ? Math.round(((val ?? 0) * multiple * roundPlacements) / total) / roundPlacements\r\n : 0;\r\n\r\nconst totalDate = (dart, val) =>\r\n parseFloat(val || 0) !== 0\r\n ? Math.round(((dart ?? 0) / val) * roundPlacements) / roundPlacements\r\n : 0;\r\n\r\nconst totalDaysAwayFromWorkType = 'totalDaysAwayFromWork';\r\n\r\nconst FormCell = ({ year, index, name, tabIndex }) => {\r\n const classes = useStyles();\r\n const yearTotalHoursRefined = year.totalHours && refineNumberString(year.totalHours.toString());\r\n\r\n const getStateOfRate = () =>\r\n name === totalDaysAwayFromWorkType\r\n ? totalDate(calculateFormat(year.lostWorkdayRestricted, yearTotalHoursRefined), year.totalDaysAwayFromWork)\r\n : calculateFormat(year[`${name}`], yearTotalHoursRefined);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {year.edit ? (\r\n \r\n ) : (\r\n \r\n {year[`${name}`]}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {formatInjuryValue(getStateOfRate())}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default FormCell;\r\n","import React from 'react';\r\nimport { Field } from 'formik';\r\nimport { Typography, Grid } from '@material-ui/core';\r\n\r\nimport FormSelect from '../../../components/FormSelect';\r\n\r\nconst TitleCell = ({ name, edit, year, options }) => {\r\n return (\r\n \r\n \r\n \r\n {edit ? (\r\n \r\n ) : (\r\n \r\n {year}\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TitleCell;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n buttonNew: {\r\n marginBottom: theme.spacing(2),\r\n },\r\n tableBody: {\r\n '& .MuiTableRow-root:nth-child(1)': {\r\n backgroundColor: theme.palette.grey[300],\r\n },\r\n '& .MuiTableRow-root:nth-child(3)': {\r\n backgroundColor: theme.palette.grey[300],\r\n },\r\n '& .MuiTableCell-root:nth-child(n+2)': {\r\n borderLeft: '1px solid #ccc',\r\n minWidth: theme.spacing(21),\r\n padding: theme.spacing(1, 2),\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","export default value => {\r\n const parts = value.toString().split('.');\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\r\n return parts.join('.');\r\n};\r\n","import React, { useState } from 'react';\r\nimport { Formik, FastField, FieldArray } from 'formik';\r\nimport { Grid, Button, Table, TableRow, TableCell, TableBody, Typography, Paper } from '@material-ui/core';\r\nimport get from 'lodash.get';\r\n\r\nimport TableActions from './TableActions';\r\nimport FormCell from './FormCell';\r\nimport FormBody from '../../components/FormBody';\r\nimport LoadingButton from '../../components/LoadingButton';\r\nimport PageLoader from '../../components/PageLoader';\r\nimport TitleCell from './TitleCell';\r\nimport { getLastYearsList, getLastYearsOptions, LAST_YEARS_COUNT } from '../../../utils/constants/yearHelper';\r\nimport { injuryValidateSchema } from '../../../utils/validate/shemas';\r\nimport useStyles from './styles';\r\nimport PromptNotification from '../../components/PromptComponent';\r\nimport FileUploaderInput from '../../components/FileUploaderInput';\r\nimport FormNumberInput from '../../components/FormNumberInput';\r\nimport refineNumberString from '../../../utils/textFormaters/refineNumberString';\r\nimport formatCommaSeparator from '../../../utils/textFormaters/formatCommaSeparator';\r\n\r\nconst generateValues = (year, tabIndex) => ({\r\n edit: true,\r\n year: year,\r\n totalHours: '',\r\n fatalities: '',\r\n lostWorkdayRestricted: '',\r\n lostWorkdayAway: '',\r\n injuriesAndIllnessMedicalOnly: '',\r\n totalOsha: '',\r\n totalDaysAwayFromWork: '',\r\n tabIndex: tabIndex,\r\n});\r\nconst sortByYear = values => values.sort((a, b) => b.year - a.year);\r\n\r\nconst InjuryIllnessForm = ({ companyId, loading, success, error, stack, handleUpdate }) => {\r\n const classes = useStyles();\r\n\r\n const [tabIndex, setTabIndex] = useState(1);\r\n\r\n if (loading && stack === null) return ;\r\n\r\n const { injury, ...others } = stack;\r\n const initialValues = {\r\n ...others,\r\n years: injury.map(year => ({ ...year, totalHours: formatCommaSeparator(year.totalHours), edit: false })),\r\n };\r\n\r\n const lastYearsList = getLastYearsList();\r\n const options = getLastYearsOptions();\r\n\r\n // add year\r\n const handleAddYear = (formHelper, values) => {\r\n const existYears = values.years.map(item => parseInt(item.year));\r\n const year = Math.max(...lastYearsList.filter(available => !existYears.includes(available)));\r\n const generate = generateValues(year, tabIndex);\r\n formHelper.push(generate);\r\n setTabIndex(tabIndex + 1);\r\n };\r\n\r\n // generate options for each column\r\n const generateCurrentOptions = (created, current) => {\r\n const exceptions = created.map(years => years.year).filter(year => year !== current);\r\n return options.filter(option => !exceptions.includes(option.value));\r\n };\r\n\r\n // sanitize submited values\r\n const filterSubmitValues = ({ years, ...others }) =>\r\n handleUpdate({\r\n ...others,\r\n injury: years.map(({ edit, totalHours, ...val }) => ({\r\n totalHours: parseFloat(refineNumberString(totalHours)),\r\n ...val,\r\n })),\r\n });\r\n\r\n return (\r\n \r\n {props => {\r\n const yearOrdering = props.values.years.map(item => item.year);\r\n const sortedValues = sortByYear(props.values.years);\r\n return (\r\n (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.values.years.length < LAST_YEARS_COUNT && (\r\n \r\n handleAddYear(arrayHelpers, props.values)}\r\n size=\"small\"\r\n variant=\"contained\"\r\n color=\"primary\"\r\n >\r\n Add\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n Year\r\n {sortedValues.map((year, index) => (\r\n \r\n \r\n arrayHelpers.remove(index)}\r\n editHandle={val => props.setFieldValue(`years[${index}].edit`, val)}\r\n />\r\n \r\n \r\n ))}\r\n \r\n \r\n Total hours\r\n {sortedValues.map(year => (\r\n \r\n \r\n {year.edit ? (\r\n \r\n ) : (\r\n \r\n {year.totalHours}\r\n \r\n )}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n {sortedValues.map(year => (\r\n \r\n \r\n \r\n \r\n \r\n No.\r\n \r\n \r\n \r\n \r\n Rate\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n Fatalities\r\n {sortedValues.map(year => (\r\n \r\n ))}\r\n \r\n \r\n \r\n Total number of cases with days away from work, job transfer, or restrictions (H + I +\r\n J) [DART]\r\n \r\n {sortedValues.map(year => (\r\n \r\n ))}\r\n \r\n \r\n Total number of cases with days away from work (H) [LWDI]\r\n {sortedValues.map(year => (\r\n \r\n ))}\r\n \r\n \r\n \r\n Total number of injuries and illnesses involving medical treatment only (I + J) [RWC]\r\n \r\n {sortedValues.map(year => (\r\n \r\n ))}\r\n \r\n \r\n Total number of injuries and illnesses (M) [TRIR]\r\n {sortedValues.map(year => (\r\n \r\n ))}\r\n \r\n \r\n Total number of days away from work (K) [SR]\r\n {sortedValues.map(year => (\r\n \r\n ))}\r\n \r\n \r\n Actions\r\n {sortedValues.map(year => (\r\n \r\n ))}\r\n \r\n \r\n
\r\n
\r\n {props.submitCount > 0 && typeof get(props, 'errors.years', {}) === 'string' && (\r\n \r\n {get(props, 'errors.years', '')}\r\n \r\n )}\r\n
\r\n
\r\n
\r\n props.handleSubmit()}\r\n text=\"save\"\r\n />\r\n
\r\n \r\n )}\r\n />\r\n );\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default InjuryIllnessForm;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useParams } from 'react-router-dom';\r\nimport { Helmet } from 'react-helmet';\r\n\r\nimport { title, sectionKey } from '../../routes/path';\r\nimport InjuryIllnessForm from '../../containers/InjuryIllnessForm';\r\nimport { currentCompany } from '../../../actionTypes';\r\nimport { formatPageTitle } from '../../../utils/textFormaters';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\n\r\nconst InjuryIllness = () => {\r\n const dispatch = useDispatch();\r\n const { id } = useParams();\r\n\r\n const { companyId, companyName } = useCompanyInfo(id);\r\n\r\n const { loading, success, error, stack } = useSelector(store => store.currentCompany.injuryIllness);\r\n\r\n useEffect(() => {\r\n dispatch({ type: currentCompany.injuryIllness.get.start, payload: { companyId } });\r\n }, [companyId, dispatch]);\r\n\r\n const handleUpdate = values => {\r\n dispatch({\r\n type: currentCompany.injuryIllness.update.start,\r\n payload: { companyId, values, sectionKey: sectionKey.private.company.injuryIllness },\r\n });\r\n };\r\n return (\r\n <>\r\n \r\n {formatPageTitle(title.private.company.injuryIllness, { companyName })}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default InjuryIllness;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n container: {\r\n minWidth: '100%',\r\n padding: theme.spacing(0, 2),\r\n overflow: 'auto',\r\n },\r\n columns: {\r\n display: 'flex',\r\n gap: '12px',\r\n margin: '16px 0',\r\n justifyContent: 'space-between',\r\n width: '100%',\r\n maxWidth: '332px',\r\n flexWrap: 'wrap',\r\n },\r\n column: {\r\n maxWidth: '160px',\r\n },\r\n select: { minWidth: '136px' },\r\n actions: {\r\n width: '100%',\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n wrapper: {\r\n display: 'flex',\r\n alignItems: 'baseline',\r\n justifyContent: 'space-between',\r\n maxWidth: '150px',\r\n gap: '8px',\r\n marginTop: '8px',\r\n },\r\n textField: {\r\n maxWidth: '100px',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { memo } from 'react';\r\nimport { Typography } from '@material-ui/core';\r\nimport { Field } from 'formik';\r\n\r\nimport useStyles from './styles';\r\nimport FormInput from '../../../components/FormInput';\r\n\r\nconst LabelField = ({ label, name, id }) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n
\r\n {label}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default memo(LabelField);\r\n","import React, { memo } from 'react';\r\nimport { FieldArray, useFormikContext } from 'formik';\r\nimport { format } from 'date-fns';\r\n\r\nimport useStyles from '../styles';\r\nimport LabelField from '../LabelField';\r\n\r\nconst Months = () => {\r\n const classes = useStyles();\r\n const { values, handleChange } = useFormikContext();\r\n\r\n const getMonthName = monthNumber => {\r\n const date = new Date();\r\n date.setMonth(monthNumber - 1);\r\n return format(date, 'LLL');\r\n };\r\n\r\n return (\r\n (\r\n
\r\n
\r\n {values.months.slice(0, 6).map((item, index) => (\r\n \r\n ))}\r\n
\r\n
\r\n {values.months.slice(6).map((item, index) => (\r\n \r\n ))}\r\n
\r\n
\r\n )}\r\n />\r\n );\r\n};\r\n\r\nexport default memo(Months);\r\n","export const getInitialValues = (workingHours, selectedYear) => {\r\n return {\r\n year: selectedYear,\r\n months: workingHours?.find(item => item.year === selectedYear)?.months.map(item => ({ month: item.month, hours: item.hours ?? '' })) ?? [],\r\n };\r\n};\r\n","import React, { memo, useMemo } from 'react';\r\nimport { FormControl, MenuItem, Select } from '@material-ui/core';\r\n\r\nimport useStyles from '../styles';\r\n\r\nconst Toolbar = ({\r\n withSearchByOwner,\r\n selectedOwner,\r\n setSelectedOwner,\r\n selectedYear,\r\n setSelectedYear,\r\n ownerList,\r\n workingHoursList,\r\n}) => {\r\n const classes = useStyles();\r\n\r\n const ownersOptions = useMemo(() => ownerList?.map(item => ({ id: item.id, label: item.name, value: item.id })), [\r\n ownerList,\r\n ]);\r\n\r\n const yearOptions = useMemo(\r\n () => workingHoursList?.map(item => ({ id: item.year, label: item.year, value: item.year })),\r\n [workingHoursList],\r\n );\r\n\r\n return (\r\n
\r\n {withSearchByOwner && (\r\n \r\n setSelectedOwner(event.target.value)}\r\n variant=\"outlined\"\r\n className={classes.select}\r\n >\r\n {ownersOptions.map((item, index) => (\r\n \r\n {item.label}\r\n \r\n ))}\r\n \r\n \r\n )}\r\n {yearOptions.length > 0 && (\r\n \r\n setSelectedYear(event.target.value)}\r\n variant=\"outlined\"\r\n className={classes.select}\r\n >\r\n {yearOptions?.map((item, index) => (\r\n \r\n {item.label}\r\n \r\n ))}\r\n \r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default memo(Toolbar);\r\n","export const getInitialValues = (workingHours, selectedYear) => {\r\n return {\r\n year: selectedYear,\r\n notes: workingHours?.find(item => item.year === selectedYear)?.notes ?? '',\r\n };\r\n};\r\n","import React from 'react';\r\nimport { Grid } from '@material-ui/core';\r\nimport { Formik, FastField } from 'formik';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport FormInput from '../../components/FormInput';\r\nimport LoadingButton from '../../components/LoadingButton';\r\nimport useStyles from '../../components/Icons/styles';\r\nimport PromptNotification from '../../components/PromptComponent';\r\nimport { getInitialValues } from './form';\r\nimport FormBody from '../../components/FormBody';\r\nimport { workingHourNotes } from '../../../actionTypes';\r\n\r\nconst WorkingHourNotesForm = ({\r\n selectedYear,\r\n ownerId,\r\n workingHoursData,\r\n contractorId,\r\n}) => {\r\n const { loading, success, error } = useSelector(\r\n store => store.workingHourNotes.update,\r\n );\r\n\r\n const dispatch = useDispatch();\r\n const classes = useStyles();\r\n\r\n const handleSave = values => {\r\n dispatch({\r\n type: workingHourNotes.update.start,\r\n payload: { contractorId, ownerId, values },\r\n });\r\n };\r\n\r\n return (\r\n \r\n {props => {\r\n return (\r\n <>\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default WorkingHourNotesForm;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Form, Formik } from 'formik';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Button, CircularProgress, Grid } from '@material-ui/core';\r\nimport GetAppIcon from '@material-ui/icons/GetApp';\r\n\r\nimport LoadingButton from '../../components/LoadingButton';\r\nimport Months from './Months';\r\nimport useStyles from './styles';\r\nimport PromptNotification from '../../components/PromptComponent';\r\nimport { getInitialValues } from './form';\r\nimport FormBody from '../../components/FormBody';\r\nimport { workingHours } from '../../../actionTypes';\r\nimport Toolbar from './Toolbar';\r\nimport WorkingHourNotesForm from '../WorkingHourNotesForm';\r\n\r\nconst WorkingHoursForm = ({\r\n handleSave,\r\n ownerId,\r\n readOnly,\r\n withSearchByOwner,\r\n ownerList,\r\n contractorId,\r\n withExportWorkingHours,\r\n withNotes,\r\n userType,\r\n}) => {\r\n const [selectedYear, setSelectedYear] = useState(() => new Date().getFullYear());\r\n const [selectedOwner, setSelectedOwner] = useState(() => ownerId || null);\r\n\r\n const { workingHours: workingHoursData, loading, success, error, exporting } = useSelector(\r\n store => store.workingHours.list,\r\n );\r\n\r\n const dispatch = useDispatch();\r\n const classes = useStyles();\r\n\r\n useEffect(() => {\r\n if (selectedOwner) {\r\n dispatch({\r\n type: workingHours.list.start,\r\n payload: { contractorId, ownerId: selectedOwner },\r\n });\r\n }\r\n }, [contractorId, selectedOwner, dispatch]);\r\n\r\n const handleExportWorkingHours = () =>\r\n dispatch({\r\n type: workingHours.exportWorkingHours.start,\r\n payload: {\r\n userType,\r\n contractorCompanyId: contractorId,\r\n ownerCompanyId: selectedOwner,\r\n },\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n {props => {\r\n return (\r\n
\r\n {readOnly ? null : }\r\n \r\n \r\n \r\n {!readOnly && (\r\n \r\n )}\r\n \r\n
\r\n {withExportWorkingHours && (\r\n : }\r\n onClick={handleExportWorkingHours}\r\n disabled={exporting}\r\n >\r\n Export\r\n \r\n )}\r\n
\r\n \r\n );\r\n }}\r\n
\r\n
\r\n {withNotes && (\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default WorkingHoursForm;\r\n","import React, { useEffect } from 'react';\r\nimport { Helmet } from 'react-helmet';\r\nimport { useParams } from 'react-router-dom';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { Box } from '@material-ui/core';\r\n\r\nimport { title } from '../../routes/path';\r\nimport WorkingHoursForm from '../../containers/WorkingHoursForm';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport { currentCompany, workingHours } from '../../../actionTypes';\r\nimport { formatPageTitle } from '../../../utils/textFormaters';\r\nimport ContractorAddendumForm from '../../containers/ContractorAddendumForm';\r\nimport PaperWrapper from '../../components/PaperWrapper';\r\nimport { userTypes } from '../../../utils/constants';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\n\r\nconst ContractorAddendum = () => {\r\n const { id, ownerId } = useParams();\r\n const { type } = useUserPermissions();\r\n\r\n const dispatch = useDispatch();\r\n const { companyId, companyName, level } = useCompanyInfo(id);\r\n const { loading, questions, answers, success, error } = useSelector(store => store.currentCompany.contractorAddendum);\r\n const { workingHoursSubmitEnabled } = useSelector(store => store.workingHours.list);\r\n\r\n useEffect(() => {\r\n dispatch({\r\n type: currentCompany.contractorAddendum.get.start,\r\n payload: { companyId, ownerId, contractorLevel: level },\r\n });\r\n\r\n dispatch({\r\n type: workingHours.list.start,\r\n payload: { contractorId: companyId, ownerId: ownerId },\r\n });\r\n }, [companyId, ownerId, dispatch, level]);\r\n\r\n const handleSave = values =>\r\n dispatch({\r\n type: currentCompany.contractorAddendum.create.start,\r\n payload: { companyId, ownerId, values },\r\n });\r\n\r\n const handleSaveWorkingHours = values => {\r\n dispatch({\r\n type: workingHours.update.start,\r\n payload: { contractorId: companyId, ownerId, values },\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {formatPageTitle(title.private.company.ownerAddendum, { companyName })}\r\n \r\n {workingHoursSubmitEnabled && type === userTypes.Contractor ? (\r\n \r\n {questions.length > 0 && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ContractorAddendum;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Grid, Typography } from '@material-ui/core';\r\nimport { FastField } from 'formik';\r\n\r\nimport FormBody from '../../components/FormBody';\r\nimport FormSelect from '../../components/FormSelect';\r\nimport LoadingButton from '../../components/LoadingButton';\r\nimport YesNoFormConstructor from '../YesNoFormConstructor';\r\nimport PageLoader from '../../components/PageLoader';\r\nimport QuestionStructure from '../../components/QuestionStructure';\r\nimport { recursiveInclude } from '../../../utils/containersHelpers';\r\nimport PromptNotification from '../../components/PromptComponent';\r\nimport { yesNoOptions } from '../../../utils/constants/formConstats';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport useStyles from './styles';\r\n\r\nconst fixEmptySection = arr =>\r\n arr.children.reduce((acc, item) => {\r\n return item.type === 'Section' && item.children.length === 0\r\n ? acc\r\n : [\r\n ...acc,\r\n {\r\n ...item,\r\n children: fixEmptySection(item),\r\n },\r\n ];\r\n }, []);\r\n\r\nconst YesNoQuestionsTypical = ({ questions, disabler, companyId, loading, success, error, handleSubmit, allowUpdate }) => {\r\n const classes = useStyles();\r\n const { isBasicContractor } = useCompanyInfo(companyId);\r\n\r\n if (loading && !questions.length) return ;\r\n\r\n const filterQuestions = isBasicContractor\r\n ? questions.filter(q => !(!q.requiredForBasicContractor && q.requiredForPsmContractor))\r\n : questions;\r\n\r\n const setQuestionStructure = { children: fixEmptySection(recursiveInclude(filterQuestions)) };\r\n\r\n const initialValues = {};\r\n\r\n if (disabler) {\r\n initialValues[disabler.fieldName] = disabler.value;\r\n }\r\n\r\n return (\r\n \r\n {({ fields, handleSubmit, values, setFieldTouched, setFieldValue, dirty, isValid }) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n {disabler && (\r\n \r\n \r\n {disabler.title}\r\n \r\n \r\n \r\n )}\r\n {setQuestionStructure.children.map(item => (\r\n \r\n ))}\r\n \r\n {allowUpdate && (\r\n \r\n )}\r\n \r\n \r\n );\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default YesNoQuestionsTypical;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useParams } from 'react-router-dom';\r\nimport { Helmet } from 'react-helmet';\r\n\r\nimport { currentCompany } from '../../../actionTypes';\r\nimport YesNoQuestionTypical from '../../containers/YesNoQuestionTypical';\r\nimport { title } from '../../routes/path';\r\nimport { formatPageTitle } from '../../../utils/textFormaters';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\n\r\nconst disablerSuffix = 'Disabled';\r\n\r\nconst YesNoQuestionDefault = ({ sectionKey }) => {\r\n const dispatch = useDispatch();\r\n const { id } = useParams();\r\n const { companyId, companyName } = useCompanyInfo(id);\r\n const { allowUpdate } = useUserPermissions(companyId);\r\n\r\n const { stack, disabler, loading, success, error } = useSelector(store => store.currentCompany.yesNoQuestions[`${sectionKey}`]);\r\n\r\n useEffect(() => {\r\n dispatch({ type: currentCompany.yesNoQuestions.get.start, payload: { sectionKey, companyId, param: {} } });\r\n }, [sectionKey, companyId, dispatch]);\r\n\r\n const handleSubmit = submitValues => {\r\n dispatch({\r\n type: currentCompany.yesNoQuestions.update.start,\r\n payload: {\r\n sectionKey,\r\n companyId,\r\n values: Object.keys(submitValues).map(key => ({ key, answer: key.endsWith(disablerSuffix) ? submitValues[key] : submitValues[key].answer })),\r\n updateStack: Object.keys(submitValues).filter(key => !key.endsWith(disablerSuffix)).map(key => submitValues[key]),\r\n disabler: disabler && { ...disabler, value: submitValues[disabler.fieldName] },\r\n },\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {formatPageTitle(title.private.company[sectionKey], { companyName })} \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default YesNoQuestionDefault;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n title: {\r\n margin: theme.spacing(3, 0),\r\n },\r\n calendarWrapper: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n tableFormWrapper: {\r\n marginBottom: theme.spacing(4),\r\n },\r\n tableWrapper: {\r\n marginBottom: theme.spacing(4),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","const options = [\r\n '100',\r\n '200',\r\n '700',\r\n '800',\r\n '900',\r\n '1000',\r\n '1040',\r\n '1090',\r\n '1220',\r\n '1221',\r\n '1311',\r\n '1381',\r\n '1382',\r\n '1389',\r\n '1400',\r\n '1520',\r\n '1531',\r\n '1540',\r\n '1600',\r\n '1623',\r\n '1700',\r\n '1731',\r\n '1791',\r\n '1799',\r\n '2000',\r\n '2011',\r\n '2013',\r\n '2015',\r\n '2020',\r\n '2024',\r\n '2030',\r\n '2033',\r\n '2040',\r\n '2050',\r\n '2052',\r\n '2060',\r\n '2070',\r\n '2080',\r\n '2082',\r\n '2086',\r\n '2090',\r\n '2092',\r\n '2100',\r\n '2111',\r\n '2200',\r\n '2211',\r\n '2221',\r\n '2250',\r\n '2253',\r\n '2273',\r\n '2300',\r\n '2320',\r\n '2330',\r\n '2340',\r\n '2390',\r\n '2400',\r\n '2421',\r\n '2430',\r\n '2451',\r\n '2452',\r\n '2510',\r\n '2511',\r\n '2520',\r\n '2522',\r\n '2531',\r\n '2540',\r\n '2590',\r\n '2600',\r\n '2611',\r\n '2621',\r\n '2631',\r\n '2650',\r\n '2670',\r\n '2673',\r\n '2711',\r\n '2721',\r\n '2731',\r\n '2732',\r\n '2741',\r\n '2750',\r\n '2761',\r\n '2771',\r\n '2780',\r\n '2790',\r\n '2800',\r\n '2810',\r\n '2820',\r\n '2821',\r\n '2833',\r\n '2834',\r\n '2835',\r\n '2836',\r\n '2840',\r\n '2842',\r\n '2844',\r\n '2851',\r\n '2860',\r\n '2870',\r\n '2890',\r\n '2891',\r\n '2911',\r\n '2950',\r\n '2990',\r\n '3011',\r\n '3021',\r\n '3050',\r\n '3060',\r\n '3080',\r\n '3081',\r\n '3086',\r\n '3089',\r\n '3100',\r\n '3140',\r\n '3211',\r\n '3220',\r\n '3221',\r\n '3231',\r\n '3241',\r\n '3250',\r\n '3260',\r\n '3270',\r\n '3272',\r\n '3281',\r\n '3290',\r\n '3310',\r\n '3312',\r\n '3317',\r\n '3320',\r\n '3330',\r\n '3334',\r\n '3341',\r\n '3350',\r\n '3357',\r\n '3360',\r\n '3390',\r\n '3411',\r\n '3412',\r\n '3420',\r\n '3430',\r\n '3433',\r\n '3440',\r\n '3442',\r\n '3443',\r\n '3444',\r\n '3448',\r\n '3451',\r\n '3452',\r\n '3460',\r\n '3470',\r\n '3480',\r\n '3490',\r\n '3510',\r\n '3523',\r\n '3524',\r\n '3530',\r\n '3531',\r\n '3532',\r\n '3533',\r\n '3537',\r\n '3540',\r\n '3541',\r\n '3550',\r\n '3555',\r\n '3559',\r\n '3560',\r\n '3561',\r\n '3562',\r\n '3564',\r\n '3567',\r\n '3569',\r\n '3570',\r\n '3571',\r\n '3572',\r\n '3575',\r\n '3576',\r\n '3577',\r\n '3578',\r\n '3579',\r\n '3580',\r\n '3585',\r\n '3590',\r\n '3600',\r\n '3612',\r\n '3613',\r\n '3620',\r\n '3621',\r\n '3630',\r\n '3634',\r\n '3640',\r\n '3651',\r\n '3652',\r\n '3661',\r\n '3663',\r\n '3669',\r\n '3670',\r\n '3672',\r\n '3674',\r\n '3677',\r\n '3678',\r\n '3679',\r\n '3690',\r\n '3695',\r\n '3711',\r\n '3713',\r\n '3714',\r\n '3715',\r\n '3716',\r\n '3720',\r\n '3721',\r\n '3724',\r\n '3728',\r\n '3730',\r\n '3743',\r\n '3751',\r\n '3760',\r\n '3790',\r\n '3812',\r\n '3821',\r\n '3822',\r\n '3823',\r\n '3824',\r\n '3825',\r\n '3826',\r\n '3827',\r\n '3829',\r\n '3841',\r\n '3842',\r\n '3843',\r\n '3844',\r\n '3845',\r\n '3851',\r\n '3861',\r\n '3873',\r\n '3910',\r\n '3911',\r\n '3931',\r\n '3942',\r\n '3944',\r\n '3949',\r\n '3950',\r\n '3960',\r\n '3990',\r\n '4011',\r\n '4013',\r\n '4100',\r\n '4210',\r\n '4213',\r\n '4220',\r\n '4231',\r\n '4400',\r\n '4412',\r\n '4512',\r\n '4513',\r\n '4522',\r\n '4581',\r\n '4610',\r\n '4700',\r\n '4731',\r\n '4812',\r\n '4813',\r\n '4822',\r\n '4832',\r\n '4833',\r\n '4841',\r\n '4899',\r\n '4900',\r\n '4911',\r\n '4922',\r\n '4923',\r\n '4924',\r\n '4931',\r\n '4932',\r\n '4941',\r\n '4950',\r\n '4953',\r\n '4955',\r\n '4961',\r\n '4991',\r\n '5000',\r\n '5010',\r\n '5013',\r\n '5020',\r\n '5030',\r\n '5031',\r\n '5040',\r\n '5045',\r\n '5047',\r\n '5050',\r\n '5051',\r\n '5063',\r\n '5064',\r\n '5065',\r\n '5070',\r\n '5072',\r\n '5080',\r\n '5082',\r\n '5084',\r\n '5090',\r\n '5094',\r\n '5099',\r\n '5110',\r\n '5122',\r\n '5130',\r\n '5140',\r\n '5141',\r\n '5150',\r\n '5160',\r\n '5171',\r\n '5172',\r\n '5180',\r\n '5190',\r\n '5200',\r\n '5211',\r\n '5271',\r\n '5311',\r\n '5331',\r\n '5399',\r\n '5400',\r\n '5411',\r\n '5412',\r\n '5500',\r\n '5531',\r\n '5600',\r\n '5621',\r\n '5651',\r\n '5661',\r\n '5700',\r\n '5712',\r\n '5731',\r\n '5734',\r\n '5735',\r\n '5810',\r\n '5812',\r\n '5900',\r\n '5912',\r\n '5940',\r\n '5944',\r\n '5945',\r\n '5960',\r\n '5961',\r\n '5990',\r\n '6021',\r\n '6022',\r\n '6029',\r\n '6035',\r\n '6036',\r\n '6099',\r\n '6111',\r\n '6141',\r\n '6153',\r\n '6159',\r\n '6162',\r\n '6163',\r\n '6172',\r\n '6189',\r\n '6199',\r\n '6200',\r\n '6211',\r\n '6221',\r\n '6282',\r\n '6311',\r\n '6321',\r\n '6324',\r\n '6331',\r\n '6351',\r\n '6361',\r\n '6399',\r\n '6411',\r\n '6500',\r\n '6510',\r\n '6512',\r\n '6513',\r\n '6519',\r\n '6531',\r\n '6532',\r\n '6552',\r\n '6770',\r\n '6792',\r\n '6794',\r\n '6795',\r\n '6798',\r\n '6799',\r\n '7000',\r\n '7011',\r\n '7200',\r\n '7310',\r\n '7311',\r\n '7320',\r\n '7330',\r\n '7331',\r\n '7340',\r\n '7350',\r\n '7359',\r\n '7361',\r\n '7363',\r\n '7370',\r\n '7371',\r\n '7372',\r\n '7373',\r\n '7374',\r\n '7377',\r\n '7380',\r\n '7381',\r\n '7384',\r\n '7385',\r\n '7389',\r\n '7500',\r\n '7510',\r\n '7600',\r\n '7699',\r\n '7812',\r\n '7819',\r\n '7822',\r\n '7829',\r\n '7830',\r\n '7841',\r\n '7900',\r\n '7948',\r\n '7990',\r\n '7997',\r\n '8000',\r\n '8011',\r\n '8050',\r\n '8051',\r\n '8060',\r\n '8062',\r\n '8071',\r\n '8082',\r\n '8090',\r\n '8093',\r\n '8111',\r\n '8200',\r\n '8300',\r\n '8351',\r\n '8600',\r\n '8700',\r\n '8711',\r\n '8731',\r\n '8734',\r\n '8741',\r\n '8742',\r\n '8744',\r\n '8880',\r\n '8888',\r\n '8900',\r\n '9721',\r\n '9995',\r\n '238990',\r\n '16290501',\r\n];\r\n\r\nexport default options.map(key => ({\r\n label: key,\r\n value: key,\r\n}));\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n fileContainer: {\r\n margin: theme.spacing(2, 0),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { useEffect } from 'react';\r\nimport { Grid, Link as MaterialLink } from '@material-ui/core';\r\nimport { FastField, Formik } from 'formik';\r\n\r\nimport FormDatePicker from '../../../components/FormDataPicker';\r\nimport { interStates } from '../../../../utils/constants/usaStates';\r\nimport sicCodes from '../../../../utils/constants/sicCodes';\r\nimport { changeNullToEmptyString, formatDateForInitialValues } from '../../../../utils/containersHelpers';\r\nimport PopoverPopup from '../../../components/PopoverPopup';\r\nimport { sicCodesList } from '../../../../utils/constants/sicCodesLink';\r\nimport useStyles from './styles';\r\nimport FileUploaderInput from '../../../components/FileUploaderInput';\r\nimport { EMRSchema } from '../../../../utils/validate/shemas';\r\nimport FormAutocomplete from '../../../components/FormAutocomplete';\r\n\r\nconst WatchEffect = ({ dirty, isValid, values, formUpdate }) => {\r\n useEffect(() => {\r\n formUpdate(values, dirty, isValid);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dirty, values, isValid]);\r\n return null;\r\n};\r\n\r\nconst contentForPopover = (\r\n \r\n List of Standard Industrial Classification (SIC) Codes\r\n \r\n);\r\n\r\nconst EMRateInfoForm = ({ isBasicContractor, formUpdate, handleSubmit, emrInfo, companyId, naicsCodes }) => {\r\n const classes = useStyles();\r\n\r\n const naicsOptions = naicsCodes.map(key => ({\r\n label: key.description,\r\n value: key.code,\r\n }));\r\n\r\n const initialValues = formatDateForInitialValues(changeNullToEmptyString(emrInfo));\r\n initialValues.sic = emrInfo.sic ? emrInfo.sic.toString() : '';\r\n\r\n return (\r\n \r\n {props => {\r\n return (\r\n <>\r\n \r\n \r\n {!isBasicContractor && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!isBasicContractor && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default EMRateInfoForm;\r\n","export const sicCodesList = 'https://www.sec.gov/info/edgar/siccodes.htm';\r\n","import React, { useState } from 'react';\r\nimport { Grid, Typography } from '@material-ui/core';\r\nimport isEqual from 'lodash.isequal';\r\n\r\nimport useStyles from './styles';\r\nimport PageLoader from '../../components/PageLoader';\r\nimport FormBody from '../../components/FormBody';\r\nimport LoadingButton from '../../components/LoadingButton';\r\nimport EmrRateInfo from './EmrRateInfo';\r\nimport CommonTableForm from '../CommonTable';\r\nimport { emrTableSchema } from '../../../utils/validate/shemas';\r\nimport FormNumberInput from '../../components/FormNumberInput';\r\nimport PromptNotification from '../../components/PromptComponent';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport { getCurrentYearsOptions } from '../../../utils/constants/yearHelper';\r\n\r\nconst EMRateForm = ({\r\n handleSubmit,\r\n loading,\r\n emrArrays,\r\n emrInfo,\r\n success,\r\n error,\r\n allowUpdate,\r\n companyId,\r\n naicsCodes,\r\n}) => {\r\n const classes = useStyles();\r\n const { isBasicContractor } = useCompanyInfo(companyId);\r\n\r\n const [status, setStatus] = useState({\r\n form: {\r\n values: {},\r\n dirty: false,\r\n isValid: isBasicContractor,\r\n },\r\n table: {\r\n values: [],\r\n changed: false,\r\n },\r\n });\r\n\r\n const handleSubmitClick = () => {\r\n const naicsIdArray = naicsCodes.filter(obj => obj.code === status.form.values.naicsCode);\r\n\r\n const valuesToSend = {\r\n emrInfo: {\r\n ...status.form.values,\r\n state: status.form.values.state || null,\r\n anniversaryDate: status.form.values.anniversaryDate || null,\r\n sic: status.form.values.sic || null,\r\n naicsCode: status.form.values.naicsCode || null,\r\n naicsId: naicsIdArray.length ? naicsIdArray[0].id : null,\r\n },\r\n emrs: status.table.values.map(item => ({\r\n id: item.saveId,\r\n year: item.year,\r\n amount: parseFloat(item.amount),\r\n })),\r\n };\r\n handleSubmit(valuesToSend);\r\n\r\n setStatus({\r\n form: {\r\n ...status.form,\r\n dirty: false,\r\n },\r\n table: {\r\n ...status.table,\r\n changed: false,\r\n },\r\n });\r\n };\r\n\r\n if (loading && !Object.keys(emrInfo).length) return ;\r\n const canSubmit = (status.form.isValid && status.form.dirty) || (status.form.isValid && status.table.changed);\r\n\r\n const tableData = emrArrays.map(item => ({ ...item, saveId: item.id, id: item.year }));\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n setStatus({ ...status, form: { values, dirty, isValid } })}\r\n naicsCodes={naicsCodes}\r\n />\r\n \r\n \r\n EMR per year\r\n \r\n \r\n \r\n setStatus({\r\n ...status,\r\n table: {\r\n values,\r\n changed: !isEqual(values, tableData),\r\n },\r\n })\r\n }\r\n allowUpdate={allowUpdate}\r\n label=\"EMR\"\r\n initialTableValues={{ saveId: '0', year: '', amount: '' }}\r\n fieldName=\"amount\"\r\n maskType=\"floatNumber\"\r\n fieldComponent={FormNumberInput}\r\n validationSchema={emrTableSchema}\r\n getYearsOptions={getCurrentYearsOptions}\r\n />\r\n \r\n {allowUpdate && (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\nexport default EMRateForm;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useParams } from 'react-router-dom';\r\nimport { Helmet } from 'react-helmet';\r\n\r\nimport { title, sectionKey } from '../../routes/path';\r\nimport { currentCompany } from '../../../actionTypes';\r\nimport EMRateForm from '../../containers/EMRate';\r\nimport { formatPageTitle } from '../../../utils/textFormaters';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\n\r\nconst EMRatePage = () => {\r\n const dispatch = useDispatch();\r\n const { id } = useParams();\r\n const { companyId, companyName } = useCompanyInfo(id);\r\n const { allowUpdate } = useUserPermissions(companyId);\r\n\r\n const { emrInfo, emrArrays, loading, success, error, naicsCodes } = useSelector(store => store.currentCompany.emrate);\r\n\r\n useEffect(() => {\r\n dispatch({ type: currentCompany.emrate.get.start, payload: { companyId } });\r\n }, [companyId, dispatch]);\r\n\r\n const handleSubmit = values => {\r\n dispatch({\r\n type: currentCompany.emrate.update.start,\r\n payload: { companyId, values, sectionKey: sectionKey.private.company.emr },\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {formatPageTitle(title.private.company.emr, { companyName })}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default EMRatePage;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n wrapper: {\r\n padding: theme.spacing(2),\r\n },\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n subFormContainer: {\r\n padding: theme.spacing(0, 1),\r\n },\r\n tableWrapper: {\r\n margin: theme.spacing(3, 0),\r\n borderWidth: 1,\r\n borderStyle: 'solid',\r\n borderColor: theme.palette.grey[300],\r\n },\r\n columnTitle: {\r\n backgroundColor: theme.palette.grey[300],\r\n },\r\n tableCell: {\r\n borderBottom: theme.spacing(0),\r\n },\r\n checkboxContainer: {\r\n margin: theme.spacing(0),\r\n },\r\n inputRow: {\r\n width: theme.spacing(14),\r\n height: theme.spacing(4),\r\n '& > div > input': {\r\n height: theme.spacing(1),\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { TableCell, TableRow, Typography } from '@material-ui/core';\r\nimport { FastField } from 'formik';\r\n\r\nimport FormCheckbox from '../../../components/FormCheckbox';\r\nimport FormInput from '../../../components/FormInput';\r\nimport useStyles from './styles';\r\n\r\nconst CraftsmanTableRow = React.memo(({ item, categoryKey, rowIndex }) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n \r\n {item.name}\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n );\r\n});\r\n\r\nexport default CraftsmanTableRow;\r\n","import React from 'react';\r\nimport { Grid, Table, TableBody, TableCell, TableHead, TableRow } from '@material-ui/core';\r\nimport { FieldArray } from 'formik';\r\n\r\nimport useStyles from './styles';\r\nimport CraftsmanTableRow from './CraftsmanTableRow';\r\n\r\nconst CraftsmanCertificationSubForm = ({ data, categoryKey }) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Craft \r\n NCCER \r\n NCCOO \r\n NICET \r\n App Code \r\n OLBAT \r\n Speciality \r\n Other \r\n \r\n \r\n \r\n {\r\n return data.map((item, index) => (\r\n \r\n ));\r\n }}\r\n />\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default CraftsmanCertificationSubForm;\r\n","import React from 'react';\r\nimport { Grid, Typography } from '@material-ui/core';\r\nimport { FastField, Formik } from 'formik';\r\n\r\nimport { craftsmanValidateSchema } from '../../../utils/validate/shemas';\r\nimport LoadingButton from '../../components/LoadingButton';\r\nimport FormBody from '../../components/FormBody';\r\nimport FormRadio from '../../components/FormRadio';\r\nimport { yesnoOptions, yesnonaOptions } from '../../../utils/constants/formConstats';\r\nimport useStyles from './styles';\r\nimport CraftsmanCertificationSubForm from './CraftsmanCertificationSubForm';\r\nimport { modifyArrayFieldsNullToEmptyString } from './modifyCraftsman';\r\nimport PageLoader from '../../components/PageLoader';\r\nimport PromptNotification from '../../components/PromptComponent';\r\nimport { changeNotAvailableToNA } from '../../../utils/containersHelpers';\r\n\r\nconst CraftsmanCertificationForm = ({ handleSubmit, allowUpdate, initialValues, loading, success, error }) => {\r\n const classes = useStyles();\r\n\r\n const formattedValues = initialValues && changeNotAvailableToNA(modifyArrayFieldsNullToEmptyString(initialValues));\r\n\r\n if (!formattedValues) return ;\r\n\r\n return (\r\n \r\n {props => {\r\n const { hasTrainingPrograms, hasPracticalTestingPrograms } = props.values;\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n Do you comply with the SLCUC Participation Policy for contractor worker certification?\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Do you comply with the Golden Triangle Business Roundtable Crat Certification and Assessment Policy?\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Do you have training/certification programs for certifying \"A\" Craftsmen?\r\n \r\n \r\n \r\n \r\n \r\n {hasTrainingPrograms === 'Yes' && (\r\n \r\n )}\r\n\r\n \r\n \r\n Do you have practical (hands-on) testing programs for certifying \"A\" Craftsmen?\r\n \r\n \r\n \r\n \r\n \r\n {hasPracticalTestingPrograms === 'Yes' && (\r\n \r\n )}\r\n\r\n \r\n Is the Company an accredited NCCER Assessment Center?\r\n \r\n \r\n \r\n \r\n \r\n {allowUpdate && (\r\n \r\n )}\r\n \r\n \r\n );\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default CraftsmanCertificationForm;\r\n","import { changeEmptyStringToNull, changeNullToEmptyString } from '../../../utils/containersHelpers';\r\n\r\nexport const modifyArrayFieldsNullToEmptyString = obj => {\r\n const merged = {};\r\n Object.keys(obj).forEach(key => {\r\n if (Array.isArray(obj[key])) {\r\n merged[key] = obj[key].map(item => changeNullToEmptyString(item));\r\n } else {\r\n merged[key] = obj[key];\r\n }\r\n });\r\n return merged;\r\n};\r\n\r\nexport const modifyArrayFieldsEmptyStringToNull = obj => {\r\n const merged = {};\r\n Object.keys(obj).forEach(key => {\r\n if (Array.isArray(obj[key])) {\r\n merged[key] = obj[key].map(item => changeEmptyStringToNull(item));\r\n } else {\r\n merged[key] = obj[key];\r\n }\r\n });\r\n return merged;\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport { Helmet } from 'react-helmet';\r\nimport { useParams } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { title, sectionKey } from '../../routes/path';\r\nimport { formatPageTitle } from '../../../utils/textFormaters';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\nimport CraftsmanCertificationForm from '../../containers/CraftsmanCertificationForm';\r\nimport { currentCompany } from '../../../actionTypes';\r\nimport { modifyArrayFieldsEmptyStringToNull } from '../../containers/CraftsmanCertificationForm/modifyCraftsman';\r\nimport { changeNAtoNotAvailable } from '../../../utils/containersHelpers';\r\n\r\nconst CraftsmanCertification = () => {\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n\r\n const { companyId, companyName } = useCompanyInfo(id);\r\n const { allowUpdate } = useUserPermissions(companyId);\r\n\r\n const { state, loading, success, error } = useSelector(state => state.currentCompany.craftsman);\r\n\r\n useEffect(() => {\r\n dispatch({ type: currentCompany.craftsman.get.start, payload: { companyId } });\r\n }, [companyId, dispatch]);\r\n\r\n const handleSubmit = values => {\r\n const formattedValues = changeNAtoNotAvailable(modifyArrayFieldsEmptyStringToNull(values));\r\n dispatch({\r\n type: currentCompany.craftsman.update.start,\r\n payload: {\r\n companyId,\r\n values: formattedValues,\r\n sectionKey: sectionKey.private.company.craftsmanCertification,\r\n },\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {formatPageTitle(title.private.company.craftsmanCertification, { companyName })} \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CraftsmanCertification;\r\n","import createEnum from '../actionTypesHelpers/createEnum';\r\n\r\nfunction createOptionsEnum(obj) {\r\n return Object.keys(obj).reduce((acc, key) => [...acc, { value: key, label: obj[key] }], []);\r\n}\r\n\r\nexport const mark = createEnum({\r\n '0': null,\r\n '1': null,\r\n '2': null,\r\n '3': null,\r\n '4': null,\r\n '5': null,\r\n '6': null,\r\n '7': null,\r\n '8': null,\r\n '9': null,\r\n '10': null,\r\n F: null,\r\n});\r\n\r\nexport const text = createEnum({\r\n IsFilledOut: 'Is filled out',\r\n IsNotFilledOut: 'Is not filled out',\r\n IsEqualTo: 'Is equal to',\r\n IsNotEqualTo: 'Is not equal to',\r\n});\r\n\r\nexport const checkbox = createEnum({\r\n IsFilledOut: 'Is Checked',\r\n IsNotFilledOut: 'Is not Checked',\r\n});\r\n\r\nexport const yesNo = createEnum({\r\n IsYes: 'Is Yes',\r\n IsNo: 'Is No',\r\n IsNA: 'Is N/A',\r\n IsFilledOut: 'Is filled out',\r\n IsNotFilledOut: 'Is not filled out',\r\n});\r\n\r\nexport const number = createEnum({\r\n IsFilledOut: 'Is filled out',\r\n IsNotFilledOut: 'Is not filled out',\r\n IsEqualTo: 'Is equal to',\r\n IsNotEqualTo: 'Is not equal to',\r\n IsGreaterThan: 'Is greater than',\r\n IsLessThan: 'Is less than',\r\n});\r\n\r\nexport const date = createEnum({\r\n IsFilledOut: 'Is filled out',\r\n IsNotFilledOut: 'Is not filled out',\r\n IsEqualTo: 'Is equal to',\r\n IsNotEqualTo: 'Is not equal to',\r\n IsBefore: 'Is before',\r\n IsAfter: 'Is after',\r\n IsBeforeToday: 'Is before today (update every day)',\r\n IsAfterToday: 'Is after today (update every day)',\r\n});\r\n\r\nexport const upload = createEnum({\r\n HasUploadedFiles: 'Has uploaded files',\r\n NoFilesUploaded: 'No files uploaded',\r\n NumberOfFilesIs: 'Number of files is',\r\n});\r\n\r\nexport const table = createEnum({\r\n HasRecords: 'Has records',\r\n DoesNotHaveRecords: 'Does not have records',\r\n NumberOfRecordsIs: 'Number of records is',\r\n});\r\n\r\nexport const dropdown = createEnum({\r\n IsFilledOut: 'Is filled out',\r\n IsNotFilledOut: 'Is not filled out',\r\n IsEqualTo: 'Is equal to',\r\n IsNotEqualTo: 'Is not equal to',\r\n});\r\n\r\nexport const options = {\r\n None: [],\r\n Mark: createOptionsEnum(mark),\r\n Text: createOptionsEnum(text),\r\n Paragraph: createOptionsEnum(text),\r\n Checkbox: createOptionsEnum(checkbox),\r\n YesNo: createOptionsEnum(yesNo),\r\n Number: createOptionsEnum(number),\r\n Date: createOptionsEnum(date),\r\n Upload: createOptionsEnum(upload),\r\n Table: createOptionsEnum(table),\r\n Dropdown: createOptionsEnum(dropdown),\r\n};\r\n\r\nexport const emptyValueFieldKeys = [\r\n 'IsYes',\r\n 'IsNo',\r\n 'IsNA',\r\n 'IsFilledOut',\r\n 'IsNotFilledOut',\r\n 'IsBeforeToday',\r\n 'IsAfterToday',\r\n 'HasRecords',\r\n 'DoesNotHaveRecords',\r\n 'HasUploadedFiles',\r\n 'NoFilesUploaded',\r\n];\r\n\r\nexport const QuestionType = createEnum({\r\n Text: 'Text field',\r\n Paragraph: 'Paragraph',\r\n YesNo: 'Yes/No',\r\n Checkbox: 'Checkbox',\r\n Number: 'Number field',\r\n Dropdown: 'Dropdown',\r\n Date: 'Date',\r\n Upload: 'Upload',\r\n Table: 'Table',\r\n});\r\n\r\nexport const QuestionTypesObject = Object.keys(QuestionType).map(key => ({\r\n [key]: key,\r\n}));\r\n\r\nexport const optionQuestionTypes = Object.keys(QuestionType).map(key => ({\r\n label: QuestionType[key],\r\n value: key,\r\n}));\r\n\r\nexport const scores = createEnum({\r\n All: 'All',\r\n WithScores: 'With Score',\r\n WithoutScores: 'Without Score',\r\n});\r\n\r\nexport const scoreTypes = Object.keys(scores).map(key => ({\r\n label: scores[key],\r\n value: key,\r\n}));\r\n\r\nexport const visibilityTypes = createEnum({\r\n All: 'All',\r\n true: 'Visible',\r\n false: 'Hidden',\r\n});\r\n\r\nexport const visibilityOptions = Object.keys(visibilityTypes).map(key => ({\r\n label: visibilityTypes[key],\r\n value: key,\r\n}));\r\n","import React from 'react';\r\nimport { Grid, IconButton } from '@material-ui/core';\r\n\r\nconst ButtonIcon = ({ handler, children }) => {\r\n return (\r\n \r\n \r\n {children}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ButtonIcon;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n success: {\r\n color: theme.palette.success.main,\r\n },\r\n description: {\r\n wordWrap: 'break-word',\r\n },\r\n table: {\r\n '& .MuiTableCell-head': {\r\n backgroundColor: theme.palette.background.primary.main,\r\n color: 'white',\r\n },\r\n '& .MuiTableSortLabel-root': {\r\n color: 'white',\r\n '&:hover': {\r\n color: 'white',\r\n },\r\n },\r\n '& .MuiTableRow-root': {\r\n '&:hover': {\r\n backgroundColor: 'rgb(224, 224, 224)',\r\n },\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport MaterialTable from 'material-table';\r\nimport { Typography, CircularProgress } from '@material-ui/core';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport CheckIcon from '@material-ui/icons/Check';\r\n\r\nimport { QuestionType } from '../../../../utils/enums/questions';\r\nimport ButtonIcon from './ButtonIcon';\r\nimport useStyles from './styles';\r\n\r\nconst gradeF = 'F';\r\n\r\nconst getMaxScore = values => {\r\n const gradeList = values.filter(value => value.grade !== gradeF);\r\n return Math.max(...gradeList.map(value => value.grade), 0);\r\n};\r\n\r\nconst Table = ({ list, updateList, handleModal, loading }) => {\r\n const classes = useStyles();\r\n const columns = [\r\n {\r\n title: 'Question title',\r\n field: 'questionTitle',\r\n render: ({ questionTitle }) => {questionTitle},\r\n },\r\n {\r\n title: 'Description',\r\n field: 'description',\r\n render: ({ description }) => (\r\n \r\n {description}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Type',\r\n field: 'type',\r\n render: ({ type }) => {QuestionType[type]},\r\n },\r\n {\r\n title: 'Section',\r\n field: 'section',\r\n render: ({ section }) => {section},\r\n },\r\n {\r\n title: 'Page',\r\n field: 'page',\r\n render: ({ page }) => {page},\r\n },\r\n {\r\n title: 'Max Score',\r\n field: 'companyRules',\r\n render: ({ id, companyRules }) => (\r\n <>\r\n {updateList.includes(id) ? (\r\n \r\n ) : (\r\n {getMaxScore(companyRules)}\r\n )}\r\n \r\n ),\r\n cellStyle: {\r\n textAlign: 'center',\r\n },\r\n headerStyle: {\r\n textAlign: 'center',\r\n },\r\n width: 100,\r\n },\r\n {\r\n title: 'Visibility',\r\n field: 'visibility',\r\n render: ({ visibility }) => visibility && ,\r\n cellStyle: {\r\n textAlign: 'center',\r\n },\r\n headerStyle: {\r\n textAlign: 'center',\r\n },\r\n width: 100,\r\n },\r\n {\r\n title: 'Actions',\r\n render: rowData => (\r\n handleModal(rowData)}>\r\n \r\n \r\n ),\r\n cellStyle: {\r\n textAlign: 'center',\r\n },\r\n headerStyle: {\r\n textAlign: 'center',\r\n },\r\n width: 100,\r\n },\r\n ];\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default Table;\r\n","import optionsCompanyRoleTypes from '../constants/companyRoleTypes';\r\nimport optionsUsaStates from '../constants/usaStates';\r\nimport optionsBusinessFormTypes from '../constants/businessFormTypes';\r\nimport optionsEeoCategoryTypes from '../constants/eeoCategoryTypes';\r\nimport optionsSicCodes from '../constants/sicCodes';\r\nimport { frequencyOptions, fleetIndividualInsurance } from '../constants/formConstats';\r\n\r\nconst dropdownOptions = {\r\n None: [],\r\n Type: optionsCompanyRoleTypes,\r\n State: optionsUsaStates,\r\n FormOfBusiness: optionsBusinessFormTypes,\r\n EeoCategory: optionsEeoCategoryTypes,\r\n Sic: optionsSicCodes,\r\n VehicleType: fleetIndividualInsurance,\r\n Frequency: frequencyOptions,\r\n};\r\n\r\nexport default dropdownOptions;\r\n","import React from 'react';\r\nimport { FastField, Field } from 'formik';\r\nimport MaterialTable from 'material-table';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport { Button, Grid, Typography } from '@material-ui/core';\r\n\r\nimport FormSelect from '../../../components/FormSelect';\r\nimport { options, emptyValueFieldKeys } from '../../../../utils/enums/questions';\r\nimport renderValue from './renderValue';\r\nimport FormInput from '../../../components/FormInput';\r\n\r\nconst FormTypes = ({ values, optionType, createOptions, arrayHelpers, type, pqfFieldId }) => {\r\n const generatedefaultConditionType = () => {\r\n const existConditionType = values.map(item => item.conditionType);\r\n return options[type].filter(type => !existConditionType.includes(type.value));\r\n };\r\n\r\n const generateCurrentOptions = current => {\r\n const exceptions = values\r\n .map(item => item.conditionType)\r\n .filter(type => type !== current && emptyValueFieldKeys.includes(type));\r\n return options[type].filter(option => !exceptions.includes(option.value));\r\n };\r\n\r\n const defaultAdd = {\r\n pqfFieldId,\r\n conditionType: generatedefaultConditionType().length\r\n ? generatedefaultConditionType()[0].value\r\n : generatedefaultConditionType().value,\r\n conditionValue: '',\r\n grade: options.Mark[0].value,\r\n };\r\n\r\n const columns = [\r\n {\r\n title: 'Options',\r\n field: 'conditionType',\r\n render: ({ index, conditionType }) => (\r\n \r\n ),\r\n },\r\n {\r\n title: 'Values',\r\n field: 'conditionValue',\r\n render: ({ conditionType, index }) => renderValue(type, optionType, createOptions, conditionType, index),\r\n },\r\n {\r\n title: 'Score',\r\n field: 'score',\r\n render: ({ index }) => (\r\n \r\n ),\r\n },\r\n ];\r\n\r\n const actions = [\r\n {\r\n icon: () => ,\r\n tooltip: 'Remove',\r\n onClick: (event, rowData) => arrayHelpers.remove(rowData.index),\r\n },\r\n ];\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n List rules:\r\n \r\n ({ ...item, index }))}\r\n columns={columns}\r\n actions={actions}\r\n options={{\r\n sorting: false,\r\n search: false,\r\n editable: false,\r\n draggable: false,\r\n toolbar: false,\r\n paging: false,\r\n actionsColumnIndex: -1,\r\n rowStyle: {\r\n verticalAlign: 'top',\r\n },\r\n }}\r\n />\r\n \r\n {!!generateCurrentOptions().length && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default FormTypes;\r\n","import React from 'react';\r\nimport { FastField } from 'formik';\r\n\r\nimport FormInput from '../../../components/FormInput';\r\nimport FormDatePicker from '../../../components/FormDataPicker';\r\nimport FormSelect from '../../../components/FormSelect';\r\nimport { emptyValueFieldKeys } from '../../../../utils/enums/questions';\r\nimport optionTypes from '../../../../utils/enums/options';\r\n\r\nconst loadedOptionsKey = 'FormBuilderField';\r\n\r\nexport default function(type, optionType, createOptions, conditionType, index) {\r\n const options = optionType === loadedOptionsKey ? createOptions : optionTypes[optionType];\r\n\r\n const fieldType = {\r\n Text: ,\r\n Paragraph: ,\r\n Number: ,\r\n Date: ,\r\n Upload: ,\r\n Table: ,\r\n Dropdown: ,\r\n };\r\n return (!emptyValueFieldKeys.includes(conditionType) && fieldType[type]) || null;\r\n}\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n paper: {\r\n minWidth: theme.spacing(100),\r\n },\r\n modalActionsRow: {\r\n padding: theme.spacing(1, 3, 2),\r\n display: 'block',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import * as Yup from 'yup';\r\n\r\nimport messages from '../../../../utils/validate/errorMessages';\r\nimport { options, emptyValueFieldKeys } from '../../../../utils/enums/questions';\r\nimport optionTypes from '../../../../utils/enums/options';\r\nimport { dateCheck } from '../../../../utils/validate/method';\r\n\r\nconst loadedOptionsKey = 'FormBuilderField';\r\n\r\nYup.addMethod(Yup.mixed, 'dateCheck', dateCheck);\r\n\r\nconst types = {\r\n Text: () =>\r\n Yup.string().when('conditionType', {\r\n is: key => emptyValueFieldKeys.includes(key),\r\n then: schema => schema.notRequired(),\r\n otherwise: schema => schema.max(100, messages.requiredValueMax100).required(messages.required),\r\n }),\r\n Paragraph: () =>\r\n Yup.string().when('conditionType', {\r\n is: key => emptyValueFieldKeys.includes(key),\r\n then: schema => schema.notRequired(),\r\n otherwise: schema => schema.max(100, messages.requiredValueMax100).required(messages.required),\r\n }),\r\n YesNo: () => null,\r\n Checkbox: () => null,\r\n Number: () =>\r\n Yup.number().when('conditionType', {\r\n is: key => emptyValueFieldKeys.includes(key),\r\n then: schema => schema.notRequired(),\r\n otherwise: schema => schema.required(messages.required),\r\n }),\r\n Date: () =>\r\n Yup.mixed()\r\n .nullable()\r\n .when('conditionType', {\r\n is: key => emptyValueFieldKeys.includes(key),\r\n then: schema => schema.nullable().notRequired(),\r\n otherwise: schema => schema.dateCheck(messages.invalidDate).required(messages.required),\r\n }),\r\n Upload: () =>\r\n Yup.number().when('conditionType', {\r\n is: key => emptyValueFieldKeys.includes(key),\r\n then: schema => schema.notRequired(),\r\n otherwise: schema => schema.required(messages.required),\r\n }),\r\n Table: () =>\r\n Yup.number().when('conditionType', {\r\n is: key => emptyValueFieldKeys.includes(key),\r\n then: schema => schema.notRequired(),\r\n otherwise: schema => schema.required(messages.required),\r\n }),\r\n Dropdown: (dropdownType, loadedOptions) =>\r\n Yup.string().when('conditionType', {\r\n is: key => emptyValueFieldKeys.includes(key),\r\n then: schema => schema.notRequired(),\r\n otherwise: schema => {\r\n const optionList = dropdownType === loadedOptionsKey ? loadedOptions : optionTypes[dropdownType];\r\n return schema\r\n .oneOf(\r\n optionList.map(opt => `${opt.value}`),\r\n messages.valueIncorrect,\r\n )\r\n .required(messages.required);\r\n },\r\n }),\r\n};\r\n\r\nexport default function(type, dropdownType, loadedOptions) {\r\n return Yup.object().shape({\r\n visibility: Yup.bool(),\r\n description: Yup.string()\r\n .nullable()\r\n .max(255, messages.requiredDescriptionMax255),\r\n companyRules: Yup.array().of(\r\n Yup.object().shape({\r\n conditionType: Yup.string()\r\n .oneOf(options[type].map(opt => opt.value))\r\n .required(messages.required),\r\n score: Yup.string().oneOf(options.Mark.map(opt => opt.value)),\r\n conditionValue: types[type](dropdownType, loadedOptions),\r\n }),\r\n ),\r\n });\r\n}\r\n","import React, { useEffect } from 'react';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport { Button, DialogActions, DialogTitle, DialogContent, Grid, Typography } from '@material-ui/core';\r\nimport { Field, FieldArray, Formik } from 'formik';\r\n\r\nimport FormTypes from '../FormTypes';\r\nimport useStyles from './styles';\r\nimport schema from './validation';\r\nimport FormSwitch from '../../../components/FormSwitch';\r\n\r\nconst SwitchWrapper = props => {\r\n const countParams = props.form.values.companyRules.length > 0;\r\n useEffect(() => {\r\n if (props.form.dirty) {\r\n props.form.setFieldValue(props.field.name, countParams);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [countParams]);\r\n return ;\r\n};\r\n\r\nconst ModalContainer = ({ open, options, data, handleClose, handleClear, handleSave }) => {\r\n const classes = useStyles();\r\n const onSubmit = values => {\r\n handleSave(data.id, values);\r\n handleClose();\r\n };\r\n\r\n const initialValues = {\r\n ...data,\r\n description: (data && data.description) || '',\r\n companyRules:\r\n (data &&\r\n data.companyRules.map(item => ({\r\n ...item,\r\n conditionValue: item.conditionValue || '',\r\n }))) ||\r\n [],\r\n };\r\n\r\n const createOptions =\r\n data &&\r\n data.key &&\r\n options\r\n .filter(item => item.pqfFieldKey === data.key)\r\n .map(opt => ({\r\n value: opt.id,\r\n label: opt.text,\r\n }));\r\n\r\n return (\r\n \r\n {({ values, handleSubmit, resetForm, dirty, isValid }) => (\r\n {\r\n resetForm();\r\n handleClear();\r\n }}\r\n classes={{\r\n paper: classes.paper,\r\n }}\r\n >\r\n {data && data.questionTitle}\r\n \r\n {data && (\r\n (\r\n \r\n )}\r\n />\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Visibility \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n save\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ModalContainer;\r\n","import { useEffect } from 'react';\r\n\r\nconst Effect = ({ submitForm, values }) => {\r\n const { questionTitle, section, page, questionType, withScores, visibility } = values;\r\n\r\n useEffect(() => {\r\n submitForm();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [questionTitle, section, page, questionType, withScores, visibility]);\r\n\r\n return '';\r\n};\r\n\r\nexport default Effect;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n filterSubContainer: {\r\n marginRight: theme.spacing(3),\r\n },\r\n gutterBottom: {\r\n padding: theme.spacing(0, 0, 1),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { useState } from 'react';\r\nimport { Formik, FastField, Field } from 'formik';\r\nimport { Button, Grid, Collapse } from '@material-ui/core';\r\nimport debounce from 'lodash.debounce';\r\nimport GetAppIcon from '@material-ui/icons/GetApp';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\n\r\nimport FormInput from '../../../components/FormInput';\r\nimport FormAutocomplete from '../../../components/FormAutocomplete';\r\nimport ShowMoreLessFilters from '../../../components/ShowMoreLessFilters';\r\nimport { scoreTypes, visibilityOptions, optionQuestionTypes } from '../../../../utils/enums/questions';\r\nimport { clearFilterValues, anyFilters, isEmptyFilterForm } from '../../../../utils/containersHelpers';\r\nimport { filterQuestions } from '../../../../utils/validate/shemas';\r\nimport Effect from './Effect';\r\nimport useStyles from './styles';\r\n\r\nconst addSpaceBetweenWords = str => str.replace(/(([A-Z]+)|([0-9]+))/g, ' $1').trim();\r\n\r\nconst createList = values => values.map(value => ({ label: addSpaceBetweenWords(value), value }));\r\n\r\nconst getRelatedSections = (sections, page) => {\r\n return Object.keys(sections).filter(key => page === sections[key]);\r\n};\r\n\r\nconst getAvailableSections = (selectedPage, sections) => {\r\n return selectedPage ? getRelatedSections(sections, selectedPage) : Object.keys(sections);\r\n};\r\n\r\nconst getAvailablePages = (selectedSection, sections, pages) => {\r\n return selectedSection ? [sections[selectedSection]] : pages;\r\n};\r\n\r\nconst FiltersForm = ({\r\n initialFilterDefinitions,\r\n initialValues,\r\n handleOnChange,\r\n selectedPage,\r\n selectedSection,\r\n handleOnExport,\r\n exporting,\r\n}) => {\r\n const classes = useStyles();\r\n\r\n const { questionTitle, ...hiddenValues } = initialValues;\r\n\r\n const checkOpenMore = anyFilters(hiddenValues);\r\n const clearValues = clearFilterValues(initialValues);\r\n const isEmptyForm = isEmptyFilterForm(initialValues);\r\n\r\n const [moreFilter, setMoreFilter] = useState(checkOpenMore);\r\n\r\n const { pages, sections } = initialFilterDefinitions;\r\n\r\n const sectionsList = sections ? createList(getAvailableSections(selectedPage, sections)) : [];\r\n\r\n const pagesList = sections && pages ? createList(getAvailablePages(selectedSection, sections, pages)) : [];\r\n\r\n return (\r\n \r\n {({ submitForm, values, setValues }) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setValues(clearValues)}\r\n />\r\n \r\n \r\n : }\r\n onClick={() => handleOnExport()}\r\n disabled={exporting}\r\n >\r\n Export\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default FiltersForm;\r\n","import React, { useState } from 'react';\r\nimport { Grid } from '@material-ui/core';\r\n\r\nimport PaginationWithCustomRows from '../../components/PaginationWithCustomRows';\r\nimport PageLoader from '../../components/PageLoader';\r\nimport Table from './Table';\r\nimport Modal from './Modal';\r\nimport FiltersForm from './FiltersForm';\r\n\r\nconst Questions = ({\r\n handleSave,\r\n options,\r\n fullInfoLoading,\r\n table,\r\n pagination,\r\n filter,\r\n handleExport,\r\n exporting,\r\n}) => {\r\n const [modal, setModal] = useState(false);\r\n const [modalData, setModalData] = useState(null);\r\n\r\n const { initialFilterDefinitions, handleFilter, initialFilterValues, selectedPage, selectedSection } = filter;\r\n const { total, itemsPerPage, currentPage, handleChangePage, handleRowAmountChange } = pagination;\r\n const { list, updateList, loading } = table;\r\n\r\n return fullInfoLoading ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setModal(true);\r\n setModalData(item);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n setModal(false)}\r\n handleClear={() => setModalData(null)}\r\n handleSave={handleSave}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default Questions;\r\n","/* eslint-disable react-hooks/exhaustive-deps */\r\nimport React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useParams } from 'react-router-dom';\r\nimport { Helmet } from 'react-helmet';\r\nimport qs from 'query-string';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { push } from 'connected-react-router';\r\n\r\nimport { currentCompany } from '../../../actionTypes';\r\nimport { title } from '../../routes/path';\r\nimport QuestionsContainer from '../../containers/Questions';\r\nimport { scores, visibilityTypes } from '../../../utils/enums/questions';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport { formatPageTitle } from '../../../utils/textFormaters';\r\nimport { skipFalsyValues } from '../../../utils/pageHelpers';\r\nimport { contractorLevels, contractorLevelPathEnum } from '../../../utils/constants';\r\n\r\nconst Questions = () => {\r\n const dispatch = useDispatch();\r\n const { id, contractorLevel: contractorLevelPath } = useParams();\r\n const { companyId, companyName } = useCompanyInfo(id);\r\n const location = useLocation();\r\n\r\n const { loading, list, updateList, total, filterDefinitions, fullInfoLoading, options, exporting } = useSelector(\r\n state => state.currentCompany.questions,\r\n );\r\n\r\n const contractorLevel =\r\n Object.keys(contractorLevelPathEnum).filter(item => contractorLevelPathEnum[item] === contractorLevelPath)[0] ||\r\n null;\r\n\r\n const {\r\n itemsPerPage = '50',\r\n currentPage = '1',\r\n questionTitle = '',\r\n section = '',\r\n page = '',\r\n questionType = '',\r\n withScores = '',\r\n visibility = '',\r\n } = qs.parse(location.search, { comma: true });\r\n\r\n const filterValues = {\r\n questionTitle,\r\n section,\r\n page,\r\n questionType,\r\n withScores: withScores === scores.All ? '' : withScores,\r\n visibility: visibility === visibilityTypes.All ? '' : visibility,\r\n };\r\n\r\n useEffect(() => {\r\n const payload = {\r\n pagination: {\r\n page: currentPage,\r\n perPage: itemsPerPage,\r\n },\r\n filter: { ...filterValues, contractorLevel },\r\n };\r\n\r\n dispatch({\r\n type: currentCompany.questions.get.start,\r\n payload: { companyId, payload, contractorLevel, fullInfo: Object.keys(filterDefinitions).length === 0 },\r\n });\r\n }, [\r\n companyId,\r\n contractorLevel,\r\n dispatch,\r\n currentPage,\r\n itemsPerPage,\r\n questionTitle,\r\n section,\r\n page,\r\n questionType,\r\n withScores,\r\n visibility,\r\n ]);\r\n\r\n const handleSave = (id, values) =>\r\n dispatch({\r\n type: currentCompany.questions.update.start,\r\n payload: { companyId, contractorLevel, questionId: id, values },\r\n });\r\n\r\n const handleChangePage = offset => {\r\n const currentPage = offset / itemsPerPage + 1;\r\n\r\n dispatch(\r\n push({\r\n pathname: location.pathname,\r\n search: qs.stringify(\r\n { itemsPerPage, currentPage, ...skipFalsyValues(filterValues) },\r\n { encode: false, skipNull: true },\r\n ),\r\n }),\r\n );\r\n };\r\n\r\n const handleRowAmountChange = value => {\r\n dispatch(\r\n push({\r\n pathname: location.pathname,\r\n search: qs.stringify(\r\n { itemsPerPage: value, currentPage: 1, ...skipFalsyValues(filterValues) },\r\n { encode: false, skipNulls: true },\r\n ),\r\n }),\r\n );\r\n };\r\n\r\n const handleFilter = function(values) {\r\n dispatch(\r\n push({\r\n pathname: location.pathname,\r\n search: qs.stringify(\r\n { itemsPerPage, currentPage: 1, ...skipFalsyValues(values) },\r\n { encode: false, skipNulls: true },\r\n ),\r\n }),\r\n );\r\n };\r\n const handleExport = () => {\r\n const payload = {\r\n companyId,\r\n filter: {\r\n contractorLevel,\r\n },\r\n };\r\n\r\n dispatch({\r\n type: currentCompany.questions.export.start,\r\n payload: payload,\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n {formatPageTitle(title.private.company.questions, {\r\n companyName,\r\n contractorLevel: contractorLevels[contractorLevel],\r\n })}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Questions;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n title: {\r\n paddingTop: theme.spacing(1),\r\n },\r\n itemContainer: {\r\n paddingTop: theme.spacing(1),\r\n },\r\n bottomContainer: {\r\n marginTop: theme.spacing(4),\r\n },\r\n label: {\r\n '& .MuiFormControlLabel-root': {\r\n marginRight: 0,\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Grid, Typography } from '@material-ui/core';\r\nimport { FastField, Formik } from 'formik';\r\n\r\nimport useStyles from './styles';\r\nimport { uploadSizeFormSchema } from '../../../utils/validate/shemas';\r\nimport FormNumberInput from '../../components/FormNumberInput';\r\nimport FormSwitch from '../../components/FormSwitch';\r\nimport PageLoader from '../../components/PageLoader';\r\nimport FormBody from '../../components/FormBody';\r\nimport LoadingButton from '../../components/LoadingButton';\r\nimport PromptNotification from '../../components/PromptComponent';\r\nimport MultiselectDropdown from '../../components/MultiselectDropdown';\r\n\r\nconst SettingsForm = ({ loading, users, data, handleUpdateSize, success, error }) => {\r\n const classes = useStyles();\r\n\r\n if (!Object.keys(data).length || !users.length) return ;\r\n\r\n const userOptions = users.map(user => ({ id: user.emailAddress, name: user.emailAddress }));\r\n\r\n return (\r\n \r\n {props => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Supporting Document Upload Size (in Mb):\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Notify if data is not saved:\r\n \r\n \r\n \r\n \r\n \r\n \r\n Off\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n On\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Send notification for email:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Send notification email about working hours:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default SettingsForm;\r\n","import React, { useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { useParams } from 'react-router-dom';\r\nimport { Helmet } from 'react-helmet';\r\n\r\nimport SettingsForm from '../../containers/SettingsForm';\r\nimport settings from '../../../actionTypes/settings';\r\nimport { title } from '../../routes/path';\r\nimport { formatPageTitle } from '../../../utils/textFormaters';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\nimport { userTypes } from '../../../utils/constants';\r\n\r\nconst SystemSettings = () => {\r\n const dispatch = useDispatch();\r\n const { id } = useParams();\r\n const { companyName, companyId } = useCompanyInfo(id);\r\n const { type } = useUserPermissions();\r\n const { data, loading, success, error, users } = useSelector(state => state.settings.settings);\r\n\r\n useEffect(() => {\r\n dispatch({\r\n type: settings.configuration.get.start,\r\n payload: { fullData: type === userTypes.SafetyCouncil, companyId },\r\n });\r\n }, [companyId, dispatch, type]);\r\n\r\n const handleUpdateSize = value => {\r\n dispatch({\r\n type: settings.configuration.update.start,\r\n payload: { value, companyId },\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {formatPageTitle(title.private.company.systemSettings, { companyName })}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default SystemSettings;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n titleYears: {\r\n borderLeft: `1px solid ${theme.palette.grey['300']}`,\r\n },\r\n tableBody: {\r\n '& tr td:nth-child(n + 3)': {\r\n borderLeft: `1px solid ${theme.palette.grey['300']}`,\r\n width: '12%',\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { FastField } from 'formik';\r\nimport { Grid, Table, TableHead, TableRow, TableCell, TableBody, Paper, IconButton } from '@material-ui/core';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport SaveIcon from '@material-ui/icons/Save';\r\n\r\nimport BLSIndustry from '../../../../utils/constants/BLSIndustry';\r\nimport FormInput from '../../../components/FormInput';\r\nimport useStyles from './styles';\r\n\r\nconst BLSTable = ({ values, loading, currentYear, lastYearsData }) => {\r\n const [edit, setEdit] = useState(false);\r\n const hasPrevYears = !!Object.keys(lastYearsData).length;\r\n const classes = useStyles({ hasPrevYears });\r\n\r\n useEffect(() => {\r\n if (!loading) setEdit(false);\r\n }, [loading]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n NAICS \r\n Industry \r\n \r\n \r\n \r\n BLS values \r\n \r\n setEdit(prevState => !prevState)}\r\n >\r\n {edit ? : }\r\n \r\n \r\n \r\n \r\n \r\n \r\n {hasPrevYears && (\r\n \r\n {Object.keys(lastYearsData).map(year => (\r\n \r\n {year}\r\n \r\n ))}\r\n \r\n {currentYear}\r\n \r\n \r\n )}\r\n \r\n \r\n {Object.keys(values).length &&\r\n Object.keys(values).map(item => (\r\n \r\n {item} \r\n {BLSIndustry[item]} \r\n {Object.keys(lastYearsData).map(year => (\r\n \r\n {lastYearsData[year][item]}\r\n \r\n ))}\r\n \r\n {edit ? (\r\n \r\n ) : (\r\n values[item].value\r\n )}\r\n \r\n \r\n ))}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default BLSTable;\r\n","import React from 'react';\r\nimport { Formik } from 'formik';\r\nimport { getYear } from 'date-fns';\r\nimport Grid from '@material-ui/core/Grid';\r\n\r\nimport LoadingButton from '../../components/LoadingButton';\r\nimport PageLoader from '../../components/PageLoader';\r\nimport FormBody from '../../components/FormBody';\r\nimport PromptNotification from '../../components/PromptComponent';\r\nimport BLSIndustry from '../../../utils/constants/BLSIndustry';\r\nimport Table from './Table';\r\nimport { BLSFormSchema } from '../../../utils/validate/shemas';\r\n\r\nconst BLSForm = ({ loading, values, updating, handleUpdate, success, error }) => {\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n const currentYear = getYear(new Date());\r\n\r\n const normalizeData = values.reduce(\r\n (acc, item) =>\r\n Object.keys(acc).includes(`${item.year}`)\r\n ? {\r\n ...acc,\r\n [item.year]: {\r\n ...acc[item.year],\r\n [item.naics]: item,\r\n },\r\n }\r\n : {\r\n ...acc,\r\n [item.year]: {\r\n [item.naics]: item,\r\n },\r\n },\r\n {},\r\n );\r\n\r\n const lastYearsData = Array.from({ length: 2 }).reduce((acc, _, index) => {\r\n const year = currentYear - index - 1;\r\n\r\n if (values.some(x => x.year === year)) {\r\n return {\r\n ...acc,\r\n [year]: values.filter(x => x.year === year)\r\n .reduce((yearItems, item) => ({ ...yearItems, [item.naics]: item.value }), {}),\r\n };\r\n }\r\n\r\n return acc;\r\n }, {});\r\n\r\n const initialValues = Object.keys(BLSIndustry).reduce(\r\n (acc, item) => ({\r\n ...acc,\r\n [item]: normalizeData[currentYear] && normalizeData[currentYear][item] ? normalizeData[currentYear][item] : { value: '' },\r\n }),\r\n {},\r\n );\r\n\r\n const onSubmit = values => {\r\n const newValues = Object.keys(values)\r\n .filter(item => values[item].value !== undefined)\r\n .map(key =>\r\n values[key].id\r\n ? values[key]\r\n : {\r\n naics: key,\r\n year: currentYear,\r\n value: parseInt(values[key].value),\r\n },\r\n );\r\n\r\n handleUpdate(newValues);\r\n };\r\n\r\n return (\r\n BLSFormSchema()}\r\n >\r\n {props => (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default BLSForm;\r\n","import React, { useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { useParams } from 'react-router-dom';\r\nimport { Helmet } from 'react-helmet';\r\n\r\nimport BLSForm from '../../containers/BLS';\r\nimport { settings } from '../../../actionTypes';\r\nimport { title } from '../../routes/path';\r\nimport { formatPageTitle } from '../../../utils/textFormaters';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\n\r\nconst SystemSettings = () => {\r\n const dispatch = useDispatch();\r\n const { id } = useParams();\r\n const { companyName, companyId } = useCompanyInfo(id);\r\n\r\n const { loading, updating, data, error, success } = useSelector(state => state.settings.BLSData);\r\n\r\n useEffect(() => {\r\n dispatch({ type: settings.BLSData.get.start });\r\n }, [companyId, dispatch]);\r\n\r\n const handleUpdate = values => {\r\n dispatch({\r\n type: settings.BLSData.update.start,\r\n payload: { values },\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {formatPageTitle(title.private.company.bls, { companyName })}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default SystemSettings;\r\n","import React from 'react';\r\nimport { Grid } from '@material-ui/core';\r\nimport RestoreIcon from '@material-ui/icons/Restore';\r\n\r\nimport Ellipsis from '../../../components/Ellipsis';\r\nimport { getStateNameByAbbreviation } from '../../../../utils/constants/usaStates';\r\nimport IconWithPopUp from '../../../components/IconWithPopUp';\r\n\r\nexport default ({ handleRestore }) => [\r\n {\r\n title: 'Company Name',\r\n render: ({ companyName }) => ,\r\n sortField: 'companyName',\r\n defaultSort: 'asc',\r\n width: '35%',\r\n },\r\n {\r\n title: 'Company Type',\r\n render: ({ typeName }) => ,\r\n sortField: 'typeName',\r\n defaultSort: 'asc',\r\n width: '12%',\r\n },\r\n {\r\n title: 'City',\r\n render: ({ streetAddress: { city } }) => ,\r\n sortField: 'city',\r\n width: '10%',\r\n },\r\n {\r\n title: 'State',\r\n render: ({ streetAddress: { state } }) => ,\r\n sortField: 'state',\r\n width: '10%',\r\n },\r\n {\r\n title: 'Website',\r\n render: ({ webSite }) => ,\r\n sorting: false,\r\n width: '25%',\r\n },\r\n {\r\n title: 'Actions',\r\n sorting: false,\r\n width: '8%',\r\n render: ({ id }) => (\r\n \r\n \r\n handleRestore(id)}\r\n tooltipTitle=\"Restore\"\r\n >\r\n \r\n \r\n \r\n \r\n ),\r\n },\r\n];\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n table: {\r\n '& .MuiTableCell-head': {\r\n backgroundColor: theme.palette.background.primary.main,\r\n color: 'white',\r\n },\r\n '& .MuiTableSortLabel-root': {\r\n color: 'white',\r\n '&:hover': {\r\n color: 'white',\r\n },\r\n },\r\n '& .MuiTableRow-root': {\r\n '&:hover': {\r\n backgroundColor: 'rgb(224, 224, 224)',\r\n },\r\n },\r\n '& .MuiLink-root': {\r\n maxWidth: 'fit-content',\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport MaterialTable from 'material-table';\r\n\r\nimport columns from './columns';\r\nimport useStyles from './styles';\r\n\r\nconst CompanyTable = ({ list, loading, handleRestore, noFiltersSelected }) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default CompanyTable;\r\n","import React from 'react';\r\nimport { Formik, FastField } from 'formik';\r\nimport { Grid } from '@material-ui/core';\r\nimport debounce from 'lodash.debounce';\r\n\r\nimport { filterArchiveCompanySchema } from '../../../../utils/validate/shemas';\r\nimport FormInput from '../../../components/FormInput';\r\nimport Effect from '../../../components/Effect';\r\nimport { companyRolesSelectionOptions } from '../../../../utils/constants/companyRoleTypes';\r\nimport FormAutocomplete from '../../../components/FormAutocomplete';\r\n\r\nconst CreateFilterForm = ({ handleOnChange, values }) => {\r\n const debounceFunc = debounce(handleOnChange, 1000, {\r\n leading: true,\r\n trailing: true,\r\n });\r\n return (\r\n \r\n {({ submitForm, values, resetForm }) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default CreateFilterForm;\r\n","import React from 'react';\r\nimport { Grid } from '@material-ui/core';\r\n\r\nimport PaginationWithCustomRows from '../../components/PaginationWithCustomRows';\r\nimport CompanyTable from './CompanyTable';\r\nimport FilterForm from './FilterForm';\r\n\r\nconst ArchiveCompany = ({ filter, pagination, companies }) => {\r\n const { handleFilter, filterValues, noFiltersSelected } = filter;\r\n const { total, currentPage, itemsPerPage, handleChangePage, handleRowAmountChange } = pagination;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ArchiveCompany;\r\n","/* eslint-disable react-hooks/exhaustive-deps */\r\nimport React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport qs from 'query-string';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { push } from 'connected-react-router';\r\nimport { Helmet } from 'react-helmet';\r\n\r\nimport { archive } from '../../../actionTypes';\r\nimport { title } from '../../routes/path';\r\nimport { companyRolesSelection } from '../../../utils/constants/companyRoleTypes';\r\nimport ArchiveCompany from '../../containers/ArchiveCompany';\r\n\r\nconst skipFalsyValues = values =>\r\n Object.keys(values)\r\n .filter(key => values[key].length > 0)\r\n .reduce((acc, current) => ({ ...acc, [current]: values[current] }), {});\r\n\r\nconst CompanyList = () => {\r\n const location = useLocation();\r\n const dispatch = useDispatch();\r\n\r\n const { total, items, loading } = useSelector(store => store.archive.company);\r\n const companies = useSelector(store => items.map(id => store.entity.company[id]));\r\n\r\n const { itemsPerPage = 25, currentPage = 1, companyName = '', companyType = '' } = qs.parse(location.search, {\r\n comma: true,\r\n });\r\n\r\n const filterValues = {\r\n companyName,\r\n companyType: companyType === companyRolesSelection.All ? '' : companyType,\r\n deleted: true,\r\n };\r\n\r\n const noFiltersSelected = !companyName && !companyType;\r\n\r\n useEffect(() => {\r\n const payload = {\r\n pagination: {\r\n page: currentPage,\r\n perPage: itemsPerPage,\r\n },\r\n filter: filterValues,\r\n };\r\n dispatch({\r\n type: archive.company.get.start,\r\n payload: { payload },\r\n });\r\n }, [currentPage, dispatch, companyName, companyType, itemsPerPage]);\r\n\r\n const handleChangePage = offset => {\r\n const currentPage = offset / itemsPerPage + 1;\r\n\r\n const updatedFilterValues = skipFalsyValues(filterValues);\r\n\r\n dispatch(\r\n push({\r\n pathname: location.pathname,\r\n search: qs.stringify(\r\n { itemsPerPage: itemsPerPage, currentPage, ...updatedFilterValues },\r\n { arrayFormat: 'comma', encode: false, skipNull: true },\r\n ),\r\n }),\r\n );\r\n };\r\n\r\n const handleFilter = function(values) {\r\n dispatch(\r\n push({\r\n pathname: location.pathname,\r\n search: qs.stringify({ ...skipFalsyValues(values) }, { arrayFormat: 'comma', encode: false, skipNulls: true }),\r\n }),\r\n );\r\n };\r\n\r\n const handleRowAmountChange = value => {\r\n dispatch(\r\n push({\r\n pathname: location.pathname,\r\n search: qs.stringify(\r\n { itemsPerPage: value, currentPage: 1, ...skipFalsyValues(filterValues) },\r\n { arrayFormat: 'comma', encode: false, skipNulls: true },\r\n ),\r\n }),\r\n );\r\n };\r\n\r\n const handleRestore = companyId => {\r\n const payload = {\r\n pagination: {\r\n page: currentPage,\r\n perPage: itemsPerPage,\r\n },\r\n filter: filterValues,\r\n };\r\n dispatch({\r\n type: archive.company.recover.start,\r\n payload: { payload, companyId },\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {title.private.company.archiveCompany}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CompanyList;\r\n","import React from 'react';\r\nimport { Grid } from '@material-ui/core';\r\nimport RestoreIcon from '@material-ui/icons/Restore';\r\n\r\nimport Ellipsis from '../../../components/Ellipsis';\r\nimport IconWithPopUp from '../../../components/IconWithPopUp';\r\n\r\nexport default ({ handleRestoreUser }) => [\r\n {\r\n title: 'First name',\r\n render: ({ firstName }) => ,\r\n width: '30%',\r\n },\r\n {\r\n title: 'Last name',\r\n render: ({ lastName }) => ,\r\n width: '30%',\r\n },\r\n {\r\n title: 'Company name',\r\n render: ({ companyName }) => ,\r\n width: '30%',\r\n },\r\n {\r\n title: 'Email',\r\n render: ({ emailAddress }) => ,\r\n width: '30%',\r\n },\r\n {\r\n title: 'Actions',\r\n sorting: false,\r\n width: '10%',\r\n render: ({ id: userId, companyId }) => (\r\n \r\n \r\n handleRestoreUser(userId, companyId)}\r\n tooltipTitle=\"Restore\"\r\n >\r\n \r\n \r\n \r\n \r\n ),\r\n },\r\n];\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n table: {\r\n '& .MuiTableCell-head': {\r\n backgroundColor: theme.palette.background.primary.main,\r\n color: 'white',\r\n },\r\n '& .MuiTableSortLabel-root': {\r\n color: 'white',\r\n '&:hover': {\r\n color: 'white',\r\n },\r\n },\r\n '& .MuiTableRow-root': {\r\n '&:hover': {\r\n backgroundColor: 'rgb(224, 224, 224)',\r\n },\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport MaterialTable from 'material-table';\r\n\r\nimport columns from './columns';\r\nimport useStyles from './styles';\r\n\r\nconst UserTable = ({ users, loading, handleRestoreUser }) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default UserTable;\r\n","import React from 'react';\r\nimport { Formik, FastField } from 'formik';\r\nimport { Grid } from '@material-ui/core';\r\nimport debounce from 'lodash.debounce';\r\n\r\nimport { filterArchiveUserSchema } from '../../../../utils/validate/shemas';\r\nimport FormInput from '../../../components/FormInput';\r\nimport Effect from '../../../components/Effect';\r\n\r\nconst CreateFilterForm = ({ handleOnChange, values }) => {\r\n const debounceFunc = debounce(handleOnChange, 1000, {\r\n leading: true,\r\n trailing: true,\r\n });\r\n\r\n return (\r\n \r\n {({ submitForm, values }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default CreateFilterForm;\r\n","import React from 'react';\r\nimport { Grid } from '@material-ui/core';\r\n\r\nimport UserTable from './UserTable';\r\nimport PaginationWithCustomRows from '../../components/PaginationWithCustomRows';\r\nimport FilterForm from '../ArchiveUser/FilterForm';\r\n\r\nconst ArchiveUser = ({ filter, users, pagination }) => {\r\n const { handleFilter, filterValues } = filter;\r\n const { total, currentPage, itemsPerPage, handleChangePage, handleRowAmountChange } = pagination;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ArchiveUser;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useLocation, useParams } from 'react-router-dom';\r\nimport { Helmet } from 'react-helmet';\r\nimport qs from 'query-string';\r\nimport { push } from 'connected-react-router';\r\n\r\nimport { title } from '../../routes/path';\r\nimport { formatPageTitle } from '../../../utils/textFormaters';\r\nimport { archive } from '../../../actionTypes';\r\nimport ArchiveUserContainer from '../../containers/ArchiveUser';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\n\r\nconst skipFalsyValues = values =>\r\n Object.keys(values)\r\n .filter(key => values[key].length > 0)\r\n .reduce((acc, current) => ({ ...acc, [current]: values[current] }), {});\r\n\r\nconst ArchiveUser = () => {\r\n const location = useLocation();\r\n const dispatch = useDispatch();\r\n const { id } = useParams();\r\n\r\n const { companyId, companyName } = useCompanyInfo(id);\r\n\r\n const { total, items, loading } = useSelector(store => store.archive.user);\r\n\r\n const { itemsPerPage = 25, currentPage = 1, userName = '' } = qs.parse(location.search, { comma: true });\r\n\r\n const filterValues = {\r\n q: userName,\r\n };\r\n\r\n useEffect(() => {\r\n const params = {\r\n pagination: {\r\n page: currentPage,\r\n perPage: itemsPerPage,\r\n },\r\n filter: filterValues,\r\n };\r\n dispatch({\r\n type: archive.user.get.start,\r\n payload: { params, companyId },\r\n });\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [currentPage, dispatch, userName, companyId, itemsPerPage]);\r\n\r\n const handleChangePage = offset => {\r\n const currentPage = offset / itemsPerPage + 1;\r\n\r\n const updatedFilterValues = skipFalsyValues(filterValues);\r\n\r\n dispatch(\r\n push({\r\n pathname: location.pathname,\r\n search: qs.stringify(\r\n { itemsPerPage: itemsPerPage, currentPage, ...updatedFilterValues },\r\n { arrayFormat: 'comma', encode: false, skipNull: true },\r\n ),\r\n }),\r\n );\r\n };\r\n\r\n const handleFilter = function(values) {\r\n dispatch(\r\n push({\r\n pathname: location.pathname,\r\n search: qs.stringify({ ...skipFalsyValues(values) }, { arrayFormat: 'comma', encode: false, skipNulls: true }),\r\n }),\r\n );\r\n };\r\n\r\n const handleRowAmountChange = value => {\r\n dispatch(\r\n push({\r\n pathname: location.pathname,\r\n search: qs.stringify(\r\n { itemsPerPage: value, currentPage: 1, ...skipFalsyValues(filterValues) },\r\n { arrayFormat: 'comma', encode: false, skipNulls: true },\r\n ),\r\n }),\r\n );\r\n };\r\n\r\n const handleRestoreUser = (userId, companyId) => {\r\n const payload = {\r\n pagination: {\r\n page: currentPage,\r\n perPage: itemsPerPage,\r\n },\r\n filter: filterValues,\r\n };\r\n dispatch({\r\n type: archive.user.recover.start,\r\n payload: { payload, userId, companyId },\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {formatPageTitle(title.private.company.archiveUser, { companyName })} \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ArchiveUser;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n title: {\r\n paddingTop: theme.spacing(1),\r\n },\r\n itemContainer: {\r\n paddingTop: theme.spacing(1),\r\n },\r\n label: {\r\n '& .MuiFormControlLabel-root': {\r\n marginRight: 0,\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Chip, TextField } from '@material-ui/core';\r\nimport Autocomplete from '@material-ui/lab/Autocomplete';\r\nimport get from 'lodash.get';\r\n\r\nconst AutocompleteDropdown = ({\r\n size = 'small',\r\n options,\r\n grouped,\r\n selected,\r\n label,\r\n field: { onChange, ...fieldProps },\r\n form: { setFieldValue, errors },\r\n ...props\r\n}) => {\r\n const { name, value } = fieldProps;\r\n\r\n const listErrors = get(errors, name, []);\r\n\r\n return (\r\n (grouped ? option.groupName : null)}\r\n getOptionLabel={option => option}\r\n renderOption={option => {option}}\r\n renderInput={params => }\r\n onChange={(_, selectedValues) => {\r\n setFieldValue(name, selectedValues);\r\n }}\r\n renderTags={val =>\r\n val.map((item, index) => (\r\n \r\n setFieldValue(\r\n name,\r\n val.filter(selected => selected !== item),\r\n true,\r\n )\r\n }\r\n />\r\n ))\r\n }\r\n />\r\n );\r\n};\r\n\r\nexport default AutocompleteDropdown;\r\n","import React from 'react';\r\nimport { Checkbox, FormControlLabel, Grid, Typography } from '@material-ui/core';\r\nimport { FastField, Formik } from 'formik';\r\n\r\nimport useStyles from './styles';\r\nimport PageLoader from '../../components/PageLoader';\r\nimport FormBody from '../../components/FormBody';\r\nimport LoadingButton from '../../components/LoadingButton';\r\nimport PromptNotification from '../../components/PromptComponent';\r\nimport AutocompleteDropdown from '../../components/AutocompleteDropdown';\r\nimport { validateCompanySettings } from '../../../utils/validate/shemas';\r\nimport { companyTypes, userTypes } from '../../../utils/constants';\r\n\r\nconst CompanySettingsForm = ({\r\n loading,\r\n users,\r\n updating,\r\n data,\r\n handleUpdate,\r\n success,\r\n error,\r\n companyType,\r\n userType,\r\n}) => {\r\n const classes = useStyles();\r\n\r\n if (loading) return ;\r\n\r\n const userOptions = users.map(user => user.emailAddress);\r\n\r\n return (\r\n \r\n {props => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Send notification for email:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Send notification email about expired document to:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {companyType === companyTypes.Owner && userType === userTypes.SafetyCouncil && (\r\n \r\n \r\n \r\n \r\n }\r\n label=\"Allow exporting working hours\"\r\n name=\"allowExportingWorkingHours\"\r\n />\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default CompanySettingsForm;\r\n","import React, { useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { useParams } from 'react-router-dom';\r\nimport { Helmet } from 'react-helmet';\r\n\r\nimport { title } from '../../routes/path';\r\nimport CompanySettingsForm from '../../containers/CompanySettingsForm';\r\nimport currentCompany from '../../../actionTypes/currentCompany';\r\nimport { formatPageTitle } from '../../../utils/textFormaters';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\n\r\nconst CompanySettings = () => {\r\n const dispatch = useDispatch();\r\n const { id } = useParams();\r\n const { type } = useUserPermissions();\r\n const { companyName, companyId, companyType } = useCompanyInfo(id);\r\n const { data, loading, updating, success, error, users } = useSelector(state => state.currentCompany.settings);\r\n\r\n useEffect(() => {\r\n dispatch({\r\n type: currentCompany.settings.get.start,\r\n payload: { companyId },\r\n });\r\n }, [companyId, dispatch]);\r\n\r\n const handleUpdate = value => {\r\n dispatch({\r\n type: currentCompany.settings.update.start,\r\n payload: { value, companyId },\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {formatPageTitle(title.private.company.systemSettings, { companyName })}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CompanySettings;\r\n","import React from 'react';\r\nimport { Route, Switch, Redirect } from 'react-router-dom';\r\n\r\nimport CompanyUserList from '../../../pages/CompanyUserList';\r\nimport CompanyOfficers from '../../../pages/CompanyOfficers';\r\nimport CompanyInfo from '../../../pages/CompanyInfo';\r\nimport FinancialInformation from '../../../pages/FinancialInformation';\r\nimport ParentCompany from '../../../pages/ParentCompany';\r\nimport InsurancePolicy from '../../../pages/InsurancePolicy';\r\nimport OrganizationInfo from '../../../pages/OrganizationInfo';\r\nimport WorkCategories from '../../../pages/WorkCategories';\r\nimport ServicesPerformed from '../../../pages/ServicesPerformed';\r\nimport References from '../../../pages/References';\r\nimport CreateEnvironmentalManagement from '../../../pages/CreateEnvironmentalManagement';\r\nimport OwnerAddendum from '../../../pages/OwnerAddendum';\r\nimport InjuryIllness from '../../../pages/InjuryIllness';\r\nimport ContractorAddendum from '../../../pages/ContractorAddendum';\r\nimport YesNoQuestionDefault from '../../../pages/YesNoQuestionDefault';\r\nimport EMRatePage from '../../../pages/EMR';\r\nimport CraftsmanCertification from '../../../pages/CraftsmanCertification';\r\nimport Questions from '../../../pages/Questions';\r\nimport SystemSettings from '../../../pages/SystemSettings';\r\nimport BLSSettings from '../../../pages/BLSSettings';\r\nimport ArchiveCompany from '../../../pages/ArchiveCompany';\r\nimport ArchiveUser from '../../../pages/ArchiveUser';\r\nimport CompanySettings from '../../../pages/CompanySettings';\r\nimport { userTypes } from '../../../../utils/constants';\r\n\r\nconst SettingRoutes = ({ role, company, isBasicContractor }) => {\r\n if (role === userTypes.SafetyCouncil)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n if (role === userTypes.Owner)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n if (isBasicContractor)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* YesNoQuestion block */}\r\n } />\r\n } />\r\n \r\n \r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* YesNoQuestion block */}\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n\r\n {/* Pages use YesNoQuestion as a part */}\r\n } />\r\n\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SettingRoutes;\r\n","import React from 'react';\r\nimport { Redirect, Route, Switch } from 'react-router-dom';\r\n\r\nimport CompanyUserList from '../../../pages/CompanyUserList';\r\nimport CompanyOfficers from '../../../pages/CompanyOfficers';\r\nimport CompanyInfo from '../../../pages/CompanyInfo';\r\nimport FinancialInformation from '../../../pages/FinancialInformation';\r\nimport ParentCompany from '../../../pages/ParentCompany';\r\nimport InsurancePolicy from '../../../pages/InsurancePolicy';\r\nimport OrganizationInfo from '../../../pages/OrganizationInfo';\r\nimport WorkCategories from '../../../pages/WorkCategories';\r\nimport ServicesPerformed from '../../../pages/ServicesPerformed';\r\nimport References from '../../../pages/References';\r\nimport CreateEnvironmentalManagement from '../../../pages/CreateEnvironmentalManagement';\r\nimport OwnerAddendum from '../../../pages/OwnerAddendum';\r\nimport YesNoQuestionDefault from '../../../pages/YesNoQuestionDefault';\r\nimport EMRate from '../../../pages/EMR';\r\nimport ContractorAddendum from '../../../pages/ContractorAddendum';\r\nimport InjuryIllness from '../../../pages/InjuryIllness';\r\nimport CraftsmanCertification from '../../../pages/CraftsmanCertification';\r\nimport { userTypes } from '../../../../utils/constants';\r\nimport CompanySettings from '../../../pages/CompanySettings';\r\nimport EMRatePage from '../../../pages/EMR';\r\nimport Questions from '../../../pages/Questions';\r\n// import AdminPanel from '../../../pages/AdminPanel';\r\n\r\nconst CompanyRoutes = ({ company, isBasicContractor, companyType }) => {\r\n if (companyType === userTypes.Owner)\r\n return (\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n if (isBasicContractor)\r\n return (\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* YesNoQuestion block */}\r\n } />\r\n } />\r\n \r\n \r\n );\r\n\r\n return (\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {companyType === userTypes.Contractor && (\r\n \r\n )}\r\n \r\n \r\n\r\n {/* YesNoQuestion block */}\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n\r\n {/* Pages use YesNoQuestion as a part */}\r\n } />\r\n\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CompanyRoutes;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n paperContent: {\r\n minHeight: '100%',\r\n display: 'grid',\r\n gridTemplateAreas: `\"nav page\"`,\r\n gridTemplateColumns: '380px 1fr',\r\n gridTemplateRows: '1fr',\r\n gridGap: theme.spacing(2),\r\n },\r\n containerPage: {\r\n gridArea: 'page',\r\n },\r\n sidebarContainer: {\r\n gridArea: 'nav',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { Paper, Grid } from '@material-ui/core';\r\nimport { useParams, Redirect, useRouteMatch, useLocation } from 'react-router-dom';\r\nimport get from 'lodash.get';\r\n\r\nimport routes, { routeCreator } from '../../routes/path';\r\nimport CompanyNavigationBar from '../../containers/CompanyNavigationBar';\r\nimport Settings from './Settings';\r\nimport Company from './Company';\r\nimport PaperWrapper from '../../components/PaperWrapper';\r\nimport PageLoader from '../../components/PageLoader';\r\nimport { currentCompany } from '../../../actionTypes';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\nimport useStyles from './styles';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\n\r\nconst CompanyLayout = () => {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const { id } = useParams();\r\n const { companyId, companyName, isBasicContractor } = useCompanyInfo(id);\r\n\r\n const userId = useSelector(state => state.auth.check.userId);\r\n const userCompanyId = useSelector(state => state.entity.user[userId].companyId);\r\n\r\n const { type } = useUserPermissions();\r\n const companyType = useSelector(state => get(state, `entity.company[${companyId}].typeName`, ''));\r\n\r\n const { keys, loading, loadingKeys, ownerAddendumList, pqfStatus } = useSelector(\r\n state => state.currentCompany.companyInfo,\r\n );\r\n\r\n useEffect(() => {\r\n dispatch({\r\n type: currentCompany.companyInfo.get.start,\r\n payload: { companyId },\r\n });\r\n }, [companyId, dispatch]);\r\n\r\n // check is own company\r\n const userCompany = `/company/${userCompanyId}`;\r\n\r\n const match = useRouteMatch(userCompany);\r\n const { pathname } = useLocation();\r\n const prefix = routes.private.settings;\r\n\r\n useEffect(() => {\r\n window.scrollTo({ top: 0, behavior: 'smooth' });\r\n }, [pathname]);\r\n\r\n // redirect to settings if needed\r\n if (match) {\r\n return ;\r\n }\r\n\r\n const newRoutes = id ? routeCreator() : routeCreator(prefix);\r\n const {\r\n private: { company },\r\n } = newRoutes;\r\n\r\n if (loading || !companyType) return ;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {id ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CompanyLayout;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n containerPaper: {\r\n padding: theme.spacing(2),\r\n },\r\n containerChild: {\r\n padding: theme.spacing(2),\r\n },\r\n text: {\r\n fontSize: theme.typography.subtitle1.fontSize,\r\n marginBottom: theme.spacing(0),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Grid, Button, CircularProgress, Paper, Typography } from '@material-ui/core';\r\n\r\nimport YesNoFormConstructor from '../YesNoFormConstructor';\r\nimport { recursiveInclude } from '../../../utils/containersHelpers';\r\nimport useStyles from './styles';\r\n\r\nconst YesNoQuestionsRenderer = ({ questions, loading, handleSubmit }) => {\r\n const setQuestionStructure = recursiveInclude(questions);\r\n const classes = useStyles();\r\n if (loading) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n const renderStructure = (item, fields) =>\r\n fields[item.key] && (\r\n \r\n \r\n {item.type === 'text' ? (\r\n \r\n {fields[item.key]}\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n {item.text}\r\n \r\n \r\n \r\n {fields[item.key]}\r\n \r\n \r\n )}\r\n \r\n {!!item.children.length && item.children.map(level => renderStructure(level, fields))}\r\n \r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {({ fields, handleSubmit }) => {\r\n return (\r\n \r\n {setQuestionStructure.children.map(item => renderStructure(item, fields))}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default YesNoQuestionsRenderer;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Helmet } from 'react-helmet';\r\n\r\nimport { yesNoQuestionsAll } from '../../../actionTypes';\r\nimport YesNoQuestionsRenderer from '../../containers/YesNoQuestionsRenderer';\r\n\r\n// todo: remove this component after YesNoQuestion.json will be finished\r\nconst YesNoQuestionsAll = () => {\r\n const dispatch = useDispatch();\r\n\r\n const { questions, loading } = useSelector(state => state.pages.yesNoQuestionsAll);\r\n useEffect(() => {\r\n dispatch({ type: yesNoQuestionsAll.get.start });\r\n }, [dispatch]);\r\n\r\n return (\r\n <>\r\n \r\n Test page for all yes no questions \r\n \r\n console.log(val)} />\r\n \r\n );\r\n};\r\n\r\nexport default YesNoQuestionsAll;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n container: {\r\n display: 'block',\r\n textDecoration: 'none',\r\n width: '100%',\r\n height: theme.spacing(15),\r\n lineHeight: 1,\r\n position: 'relative',\r\n overflow: 'hidden',\r\n },\r\n image: {\r\n width: 'auto',\r\n height: 'auto',\r\n maxHeight: '100%',\r\n maxWidth: '100%',\r\n position: 'absolute',\r\n top: '50%',\r\n left: '50%',\r\n transform: 'translate(-50%, -50%)',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\n\r\nimport logoPlaceholder from '../../images/logoPlaceholder.png';\r\nimport useStyles from './styles';\r\n\r\nconst CompanyLogo = ({ src, name = '', href = '' }) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n // eslint-disable-next-line react/jsx-no-target-blank\r\n \r\n {name}\r\n \r\n );\r\n};\r\n\r\nexport default CompanyLogo;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n dialogModal: {\r\n minWidth: theme.spacing(60),\r\n },\r\n link: {\r\n cursor: 'pointer',\r\n },\r\n loadingContainer: {\r\n height: theme.spacing(10),\r\n },\r\n downloadLink: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'flex-start',\r\n cursor: 'pointer',\r\n },\r\n contentWrapper: {\r\n padding: theme.spacing(1, 2),\r\n },\r\n titleWrapper: {\r\n padding: theme.spacing(2, 2, 1),\r\n },\r\n table: {\r\n backgroundColor: theme.palette.grey['100'],\r\n '& th': {\r\n color: theme.palette.common.black,\r\n },\r\n '& td, & th': {\r\n padding: theme.spacing(1),\r\n width: '85%',\r\n },\r\n '& td:last-child, & th:last-child': {\r\n width: '15%',\r\n textAlign: 'center',\r\n },\r\n '& thead': {\r\n backgroundColor: theme.palette.grey['500'],\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport {\r\n Button,\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n DialogTitle,\r\n Grid,\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableHead,\r\n TableRow,\r\n Link as MaterialLink,\r\n} from '@material-ui/core';\r\n\r\nimport useStyles from './styles';\r\n\r\nconst ListOwnersModal = ({ open, list, openGradingModal, handleClose }) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n \r\n List owners\r\n \r\n \r\n
\r\n \r\n \r\n Owner\r\n Score\r\n \r\n \r\n \r\n {list.map(item => (\r\n \r\n \r\n {\r\n openGradingModal(item.ownerId);\r\n }}\r\n >\r\n {item.ownerName}\r\n \r\n \r\n {item.grade}\r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ListOwnersModal;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n dialogModal: {\r\n minWidth: theme.spacing(60),\r\n },\r\n loadingContainer: {\r\n height: theme.spacing(10),\r\n },\r\n downloadLink: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'flex-start',\r\n cursor: 'pointer',\r\n },\r\n contentWrapper: {\r\n padding: theme.spacing(1, 2),\r\n },\r\n titleWrapper: {\r\n padding: theme.spacing(2, 2, 1),\r\n },\r\n table: {\r\n backgroundColor: theme.palette.grey['100'],\r\n '& th': {\r\n color: theme.palette.common.black,\r\n },\r\n '& td, & th': {\r\n padding: theme.spacing(1),\r\n width: '85%',\r\n },\r\n '& td:last-child, & th:last-child': {\r\n width: '15%',\r\n textAlign: 'center',\r\n },\r\n '& thead': {\r\n backgroundColor: theme.palette.grey['500'],\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport {\r\n Button,\r\n CircularProgress,\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n DialogTitle,\r\n Grid,\r\n Link as MaterialLink,\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableHead,\r\n TableRow,\r\n Typography,\r\n Collapse,\r\n} from '@material-ui/core';\r\nimport GetAppIcon from '@material-ui/icons/GetApp';\r\n\r\nimport useStyles from './styles';\r\nimport { userTypes } from '../../../../utils/constants';\r\n\r\nconst GradeModal = ({\r\n open,\r\n handleClose,\r\n gradeLetter,\r\n list,\r\n handleDownloadGrade,\r\n loadingData,\r\n loading,\r\n companyId,\r\n userType,\r\n}) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {gradeLetter ? (\r\n \r\n Unofficial Grade : {gradeLetter}\r\n \r\n ) : (\r\n Grade\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n Question title\r\n Score\r\n \r\n \r\n \r\n {list\r\n .filter(item => item.maxScore !== item.score)\r\n .map(item => (\r\n \r\n {\r\n companyId\r\n ? ({item.pqfFieldName})\r\n : item.pqfFieldName\r\n }\r\n \r\n {item.grade}\r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {loading ? (\r\n \r\n ) : (\r\n handleDownloadGrade(list)} className={classes.downloadLink}>\r\n \r\n Download full scorecard \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default GradeModal;\r\n","import React, { useState } from 'react';\r\nimport { Button } from '@material-ui/core';\r\n\r\nimport ListOwners from './ListOwners';\r\nimport GradeModal from '../GradeModal';\r\n\r\nconst OwnerGrading = ({ listOwners, ownerGrading, getOwnerGrading, handleDownloadOwnerGrade, companyId, userType }) => {\r\n const [openModal, setOpenModal] = useState(false);\r\n const [openGradingModal, setOpenGradingModal] = useState(null);\r\n\r\n const handleGradingModal = id => {\r\n getOwnerGrading(id);\r\n setOpenModal(false);\r\n setOpenGradingModal(id);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n setOpenModal(false)}\r\n openGradingModal={handleGradingModal}\r\n list={listOwners}\r\n />\r\n {\r\n setOpenGradingModal(null);\r\n setOpenModal(true);\r\n }}\r\n loadingData={ownerGrading.loading}\r\n list={ownerGrading.list}\r\n loading={ownerGrading.loadingScorecard}\r\n handleDownloadGrade={score => handleDownloadOwnerGrade(openGradingModal, score)}\r\n companyId={companyId}\r\n userType={userType}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default OwnerGrading;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n container: {\r\n border: 'none',\r\n textAlign: 'center',\r\n maxWidth: theme.spacing(15),\r\n width: '100%',\r\n cursor: 'pointer',\r\n margin: '0 auto',\r\n },\r\n title: ({ ownerGrade }) => ({\r\n fontSize: theme.typography.h5.fontSize,\r\n fontWeight: 700,\r\n textTransform: 'uppercase',\r\n padding: theme.spacing(0.5),\r\n backgroundColor: ownerGrade ? theme.palette.warning.dark : theme.palette.info.dark,\r\n color: theme.palette.common.white,\r\n }),\r\n body: {\r\n padding: theme.spacing(1, 2),\r\n fontSize: theme.spacing(5),\r\n lineHeight: '1.2',\r\n textTransform: 'uppercase',\r\n backgroundColor: theme.palette.grey['100'],\r\n border: `2px solid ${theme.palette.grey['500']}`,\r\n borderTop: 'none',\r\n },\r\n defaultBody: {\r\n padding: theme.spacing(1),\r\n fontSize: theme.spacing(3),\r\n },\r\n textAfter: {\r\n textAlign: 'center',\r\n fontSize: theme.typography.body2.fontSize,\r\n color: theme.palette.primary.main,\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\n\r\nimport useStyles from './styles';\r\n\r\nconst Grade = ({ grade, ownerGrade, handleClick }) => {\r\n const classes = useStyles({ ownerGrade });\r\n return (\r\n
\r\n
{ownerGrade ? 'own grade' : 'grade'}
\r\n {grade === null ? (\r\n
\r\n TBD\r\n
\r\n ) : (\r\n
\r\n {grade}\r\n
\r\n )}\r\n
View Scorecard
\r\n
\r\n );\r\n};\r\n\r\nexport default Grade;\r\n","import React, { useState } from 'react';\r\n\r\nimport GradeModal from '../GradeModal';\r\nimport Grade from '../../../components/Grade';\r\n\r\nconst GradeSystem = ({ grade, list, loading, handleDownloadGrade, companyId, userType }) => {\r\n const [modalOpen, setModalOpen] = useState(false);\r\n\r\n return (\r\n <>\r\n setModalOpen(true)} />\r\n setModalOpen(false)}\r\n list={list}\r\n loading={loading}\r\n handleDownloadGrade={handleDownloadGrade}\r\n companyId={companyId}\r\n userType={userType}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default GradeSystem;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n favoriteIcon: {\r\n color: theme.palette.warning.main,\r\n },\r\n notFavoriteIcon: {\r\n color: theme.palette.warning.main,\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { useState } from 'react';\r\nimport { Button, CircularProgress, Dialog, DialogActions, DialogTitle, IconButton, Tooltip } from '@material-ui/core';\r\nimport StarIcon from '@material-ui/icons/Star';\r\nimport StarBorderIcon from '@material-ui/icons/StarBorder';\r\n\r\nimport useStyles from './styles';\r\n\r\nconst FavoriteButton = ({ id, isFavourite, loadingListAddToFavorite, handleAddToFavorite }) => {\r\n const classes = useStyles();\r\n\r\n const [modalOpen, setModalOpen] = useState(false);\r\n\r\n const onConfirm = () => {\r\n setModalOpen(false);\r\n handleAddToFavorite(id, !isFavourite);\r\n };\r\n\r\n const onCancel = () => setModalOpen(false);\r\n\r\n if (loadingListAddToFavorite) return ;\r\n\r\n return (\r\n <>\r\n \r\n setModalOpen(true)}>\r\n {isFavourite ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n Do you really want to {isFavourite && 'un'}follow this company?\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default FavoriteButton;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n cardWrapper: {\r\n display: 'flex',\r\n flex: 1,\r\n height: '100%',\r\n position: 'relative',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n '&:hover': {\r\n '& $actions': {\r\n display: 'flex',\r\n },\r\n },\r\n },\r\n cardActionAreaWrapper: {\r\n display: 'block',\r\n position: 'relative',\r\n height: '100%',\r\n },\r\n labelImageWrapper: {\r\n position: 'absolute',\r\n left: theme.spacing(0),\r\n right: theme.spacing(0),\r\n bottom: theme.spacing(0),\r\n top: theme.spacing(0),\r\n padding: theme.spacing(1),\r\n },\r\n cardMediaWrapper: {\r\n width: '100%',\r\n height: '100%',\r\n backgroundPosition: 'center',\r\n backgroundSize: 'contain',\r\n backgroundRepeat: 'no-repeat',\r\n },\r\n inputInvisible: {\r\n display: 'block',\r\n visibility: 'hidden',\r\n width: theme.spacing(0),\r\n height: theme.spacing(0),\r\n outline: 'none',\r\n },\r\n errorTitle: {\r\n marginTop: theme.spacing(1),\r\n color: theme.palette.error.main,\r\n textAlign: 'center',\r\n fontSize: theme.typography.fontSize,\r\n },\r\n actions: {\r\n display: 'none',\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n height: '100%',\r\n width: '100%',\r\n alignItems: 'center',\r\n justifyContent: 'space-evenly',\r\n background: 'rgba(0, 0, 0, 0.5)',\r\n },\r\n plus: {\r\n '& label': {\r\n cursor: 'pointer',\r\n }\r\n },\r\n actionLabel: {\r\n cursor: 'pointer',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { useState } from 'react';\r\nimport { Card, CardActionArea, CardMedia, CircularProgress, IconButton } from '@material-ui/core';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\n\r\nimport plus from '../../../../images/plusPlaceholder.png';\r\nimport useStyles from './styles';\r\nimport ModalDialog from '../../../../components/ModalConfirmation';\r\n\r\nconst ImageUpload = ({ imageLink, allowUpdate, loading, onChange, onDelete }) => {\r\n const classes = useStyles();\r\n\r\n const [isModalOpen, setIsModalOpen] = useState(false);\r\n\r\n let isPlus = false;\r\n\r\n const handleChange = e => {\r\n const file = e.target.files[0];\r\n onChange(file);\r\n };\r\n\r\n const handleDelete = () => {\r\n setIsModalOpen(true);\r\n };\r\n\r\n const onConfirmDelete = () => {\r\n onDelete();\r\n setIsModalOpen(false);\r\n };\r\n\r\n let imageSrc;\r\n if (!imageLink) {\r\n imageSrc = plus;\r\n isPlus = true;\r\n } else if (typeof imageLink === 'object') {\r\n imageSrc = URL.createObjectURL(imageLink);\r\n } else {\r\n imageSrc = imageLink;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n {loading\r\n ? \r\n : (\r\n <>\r\n \r\n \r\n \r\n {!isPlus && allowUpdate && (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n \r\n )\r\n }\r\n
\r\n setIsModalOpen(false)}\r\n onConfirm={onConfirmDelete}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default ImageUpload;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n paperContainer: {\r\n padding: theme.spacing(2),\r\n },\r\n stars: {\r\n color: theme.palette.warning.main,\r\n display: 'inline-table',\r\n verticalAlign: 'middle',\r\n },\r\n phoneContainer: {\r\n marginTop: theme.spacing(2),\r\n },\r\n followButton: {\r\n marginTop: theme.spacing(2),\r\n },\r\n indicateColor: ({ indicate }) => ({\r\n color:\r\n (indicate === null && theme.palette.warning.main) ||\r\n (indicate && theme.palette.success.main) ||\r\n theme.palette.error.main,\r\n }),\r\n nameWrapper: {\r\n marginBottom: theme.spacing(0.04),\r\n },\r\n logoWrapper: {\r\n marginRight: theme.spacing(2),\r\n },\r\n description: {\r\n whiteSpace: 'pre-line',\r\n width: 'fit-content',\r\n },\r\n name: {\r\n marginBottom: theme.spacing(1),\r\n },\r\n icon: {\r\n color: theme.palette.warning.light,\r\n },\r\n iconError: {\r\n color: theme.palette.error.light,\r\n },\r\n containerIcon: {\r\n lineHeight: 1,\r\n },\r\n imageUpload: {\r\n width: '100%',\r\n height: '100%',\r\n maxHeight: '200px',\r\n maxWidth: '200px',\r\n },\r\n workingHoursExport: {\r\n marginTop: theme.spacing(2),\r\n justifyContent: 'flex-end',\r\n display: 'flex',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { useState } from 'react';\r\n\r\nimport Grade from '../../../components/Grade';\r\nimport GradeModal from '../GradeModal';\r\nimport { useUserPermissions } from '../../../../utils/effects/userPermissions';\r\n\r\nconst SingleOwnerGrade = ({ ownerGrading, handleDownloadOwnerGrade }) => {\r\n const [openGradingModal, setOpenGradingModal] = useState(false);\r\n const { userCompanyId } = useUserPermissions();\r\n\r\n const { list, mark, loadingScorecard } = ownerGrading;\r\n\r\n return (\r\n <>\r\n setOpenGradingModal(true)} />\r\n setOpenGradingModal(false)}\r\n loadingData={false}\r\n list={list}\r\n loading={loadingScorecard}\r\n handleDownloadGrade={score => handleDownloadOwnerGrade(userCompanyId, score)}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default SingleOwnerGrade;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n container: {\r\n padding: theme.spacing(4),\r\n },\r\n title: {\r\n paddingTop: theme.spacing(3),\r\n '& h2': {\r\n fontSize: theme.spacing(3),\r\n },\r\n },\r\n content: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n padding: theme.spacing(2),\r\n },\r\n closeButton: {\r\n position: 'absolute',\r\n top: theme.spacing(0.5),\r\n right: theme.spacing(0.5),\r\n },\r\n actions: {\r\n padding: theme.spacing(2),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { useEffect } from 'react';\r\nimport { Dialog, DialogContent, DialogTitle, IconButton } from '@material-ui/core';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\n\r\nimport WorkingHoursForm from '../WorkingHoursForm';\r\nimport { company } from '../../../actionTypes';\r\nimport { userTypes } from '../../../utils/constants';\r\nimport useStyles from './styles';\r\n\r\nconst WorkingHoursModal = ({ isOpen, onClose, companyId, dialogProps, ownerId, withSearchByOwner, userType }) => {\r\n const dispatch = useDispatch();\r\n const classes = useStyles();\r\n const { favoriteOwnerList } = useSelector(store => store.company.favoriteOwnerList);\r\n\r\n useEffect(() => {\r\n if (withSearchByOwner) {\r\n dispatch({\r\n type: company.getFavoriteOwnerList.start,\r\n payload: { contractorId: companyId },\r\n });\r\n }\r\n }, [companyId, dispatch, withSearchByOwner]);\r\n\r\n return (\r\n \r\n View Working Hours\r\n {onClose && (\r\n \r\n \r\n \r\n )}\r\n \r\n 0}\r\n readOnly\r\n userType={userType}\r\n withExportWorkingHours\r\n withNotes={userType !== userTypes.Contractor}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default WorkingHoursModal;\r\n","import React, { useState } from 'react';\r\nimport { Paper, Grid, Typography, Link as MaterialLink, Tooltip, Button } from '@material-ui/core';\r\nimport WarningIcon from '@material-ui/icons/Warning';\r\nimport ErrorSharpIcon from '@material-ui/icons/ErrorSharp';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport { currentCompany } from '../../../../actionTypes';\r\nimport CompanyLogo from '../../../components/CompanyLogo';\r\nimport Ellipsis from '../../../components/Ellipsis';\r\nimport OwnerGrading from '../OwnerGrading';\r\nimport GradeSystem from '../GradeSystem';\r\nimport FavoriteButton from '../FavoriteButton';\r\nimport ImageUpload from './ImageUpload';\r\nimport useStyles from './styles';\r\nimport { addDollarCommaSigns } from '../../../../utils/containersHelpers';\r\nimport { userTypes, contractorLevels } from '../../../../utils/constants';\r\nimport { useUserPermissions } from '../../../../utils/effects/userPermissions';\r\nimport SingleOwnerGrade from '../SingleOwnerGrade';\r\nimport WorkingHoursModal from '../../WorkingHoursModal';\r\n\r\nconst CompanyCard = ({\r\n company,\r\n ownerGradingSystem,\r\n generalInfo,\r\n grade,\r\n handleAddToFavorite,\r\n loadingListAddToFavorite,\r\n updatingImage,\r\n userCompanyId,\r\n}) => {\r\n const [openWorkingHoursModal, setOpenWorkingHoursModal] = useState(false);\r\n const dispatch = useDispatch();\r\n const { type } = useUserPermissions();\r\n const { mark, list, loading, handleDownloadGrade } = grade;\r\n\r\n const {\r\n streetAddress,\r\n logo,\r\n companyName,\r\n companyDescription,\r\n companyLevel,\r\n webSite,\r\n phoneNumber,\r\n emailAddress,\r\n latestEmrYear,\r\n latestEmrAmount,\r\n previousFinancialYearBls,\r\n previousFinancialYearTrir,\r\n workersCompensationAmount,\r\n isFavourite,\r\n withOverdue,\r\n id: companyId,\r\n } = company;\r\n const { street, city, state, zip } = streetAddress;\r\n const { isDraft } = generalInfo;\r\n\r\n const { ownerGrading, listOwnerGrading, handleDownloadOwnerGrade, getOwnerGrading } = ownerGradingSystem;\r\n\r\n const indicateRule = previousFinancialYearTrir !== null && previousFinancialYearBls !== null;\r\n\r\n const classes = useStyles({ indicate: indicateRule ? previousFinancialYearTrir < previousFinancialYearBls : null });\r\n\r\n const isSafetyCouncil = type === userTypes.SafetyCouncil;\r\n\r\n const onCompanyImageChange = image =>\r\n dispatch({\r\n type: currentCompany.info.updateImage.start,\r\n payload: {\r\n image,\r\n id: companyId,\r\n },\r\n });\r\n\r\n const onCompanyImageDelete = () =>\r\n dispatch({\r\n type: currentCompany.info.deleteImage.start,\r\n payload: {\r\n id: companyId,\r\n },\r\n });\r\n\r\n const handleOpenWorkingHoursModal = () => setOpenWorkingHoursModal(prev => !prev);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {type === userTypes.Owner && (\r\n \r\n \r\n \r\n )}\r\n {withOverdue && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {isDraft && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {companyDescription && (\r\n \r\n )}\r\n {webSite && (\r\n \r\n \r\n {webSite}\r\n \r\n \r\n )}\r\n {(street || city || state || zip) && (\r\n \r\n {street && `${street}, `}\r\n {city && `${city}, `}\r\n {state && `${state}, `}\r\n {zip && `${zip}`}\r\n \r\n )}\r\n {phoneNumber && (\r\n \r\n {phoneNumber}\r\n \r\n )}\r\n {emailAddress && (\r\n \r\n {emailAddress}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {(isSafetyCouncil || company.image) && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {latestEmrYear && (\r\n \r\n \r\n Latest EMR Year: {latestEmrYear}\r\n \r\n \r\n )}\r\n {latestEmrAmount !== null && (\r\n \r\n \r\n Latest EMR Amount: {latestEmrAmount}\r\n \r\n \r\n )}\r\n {!!workersCompensationAmount && (\r\n \r\n \r\n Workers Compensation Amount: {addDollarCommaSigns(workersCompensationAmount)}\r\n \r\n \r\n )}\r\n \r\n \r\n TRIR and BLS: \r\n \r\n {previousFinancialYearTrir ?? 'TBD'} / {previousFinancialYearBls ?? 'TBD'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {contractorLevels[companyLevel]}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* ownerGrade */}\r\n {type === userTypes.Owner && (\r\n \r\n )}\r\n\r\n {type === userTypes.SafetyCouncil && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {(company.canExportOwnWorkingHours || company.canExportWorkingHours) && (\r\n
\r\n \r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default CompanyCard;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n cardWrapper: {\r\n padding: theme.spacing(2, 2, 0, 2),\r\n marginBottom: theme.spacing(2),\r\n },\r\n cardContent: {\r\n padding: theme.spacing(0, 0, 2, 0),\r\n '&:last-child': {\r\n paddingBottom: theme.spacing(2),\r\n },\r\n },\r\n cardHeader: {\r\n padding: theme.spacing(0, 0, 1, 0),\r\n '& .MuiCardHeader-root': {\r\n padding: theme.spacing(1),\r\n },\r\n '& .MuiCardHeader-action': {\r\n margin: theme.spacing(0),\r\n },\r\n },\r\n button: {\r\n fontSize: theme.typography.h3.fontSize,\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { useState } from 'react';\r\nimport { Card, CardContent, CardHeader, Collapse, IconButton } from '@material-ui/core';\r\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\r\nimport ExpandLessIcon from '@material-ui/icons/ExpandLess';\r\n\r\nimport useStyles from './styles';\r\n\r\nexport const CollapseCard = ({ children, title, actions = [], collapse }) => {\r\n const classes = useStyles();\r\n\r\n const [open, setOpen] = useState(true);\r\n const actionStack = (\r\n <>\r\n {actions.map((action, index) => (\r\n \r\n \r\n \r\n ))}\r\n {collapse && (\r\n setOpen(!open)} size=\"small\" className={classes.button}>\r\n {open ? : }\r\n \r\n )}\r\n \r\n );\r\n\r\n return (\r\n \r\n \r\n {!!children && (\r\n \r\n {children}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default CollapseCard;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n gridContainer: {\r\n '&>.MuiGrid-container': {\r\n marginBottom: theme.spacing(0.5),\r\n '&:last-child': {\r\n marginBottom: 0,\r\n },\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Grid, Typography } from '@material-ui/core';\r\n\r\nimport CollapseCard from '../../../components/Cards/CollapseCard';\r\nimport formateDate from '../../../../utils/textFormaters/date';\r\nimport { bussinessFormTypes } from '../../../../utils/constants/businessFormTypes';\r\nimport { addDollarCommaSigns, addCommaSigns } from '../../../../utils/containersHelpers';\r\nimport useStyles from './styles';\r\n\r\nconst OrganizationCard = ({ info }) => {\r\n const { formOfBusiness, incorporationDate, incorporationState, employees, annualRevenue, ceoName } = info;\r\n const classes = useStyles();\r\n\r\n const currentFormOfBusiness = Object.keys(bussinessFormTypes).find(\r\n type => formOfBusiness === bussinessFormTypes[type],\r\n );\r\n\r\n const isEmptyContent = !(\r\n formOfBusiness ||\r\n incorporationDate ||\r\n incorporationState ||\r\n ceoName ||\r\n employees ||\r\n annualRevenue\r\n );\r\n\r\n return (\r\n \r\n \r\n {formOfBusiness && (\r\n \r\n \r\n Company Type\r\n \r\n \r\n \r\n {currentFormOfBusiness}\r\n \r\n \r\n \r\n )}\r\n\r\n {incorporationDate && (\r\n \r\n \r\n Established year\r\n \r\n \r\n \r\n {formateDate(incorporationDate)}\r\n \r\n \r\n \r\n )}\r\n\r\n {incorporationState && (\r\n \r\n \r\n State Established\r\n \r\n \r\n \r\n {incorporationState}\r\n \r\n \r\n \r\n )}\r\n\r\n {ceoName && (\r\n \r\n \r\n President/CEO\r\n \r\n \r\n \r\n {ceoName}\r\n \r\n \r\n \r\n )}\r\n\r\n {employees !== null && (\r\n \r\n \r\n Employees\r\n \r\n \r\n \r\n {addCommaSigns(employees)}\r\n \r\n \r\n \r\n )}\r\n\r\n {!!annualRevenue && (\r\n \r\n \r\n Net Worth\r\n \r\n \r\n \r\n {addDollarCommaSigns(annualRevenue)}\r\n \r\n \r\n \r\n )}\r\n\r\n {isEmptyContent && (\r\n \r\n There is no information yet\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default OrganizationCard;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n card: ({ warning, success, error }) => ({\r\n padding: theme.spacing(2),\r\n backgroundColor:\r\n (success && theme.palette.success.light) ||\r\n (error && theme.palette.error.main) ||\r\n (warning && theme.palette.background.warning) ||\r\n theme.palette.background.error,\r\n }),\r\n wrapper: {\r\n width: '100%',\r\n padding: theme.spacing(0, 1),\r\n },\r\n container: {\r\n padding: theme.spacing(1, 0),\r\n },\r\n button: {\r\n margin: theme.spacing(0, 2),\r\n },\r\n progress: {\r\n verticalAlign: 'middle',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Card, Grid, Collapse } from '@material-ui/core';\r\n\r\nimport useStyles from './styles';\r\n\r\nconst NotificationContainer = ({ open, success, error, warning, children }) => {\r\n const classes = useStyles({ error, success, warning });\r\n\r\n return (\r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default NotificationContainer;\r\n","import React from 'react';\r\nimport { Typography } from '@material-ui/core';\r\n\r\nconst ValidationErrorNotification = () => {\r\n return (\r\n \r\n You have started the PQF generation process, but it cannot be completed since not all fields are passed validation\r\n \r\n );\r\n};\r\n\r\nexport default ValidationErrorNotification;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n button: {\r\n margin: theme.spacing(0, 0, 0, 2),\r\n },\r\n progress: {\r\n verticalAlign: 'middle',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { useState } from 'react';\r\nimport { Typography, Button, CircularProgress } from '@material-ui/core';\r\n\r\nimport GradeModal from '../../GradeModal';\r\nimport useStyles from './styles';\r\n\r\nconst InProgressNotification = ({\r\n creation,\r\n handleSubmitDocument,\r\n downloading,\r\n grade,\r\n list,\r\n loading,\r\n getUnOfficialGrade,\r\n handleDownloadGrade,\r\n companyId,\r\n userType,\r\n}) => {\r\n const classes = useStyles();\r\n const [modalOpen, setModalOpen] = useState(false);\r\n\r\n return (\r\n <>\r\n \r\n You have started the PQF generation process. To complete it click\r\n {creation && }\r\n \r\n Submit PQF\r\n \r\n {\r\n setModalOpen(true);\r\n getUnOfficialGrade();\r\n }}\r\n className={classes.button}\r\n >\r\n Check preliminary grade\r\n \r\n \r\n setModalOpen(false)}\r\n list={list}\r\n gradeLetter={grade}\r\n loadingData={loading && modalOpen}\r\n loading={downloading}\r\n handleDownloadGrade={handleDownloadGrade}\r\n companyId={companyId}\r\n userType={userType}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default InProgressNotification;\r\n","import React from 'react';\r\nimport { Typography } from '@material-ui/core';\r\n\r\nconst PendingReviewNotification = () => {\r\n return (\r\n \r\n PQF is under review. If any changes are made and saved the PQF needs to be resubmitted.\r\n \r\n );\r\n};\r\n\r\nexport default PendingReviewNotification;\r\n","import React from 'react';\r\n\r\nimport NotificationContainer from './NotificationContainer';\r\nimport ValidationErrorNotification from './types/validationError';\r\nimport InProgressNotification from './types/inProgress';\r\nimport PendingReviewNotification from './types/pendingReview';\r\nimport { userTypes } from '../../../../utils/constants';\r\n\r\nconst PendingReview = 'PendingReview';\r\n\r\nconst Notification = ({\r\n sections,\r\n isGenerationStarted,\r\n companyType,\r\n conditions,\r\n creation,\r\n handleSubmitDocument,\r\n unofficialGrade,\r\n companyId,\r\n}) => {\r\n return (\r\n <>\r\n 0}\r\n error\r\n >\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Notification;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nimport { pqfStatusesEnum } from '../../../../utils/constants';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n status: ({ status }) => ({\r\n color:\r\n (status === pqfStatusesEnum.Completed && theme.palette.success.main) ||\r\n (status === pqfStatusesEnum.InProgress && theme.palette.warning.main) ||\r\n (status === pqfStatusesEnum.PendingReview && theme.palette.grey['500']) ||\r\n (status === pqfStatusesEnum.Rejected && theme.palette.error.main) ||\r\n theme.palette.primary.main,\r\n }),\r\n tooltip: {\r\n backgroundColor: theme.palette.background.paper,\r\n border: `1px solid ${theme.palette.grey['500']}`,\r\n },\r\n tooltipArrow: {\r\n color: theme.palette.grey['500'],\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Typography, Tooltip } from '@material-ui/core';\r\n\r\nimport routes from '../../../routes/path';\r\nimport formatPath from '../../../../utils/textFormaters/formatPath';\r\nimport useStyles from './styles';\r\n\r\nconst types = {\r\n Completed: 'Completed',\r\n InProgress: 'In Progress',\r\n PendingReview: 'Pending Review',\r\n Rejected: 'Rejected',\r\n};\r\n\r\nconst CellStatus = ({ id, status, message, companyId }) => {\r\n const classes = useStyles({ status });\r\n\r\n const linkProps = (status === types.Rejected || status === types.Completed) && {\r\n component: Link,\r\n to: formatPath(routes.private.review, { id: companyId, pqfDocumentId: id }),\r\n };\r\n\r\n const Wrapper = ({ children }) =>\r\n status === types.Rejected ? (\r\n {message}}\r\n >\r\n {children}\r\n \r\n ) : (\r\n
{children}
\r\n );\r\n\r\n return (\r\n \r\n \r\n {types[status]}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CellStatus;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n load: {\r\n cursor: 'pointer',\r\n textDecoration: 'underline',\r\n color: theme.palette.primary.main,\r\n '&:hover': {\r\n textDecoration: 'none',\r\n color: theme.palette.primary.dark,\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Typography, CircularProgress } from '@material-ui/core';\r\n\r\nimport useStyles from './styles';\r\n\r\nconst successStatusKey = 'Completed';\r\n\r\nconst CellName = ({ id, status, name, companyId, filePqf, handleLoad }) => {\r\n const classes = useStyles({ status });\r\n\r\n if (filePqf.includes(id)) {\r\n return ;\r\n }\r\n\r\n return (\r\n <>\r\n {status === successStatusKey ? (\r\n handleLoad(companyId, id)} className={classes.load} variant=\"body1\">\r\n {name}\r\n \r\n ) : (\r\n \r\n {name}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default CellName;\r\n","import React from 'react';\r\nimport { Grid, IconButton, CircularProgress } from '@material-ui/core';\r\nimport EventNoteIcon from '@material-ui/icons/EventNote';\r\n\r\nimport { pqfStatusesEnum } from '../../../../utils/constants';\r\n\r\nconst CellScore = ({ handleDownload, loading, status }) => {\r\n return (\r\n \r\n {loading ? (\r\n \r\n ) : (\r\n status === pqfStatusesEnum.Completed && (\r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default CellScore;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n table: {\r\n '& .MuiPaper-root': {\r\n boxShadow: 'none',\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { useParams } from 'react-router-dom';\r\nimport MaterialTable from 'material-table';\r\nimport { utcToZonedTime } from 'date-fns-tz';\r\nimport { format } from 'date-fns';\r\nimport { Typography } from '@material-ui/core';\r\n\r\nimport CellStatus from './CellStatus';\r\nimport CellName from './CellName';\r\nimport CellScore from './CellScore';\r\nimport formatDate from '../../../utils/textFormaters/date';\r\nimport useStyles from './styles';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport timeZoneUSACentral from '../../../utils/constants/timeZoneUSACentral';\r\n\r\nconst DocumentList = ({ loading, list, handleLoad, filePqf = [], handleDownloadScoreCard, listLoadingScorecard }) => {\r\n const { id } = useParams();\r\n const { companyId } = useCompanyInfo(id);\r\n const classes = useStyles();\r\n\r\n const CellCompletedOn = ({ completedOn }) => {\r\n const completedTimeUTC = completedOn + '+0000';\r\n const zonedDate = completedOn && utcToZonedTime(completedTimeUTC, timeZoneUSACentral);\r\n const completedTime = format(new Date(zonedDate), \"hh:mm aaaaa'm'\");\r\n\r\n return (\r\n <>\r\n \r\n {formatDate(completedOn)}\r\n \r\n {completedOn && `${completedTime} (CT)`}\r\n \r\n );\r\n };\r\n\r\n const CellCompletedBy = ({ completedBy }) => (\r\n \r\n {completedBy}\r\n \r\n );\r\n\r\n const CellSubmittedBy = ({ submittedBy }) => (\r\n \r\n {submittedBy}\r\n \r\n );\r\n\r\n const columns = [\r\n {\r\n title: 'Name',\r\n field: 'name',\r\n width: '20%',\r\n render: ({ name, id, status }) => (\r\n \r\n ),\r\n },\r\n {\r\n title: 'Completed',\r\n field: 'completedOn',\r\n width: '30%',\r\n render: ({ completedOn }) => ,\r\n },\r\n {\r\n title: 'Submited By',\r\n field: 'submittedBy',\r\n width: '15%',\r\n render: ({ submittedBy }) => ,\r\n },\r\n {\r\n title: 'Completed By',\r\n field: 'completedBy',\r\n width: '15%',\r\n render: ({ completedBy }) => ,\r\n },\r\n {\r\n title: 'Status',\r\n field: 'stateKey',\r\n width: '14%',\r\n render: ({ status, rejectReason, id }) => (\r\n \r\n ),\r\n },\r\n {\r\n title: 'Grade',\r\n field: 'id',\r\n width: '6%',\r\n render: ({ id, status }) => (\r\n handleDownloadScoreCard(id)}\r\n />\r\n ),\r\n },\r\n ];\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default DocumentList;\r\n","export default 'America/Chicago';\r\n","import React from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\n\r\nimport CollapseCard from '../../../components/Cards/CollapseCard';\r\nimport DocumentList from '../../DocumentList';\r\nimport Pagination from '../../../components/Pagination';\r\n\r\nconst Documents = ({\r\n documents,\r\n filePqf,\r\n handleLoad,\r\n handleChangePage,\r\n handleDownloadScoreCard,\r\n listLoadingScorecard,\r\n}) => {\r\n const { list, total, page, perPage, loading } = documents;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n handleChangePage(offset)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Documents;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst dashboardStyles = makeStyles(theme => ({\r\n cardWrapper: {\r\n maxHeight: theme.spacing(40),\r\n overflowX: 'hidden',\r\n overflowY: 'auto',\r\n scrollbarColor: '#f0f0f0 transparent',\r\n scrollbarWidth: 'thin',\r\n '&::-webkit-scrollbar-track-piece': {\r\n backgroundColor: theme.palette.common.white,\r\n },\r\n '&::-webkit-scrollbar': {\r\n width: theme.spacing(0.4),\r\n },\r\n '&::-webkit-scrollbar-button': {\r\n backgroundColor: theme.palette.common.white,\r\n },\r\n '&::-webkit-scrollbar-thumb': {\r\n backgroundColor: theme.palette.grey['200'],\r\n },\r\n },\r\n}));\r\n\r\nexport default dashboardStyles;\r\n","import React from 'react';\r\nimport { Typography, Grid } from '@material-ui/core';\r\n\r\nimport CollapseCard from '../../../components/Cards/CollapseCard';\r\nimport dashboardStyles from '../styles';\r\n\r\nconst Services = ({ services }) => {\r\n const dashboardClasses = dashboardStyles();\r\n\r\n return (\r\n \r\n \r\n \r\n {services && services.length > 0 ? (\r\n services.map(service => (\r\n \r\n {service.name}\r\n \r\n ))\r\n ) : (\r\n \r\n There are no services yet\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Services;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n dialogModal: {\r\n minWidth: theme.spacing(60),\r\n },\r\n loadingContainer: {\r\n height: theme.spacing(10),\r\n },\r\n downloadLink: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'flex-start',\r\n cursor: 'pointer',\r\n },\r\n contentWrapper: {\r\n padding: theme.spacing(1, 2),\r\n },\r\n titleWrapper: {\r\n padding: theme.spacing(2, 2, 1),\r\n },\r\n table: {\r\n backgroundColor: theme.palette.grey['100'],\r\n '& th': {\r\n color: theme.palette.common.black,\r\n },\r\n '& td, & th': {\r\n padding: theme.spacing(1),\r\n width: '85%',\r\n },\r\n '& td:last-child, & th:last-child': {\r\n width: '15%',\r\n textAlign: 'center',\r\n },\r\n '& thead': {\r\n backgroundColor: theme.palette.grey['500'],\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport {\r\n Button,\r\n CircularProgress,\r\n Collapse,\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n DialogTitle,\r\n Grid,\r\n} from '@material-ui/core';\r\n\r\nimport currentCompany from '../../../../actionTypes/currentCompany';\r\nimport useStyles from './styles';\r\nimport ContractorAddendumForm from '../../ContractorAddendumForm';\r\nimport { useCompanyInfo } from '../../../../utils/effects/useCompanyInfo';\r\n\r\nconst AddendumModal = ({ open, ownerId, companyId, handleClose }) => {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const { level } = useCompanyInfo(companyId);\r\n\r\n const { loading, questions, answers } = useSelector(store => store.currentCompany.contractorAddendum);\r\n\r\n useEffect(() => {\r\n if (open) {\r\n dispatch({\r\n type: currentCompany.contractorAddendum.get.start,\r\n payload: { companyId, ownerId, contractorLevel: level },\r\n });\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [open, companyId, ownerId]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Addendum\r\n \r\n \r\n {}}\r\n loading={loading}\r\n companyId={companyId}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AddendumModal;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n link: {\r\n cursor: 'pointer',\r\n },\r\n ownerContainer: {\r\n marginBottom: theme.spacing(0.5),\r\n paddingRight: theme.spacing(1.5),\r\n '&:last-child': {\r\n marginBottom: 0,\r\n },\r\n },\r\n nameDateWrapper: {\r\n paddingRight: theme.spacing(1.5),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { useState } from 'react';\r\nimport getTime from 'date-fns/getTime';\r\nimport { Link } from 'react-router-dom';\r\nimport { Grid, Typography, Link as MaterialLink } from '@material-ui/core';\r\n\r\nimport path, { routeCreator } from '../../../routes/path';\r\nimport CollapseCard from '../../../components/Cards/CollapseCard';\r\nimport AddendumModal from '../AddendumModal';\r\nimport formatDate from '../../../../utils/textFormaters/date';\r\nimport formatPath from '../../../../utils/textFormaters/formatPath';\r\nimport { userTypes } from '../../../../utils/constants';\r\nimport useStyles from './styles';\r\nimport dashboardStyles from '../styles';\r\nimport { useUserPermissions } from '../../../../utils/effects/userPermissions';\r\n\r\nconst Addendum = ({ addendum, companyId }) => {\r\n const [modalOpen, setModalOpen] = useState(false);\r\n const { type, userCompanyId } = useUserPermissions();\r\n const classes = useStyles();\r\n const dashboardClasses = dashboardStyles();\r\n const { contractor } = addendum;\r\n\r\n const ownRoutes = routeCreator(path.private.settings);\r\n\r\n const listAddendum = (type === userTypes.Owner\r\n ? contractor.filter(item => `${item.ownerCompanyId}` === userCompanyId)\r\n : contractor\r\n ).sort((itemA, itemB) => {\r\n const dateA = getTime(new Date(itemA.modDate));\r\n const dateB = getTime(new Date(itemB.modDate));\r\n return dateB - dateA;\r\n });\r\n\r\n return (\r\n \r\n \r\n {listAddendum.length > 0 &&\r\n listAddendum.map(owner => (\r\n \r\n \r\n {type === userTypes.Owner ? (\r\n setModalOpen(true)}>\r\n {owner.ownerCompanyName}\r\n \r\n ) : (\r\n \r\n {owner.ownerCompanyName}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {formatDate(owner.modDate)}\r\n \r\n \r\n \r\n \r\n ))}\r\n\r\n {listAddendum.length === 0 && (\r\n \r\n There is no addendum yet\r\n \r\n )}\r\n
\r\n {type === userTypes.Owner && (\r\n setModalOpen(false)}\r\n />\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default Addendum;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n load: {\r\n cursor: 'pointer',\r\n textDecoration: 'underline',\r\n color: theme.palette.primary.main,\r\n '&:hover': {\r\n textDecoration: 'none',\r\n color: theme.palette.primary.dark,\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Typography, CircularProgress } from '@material-ui/core';\r\n\r\nimport useStyles from './styles';\r\n\r\nconst CellName = ({ fileName, handleLoad, companyId, id, documentKey, fileDocument }) => {\r\n const classes = useStyles();\r\n\r\n if (fileDocument.includes(id)) {\r\n return ;\r\n }\r\n\r\n return (\r\n handleLoad(companyId, id, documentKey)}\r\n className={classes.load}\r\n variant=\"body1\"\r\n >\r\n {fileName}\r\n \r\n );\r\n};\r\n\r\nexport default CellName;\r\n","import React from 'react';\r\nimport { Typography } from '@material-ui/core';\r\n\r\nimport TooltipWrapper from '../../../../../components/TooltipWrapper';\r\nimport formatDate from '../../../../../../utils/textFormaters/date';\r\n\r\nconst ExpirationDate = ({ expirationDate }) => {\r\n const currentDate = new Date();\r\n const isExpired = currentDate.toISOString() > expirationDate;\r\n\r\n return (\r\n \r\n \r\n {formatDate(expirationDate)}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ExpirationDate;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n table: {\r\n '& .MuiPaper-root': {\r\n boxShadow: 'none',\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { forwardRef } from 'react';\r\nimport { useParams } from 'react-router-dom';\r\nimport MaterialTable from 'material-table';\r\nimport { Typography } from '@material-ui/core';\r\nimport ArrowDownward from '@material-ui/icons/ArrowDownward';\r\n\r\nimport formatDate from '../../../../../utils/textFormaters/date';\r\nimport { useCompanyInfo } from '../../../../../utils/effects/useCompanyInfo';\r\nimport CellName from './CellName';\r\nimport ExpirationDate from './ExpirationDate';\r\nimport useStyles from './styles';\r\n\r\nconst DocumentsTable = ({ list, handleLoad, fileDocument, handelSort }) => {\r\n const { id } = useParams();\r\n const { companyId } = useCompanyInfo(id);\r\n const classes = useStyles();\r\n\r\n const columns = [\r\n {\r\n title: 'Name',\r\n field: 'fileName',\r\n width: '25%',\r\n render: ({ fileName, key, id }) => (\r\n \r\n ),\r\n customSort: (a, b) => (a.fileName.toLowerCase() < b.fileName.toLowerCase() ? -1 : 1),\r\n defaultSort: 'asc',\r\n },\r\n {\r\n title: 'Upload By',\r\n field: 'createBy',\r\n width: '30%',\r\n render: ({ createBy }) => (\r\n \r\n {createBy}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Upload Day',\r\n field: 'createDate',\r\n width: '20%',\r\n render: ({ createDate }) => (\r\n \r\n {formatDate(createDate)}\r\n \r\n ),\r\n },\r\n {\r\n title: 'Expiration Date',\r\n field: 'expirationDate',\r\n width: '25%',\r\n render: ({ expirationDate }) => ,\r\n },\r\n ];\r\n\r\n return (\r\n
\r\n ) }}\r\n localization={{\r\n body: {\r\n emptyDataSourceMessage: 'No Records to Display',\r\n },\r\n }}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default DocumentsTable;\r\n","import React from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\n\r\nimport CollapseCard from '../../../components/Cards/CollapseCard';\r\nimport DocumentsTable from './DocumentsTable';\r\n\r\nconst UploadDocuments = ({ uploadDocuments }) => {\r\n const { list, handleLoadAllDocuments, fileDocument } = uploadDocuments;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default UploadDocuments;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n wrapper: {\r\n marginBottom: theme.spacing(2),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Typography, Grid } from '@material-ui/core';\r\n\r\nimport CollapseCard from '../../../components/Cards/CollapseCard';\r\nimport useStyles from './styles';\r\nimport dashboardStyles from '../styles';\r\nimport createEnum from '../../../../utils/actionTypesHelpers/createEnum';\r\n\r\nconst workCategoryType = createEnum({\r\n isEmployee: 'Employee',\r\n isSubContractor: 'SubContractor',\r\n});\r\n\r\nconst WorkCategories = ({ categories, allowedCategories, groups, workCategoriesValues }) => {\r\n const classes = useStyles();\r\n const dashboardClasses = dashboardStyles();\r\n\r\n return (\r\n \r\n \r\n {!allowedCategories.length ? (\r\n \r\n There are no work categories yet\r\n \r\n ) : (\r\n groups.map(group => {\r\n const groupIndex = group.workCategories.findIndex(item => allowedCategories.includes(item));\r\n if (groupIndex === -1) return null;\r\n return (\r\n \r\n \r\n {group.name}\r\n \r\n {group.workCategories.map(category => {\r\n const isDisplayed = Object.keys(workCategoriesValues[category]).reduce(\r\n (result, item) => workCategoriesValues[category][item] || result,\r\n false,\r\n );\r\n if (!isDisplayed) return null;\r\n const workCategoriesNames = Object.keys(workCategoriesValues[category])\r\n .map(key => (workCategoriesValues[category][key] ? workCategoryType[key] : null))\r\n .filter(key => key != null);\r\n return (\r\n \r\n {categories[category].name}: \r\n {workCategoriesNames.join(', ')}\r\n \r\n );\r\n })}\r\n \r\n );\r\n })\r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default WorkCategories;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n cardWrapper: {\r\n padding: theme.spacing(3),\r\n boxShadow: 'none',\r\n border: `1px solid ${theme.palette.grey['300']}`,\r\n marginBottom: theme.spacing(2),\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { FastField, Formik } from 'formik';\r\nimport { Card } from '@material-ui/core';\r\n\r\nimport FileUploaderInput from '../../components/FileUploaderInput';\r\nimport { createFileValue } from '../../../utils/pageHelpers';\r\nimport useStyles from './styles';\r\n\r\nconst UploadPsmAuditForm = ({ handlePsmSubmit, psmAuditList, companyId, hasPermissions }) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n \r\n {({ submitForm }) => {\r\n return (\r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default UploadPsmAuditForm;\r\n","import React from 'react';\r\nimport { Grid } from '@material-ui/core';\r\nimport { FastField, Formik } from 'formik';\r\n\r\n// import { saveCompanyAdminPanel } from '../../../../utils/validate/shemas';\r\nimport FormInput from '../../../components/FormInput';\r\nimport LoadingButton from '../../../components/LoadingButton';\r\nimport FormBody from '../../../components/FormBody';\r\nimport PageLoader from '../../../components/PageLoader';\r\n//import PromptNotification from '../../components/PromptComponent';\r\nimport useStyles from '../../../components/Icons/styles';\r\nimport FormDatePicker from '../../../components/FormDataPicker';\r\nimport CollapseCard from '../../../components/Cards/CollapseCard';\r\nimport { useUserPermissions } from '../../../../utils/effects/userPermissions';\r\nimport { userTypes } from '../../../../utils/constants';\r\n\r\nconst AdminPanelCard = ({\r\n initialValues,\r\n loading,\r\n success,\r\n error,\r\n handleSubmit,\r\n allowUpdate,\r\n adminNotes,\r\n isPSM,\r\n isOwner,\r\n}) => {\r\n const classes = useStyles();\r\n const { type } = useUserPermissions();\r\n\r\n if (loading) return ;\r\n\r\n const onSubmit = val => {\r\n handleSubmit(val);\r\n };\r\n\r\n return (\r\n \r\n {props => (\r\n \r\n \r\n \r\n {type === userTypes.SafetyCouncil && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {isPSM && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {allowUpdate && (\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default AdminPanelCard;\r\n","import React from 'react';\r\nimport { Grid } from '@material-ui/core';\r\n// used for admin card\r\nimport { useParams } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport CompanyCard from './CompanyCard';\r\nimport PageLoader from '../../components/PageLoader';\r\nimport Organization from './Organization';\r\nimport Notification from './Notification';\r\nimport Documents from './Documents';\r\nimport Services from './Services';\r\nimport Addendum from './Addendum';\r\nimport UploadDocuments from './UploadDocuments';\r\nimport WorkCategories from './WorkCategories';\r\nimport UploadPsmAuditForm from '../UploadPsmAuditForm';\r\n// used for admin card\r\nimport AdminPanelCard from './AdminPanelCard';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\n\r\nconst DashboardWrapper = ({\r\n loading,\r\n ownerGradingSystem,\r\n currentOwnerGrade,\r\n generalInfo,\r\n addendum,\r\n grade,\r\n filePqf,\r\n notification,\r\n handleSubmitDocument,\r\n handlePsmSubmit,\r\n handleAdminPanelCard,\r\n psmAuditList,\r\n company,\r\n hasPermissions,\r\n widgets,\r\n documents,\r\n handleLoad,\r\n loadingListAddToFavorite,\r\n handleAddToFavorite,\r\n handleChangePage,\r\n workCategoriesValues,\r\n allowedCategories,\r\n categories,\r\n groups,\r\n uploadDocuments,\r\n handleDownloadScoreCard,\r\n listLoadingScorecard,\r\n userCompanyId,\r\n\r\n // need to get the type for this to really work\r\n // type,\r\n}) => {\r\n // Start of Admin Card logic\r\n const { id } = useParams();\r\n const { companyId } = useCompanyInfo(id);\r\n const { allowUpdate } = useUserPermissions(companyId);\r\n\r\n const { companyAdminInfo, adminLoading, updating, success, error } = useSelector(\r\n state => state.currentCompany.companyAdminInfo,\r\n );\r\n\r\n const { requestInProgress } = useSelector(store => store.currentCompany.info);\r\n\r\n // const handleSubmit = value =>\r\n // dispatch({\r\n // type: currentCompany.companyAdminInfo.update.start,\r\n // payload: { value, companyId },\r\n // });\r\n\r\n const { type } = useUserPermissions();\r\n\r\n //end admin card logic\r\n\r\n if (loading) return ;\r\n\r\n return (\r\n \r\n \r\n {company && (\r\n \r\n )}\r\n \r\n\r\n handleSubmitDocument(company.currentPqfDocumentId)}\r\n companyId={companyId}\r\n />\r\n\r\n \r\n \r\n \r\n {widgets.organizationInfo && }\r\n\r\n {(hasPermissions || type === 'Owner') && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {widgets.services && }\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DashboardWrapper;\r\n","import React, { useCallback, useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { useParams } from 'react-router-dom';\r\nimport { Helmet } from 'react-helmet';\r\nimport get from 'lodash.get';\r\n\r\nimport { title } from '../../routes/path';\r\nimport Dashboard from '../../containers/Dashboard';\r\nimport { filePsmAudit, pages, company as companyActionType } from '../../../actionTypes';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\nimport currentCompany from '../../../actionTypes/currentCompany';\r\n\r\nconst perPage = 5;\r\nconst SafetyCouncilType = 'SafetyCouncil';\r\n\r\nconst DashboardPage = () => {\r\n const dispatch = useDispatch();\r\n const { id } = useParams();\r\n const { companyId } = useCompanyInfo(id);\r\n const { type, userCompanyId } = useUserPermissions();\r\n const hasPermissions = type === SafetyCouncilType;\r\n\r\n const {\r\n loading,\r\n generalInfo,\r\n notification,\r\n organizationInfo,\r\n services,\r\n documents,\r\n uploadDocuments,\r\n addendum,\r\n filePqf,\r\n fileDocument,\r\n grade,\r\n listLoadingScorecard,\r\n listOwnerGrading,\r\n ownerGrading,\r\n currentOwnerGrade,\r\n } = useSelector(store => store.pages.dashboard);\r\n const company = useSelector(store => get(store, `entity.company[${companyId}]`, null));\r\n const documentList = useSelector(store => documents.list.map(id => get(store, `entity.document[${id}]`, {})));\r\n const uloadDocumentList = useSelector(store =>\r\n uploadDocuments.list.map(id => get(store, `entity.uploadDocument[${id}]`, {})),\r\n );\r\n\r\n const listPsm = useSelector(store => get(store, `filePsmAudit.list`, []));\r\n\r\n const unofficialGrade = useSelector(store => store.pages.unofficialGrade);\r\n const loadingListAddToFavorite = useSelector(store => store.company.list.loadingListAddToFavorite);\r\n\r\n const getDashboardData = useCallback(() => {\r\n const documentQuery = {\r\n pagination: {\r\n page: 1,\r\n perPage,\r\n },\r\n };\r\n\r\n dispatch({\r\n type: pages.dashboard.get.start,\r\n payload: { companyId, documentQuery, type, ownerId: userCompanyId },\r\n });\r\n }, [companyId, userCompanyId, type, dispatch]);\r\n\r\n useEffect(() => {\r\n getDashboardData();\r\n }, [getDashboardData]);\r\n\r\n useEffect(() => {\r\n dispatch({\r\n type: filePsmAudit.get.start,\r\n payload: { companyId },\r\n });\r\n }, [companyId, dispatch]);\r\n\r\n useEffect(() => {\r\n dispatch({\r\n type: currentCompany.companyAdminInfo.get.start,\r\n payload: { companyId },\r\n });\r\n }, [companyId, dispatch]);\r\n\r\n const categories = useSelector(state => state.entity.workCategory);\r\n const groups = useSelector(state =>\r\n state.currentCompany.workCategory.groups.map(id => state.entity.workCategoryGroup[id]),\r\n );\r\n const { categories: allowedCategories } = useSelector(state => state.currentCompany.workCategory);\r\n\r\n const allCategories = groups.reduce((acc, group) => [...acc, ...group.workCategories], []);\r\n\r\n const workCategoriesValues = allCategories.reduce((acc, categoryId) => {\r\n return {\r\n ...acc,\r\n [categoryId]: {\r\n isEmployee: allowedCategories.includes(categoryId) && get(categories, `${categoryId}.isEmployee`, false),\r\n isSubContractor:\r\n allowedCategories.includes(categoryId) && get(categories, `${categoryId}.isSubContractor`, false),\r\n },\r\n };\r\n }, {});\r\n\r\n const handleSubmitDocument = pqfDocumentId =>\r\n dispatch({\r\n type: pages.dashboard.submitDocument.start,\r\n payload: { companyId, pqfDocumentId },\r\n });\r\n\r\n const handlePsmSubmit = ({ psmAudit: { createList } }) => {\r\n dispatch({\r\n type: filePsmAudit.add.start,\r\n payload: {\r\n companyId,\r\n files: createList.map(item => {\r\n const { id, ...rest } = item;\r\n return { ...rest };\r\n }),\r\n },\r\n });\r\n };\r\n\r\n const handleChangePage = offset => {\r\n const documentQuery = {\r\n pagination: {\r\n page: offset / perPage + 1,\r\n perPage,\r\n },\r\n };\r\n dispatch({ type: pages.dashboard.documents.start, payload: { companyId, documentQuery } });\r\n };\r\n\r\n const handleLoadDocument = (companyId, fileId) => {\r\n dispatch({\r\n type: pages.dashboard.loadDocument.start,\r\n payload: { companyId, fileId },\r\n });\r\n };\r\n\r\n const handleLoadAllDocuments = (companyId, pqfRelatedDocumentId, key) => {\r\n dispatch({\r\n type: pages.dashboard.loadAllUploadDocument.start,\r\n payload: { companyId, pqfRelatedDocumentId, key },\r\n });\r\n };\r\n\r\n const handleDownloadGrade = scores => {\r\n dispatch({\r\n type: pages.dashboard.gradeDownload.start,\r\n payload: { companyId, scores, companyName: company.companyName },\r\n });\r\n };\r\n\r\n const getUnOfficialGrade = () =>\r\n dispatch({\r\n type: pages.dashboard.unofficialGrade.start,\r\n payload: { companyId },\r\n });\r\n\r\n const handleAddToFavorite = async (id, state) => {\r\n await dispatch({\r\n type: companyActionType.addToFavorite.start,\r\n payload: { id, state, companyId: userCompanyId },\r\n });\r\n getDashboardData();\r\n };\r\n\r\n const handleDownloadScoreCard = pqfDocumentId =>\r\n dispatch({\r\n type: pages.dashboard.downloadPQFScorecard.start,\r\n payload: { pqfDocumentId, companyId: userCompanyId },\r\n });\r\n\r\n const getOwnerGrading = ownerId =>\r\n dispatch({\r\n type: pages.dashboard.getOwnerGrading.start,\r\n payload: { ownerId, companyId },\r\n });\r\n\r\n const handleDownloadOwnerGrade = (ownerId, scores) =>\r\n dispatch({\r\n type: pages.dashboard.downloadOwnerScorecard.start,\r\n payload: { companyId, companyName: company.companyName, ownerId, scores },\r\n });\r\n\r\n const handleAdminPanelCard = value =>\r\n dispatch({\r\n type: currentCompany.companyAdminInfo.update.start,\r\n payload: { value, companyId },\r\n });\r\n\r\n return (\r\n <>\r\n \r\n {title.private.index}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DashboardPage;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n container: {\r\n alignSelf: 'stretch',\r\n },\r\n imageContainer: {\r\n maxWidth: theme.spacing(25),\r\n textAlign: 'center',\r\n pointerEvents: 'none',\r\n '& img': {\r\n maxWidth: '100%',\r\n height: 'auto',\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Grid, Button } from '@material-ui/core';\r\n\r\nimport routes from '../../routes/path';\r\nimport image404 from '../../images/404.png';\r\nimport PaperWrapper from '../../components/PaperWrapper';\r\nimport useStyles from './styles';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\n\r\nconst buttonText = {\r\n Contractor: 'dashboard',\r\n Owner: 'marketplace',\r\n SafetyCouncil: 'marketplace',\r\n};\r\n\r\nconst NotFound = () => {\r\n const classes = useStyles();\r\n const { type } = useUserPermissions();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \"page\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default NotFound;\r\n","import React from 'react';\r\nimport { Helmet } from 'react-helmet';\r\n\r\nimport NotFoundComponent from '../../containers/NotFound';\r\nimport { title } from '../../routes/path';\r\n\r\nconst NotFound = () => {\r\n return (\r\n <>\r\n \r\n {title.private.notFound}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default NotFound;\r\n","import { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useParams } from 'react-router-dom';\r\nimport { push } from 'connected-react-router';\r\n\r\nimport { userTypes } from '../../../utils/constants';\r\nimport { file } from '../../../actionTypes';\r\nimport { formatPath } from '../../../utils/textFormaters';\r\nimport routes from '../../routes/path';\r\n\r\nconst FileDownload = () => {\r\n const dispatch = useDispatch();\r\n const { hash } = useParams();\r\n\r\n const userId = useSelector(state => state.auth.check.userId);\r\n const { companyType } = useSelector(state => state.entity.user[userId]);\r\n\r\n useEffect(() => {\r\n try {\r\n const { CompanyId, Id, Key } = JSON.parse(atob(hash));\r\n dispatch({\r\n type: file.download.start,\r\n payload: { companyId: CompanyId, sectionKey: Key, fileId: Id },\r\n });\r\n\r\n const relocationPath =\r\n companyType === userTypes.Contractor\r\n ? routes.private.index\r\n : formatPath(routes.private.company.id, { id: CompanyId });\r\n\r\n dispatch(push(relocationPath));\r\n } catch (e) {\r\n dispatch(push(routes.private.notFound));\r\n }\r\n }, [companyType, dispatch, hash]);\r\n\r\n return '';\r\n};\r\n\r\nexport default FileDownload;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n approve: {\r\n backgroundColor: theme.palette.success.main,\r\n },\r\n reject: {\r\n backgroundColor: theme.palette.error.main,\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Formik, FastField } from 'formik';\r\nimport { Grid, CircularProgress, Button, Typography } from '@material-ui/core';\r\n\r\nimport FormInput from '../../../components/FormInput';\r\nimport { formatDate } from '../../../../utils/textFormaters';\r\nimport useStyles from './styles';\r\n\r\nconst AdditionalNotes = ({\r\n loading,\r\n canApprove,\r\n approvedStatus,\r\n editable,\r\n rejectReason,\r\n completerName,\r\n completedDate,\r\n handleSave,\r\n canReject,\r\n}) => {\r\n const classes = useStyles();\r\n const handleApprove = () => handleSave();\r\n const handleReject = ({ rejectReason }) => handleSave({ reason: rejectReason });\r\n return (\r\n \r\n {({ handleSubmit }) => (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {editable ? (\r\n <>\r\n {loading ? (\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n Approve\r\n \r\n \r\n \r\n \r\n Reject\r\n \r\n \r\n \r\n )}\r\n \r\n ) : (\r\n \r\n {approvedStatus && (\r\n \r\n Submitted by {completerName} on {formatDate(completedDate)}\r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default AdditionalNotes;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n header: {\r\n backgroundColor: theme.palette.grey['500'],\r\n },\r\n section: {\r\n backgroundColor: theme.palette.grey['300'],\r\n },\r\n question: {\r\n backgroundColor: theme.palette.grey['50'],\r\n },\r\n tableStyles: {\r\n '& > tbody > tr > td:nth-child(1)': {\r\n width: '90%',\r\n },\r\n '& > tbody > tr > td:nth-child(2)': {\r\n width: '10%',\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n approve: ({ approve }) => ({\r\n color: approve ? theme.palette.success.main : theme.palette.grey['500'],\r\n }),\r\n reject: ({ reject }) => ({\r\n color: reject ? theme.palette.error.main : theme.palette.grey['500'],\r\n }),\r\n dialogActions: {\r\n padding: theme.spacing(1, 3, 2),\r\n },\r\n dialogContainer: {\r\n minWidth: theme.spacing(60),\r\n },\r\n tooltip: {\r\n backgroundColor: theme.palette.background.paper,\r\n border: `1px solid ${theme.palette.grey['500']}`,\r\n },\r\n tooltipArrow: {\r\n color: theme.palette.grey['500'],\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React, { useState } from 'react';\r\nimport {\r\n Button,\r\n CircularProgress,\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n DialogTitle,\r\n Grid,\r\n IconButton,\r\n Tooltip,\r\n Typography,\r\n} from '@material-ui/core';\r\nimport CheckIcon from '@material-ui/icons/Check';\r\nimport HighlightOffIcon from '@material-ui/icons/HighlightOff';\r\nimport { FastField, Formik } from 'formik';\r\n\r\nimport FormInput from '../../../components/FormInput';\r\nimport { reviewStatuses } from '../../../../utils/constants';\r\nimport { rejectReasonsSchema } from '../../../../utils/validate/shemas';\r\nimport useStyles from './style';\r\n\r\nconst StatusChecker = ({ id, status, comment, editable, updateList, handleUpdate }) => {\r\n const classes = useStyles({ approve: status === reviewStatuses.approve, reject: status === reviewStatuses.reject });\r\n const [open, setOpen] = useState(false);\r\n\r\n const Wrapper = ({ children }) =>\r\n comment ? (\r\n {comment}}\r\n >\r\n {children}\r\n \r\n ) : (\r\n children\r\n );\r\n\r\n const handleApprove = () => editable && handleUpdate({ id, status: reviewStatuses.approve, comment: '' });\r\n\r\n const handleReject = ({ comment }) => {\r\n handleUpdate({\r\n id,\r\n status: reviewStatuses.reject,\r\n comment,\r\n });\r\n setOpen(false);\r\n };\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n {updateList.includes(id) ? (\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n editable && setOpen(true)}>\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {({ handleSubmit }) => (\r\n \r\n State reject reason \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default StatusChecker;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n inputRow: {\r\n margin: theme.spacing(1, 0),\r\n },\r\n tableWrapper: {\r\n maxWidth: 'none',\r\n },\r\n table: {\r\n tableLayout: 'fixed',\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Paper, Table, TableBody, TableCell, TableContainer, TableHead, TableRow } from '@material-ui/core';\r\n\r\nimport useStyles from './styles';\r\n\r\nconst EmrTable = ({ data }) => {\r\n const classes = useStyles();\r\n return (\r\n \r\n \r\n \r\n \r\n Year\r\n emr\r\n \r\n \r\n \r\n <>\r\n {data && data.length > 0 ? (\r\n data\r\n .sort((a, b) => b.year - a.year)\r\n .map(row => (\r\n \r\n \r\n {row.year}\r\n \r\n {row.amount}\r\n \r\n ))\r\n ) : (\r\n \r\n \r\n No records to display\r\n \r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default EmrTable;\r\n","import { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n tableBody: {\r\n '& .MuiTableRow-root:nth-child(1)': {\r\n backgroundColor: theme.palette.grey[300],\r\n },\r\n '& .MuiTableRow-root:nth-child(3)': {\r\n backgroundColor: theme.palette.grey[300],\r\n },\r\n '& .MuiTableCell-root:nth-child(n+2)': {\r\n borderLeft: '1px solid #ccc',\r\n minWidth: theme.spacing(17),\r\n padding: theme.spacing(1),\r\n },\r\n },\r\n}));\r\n\r\nexport default useStyles;\r\n","import React from 'react';\r\nimport { Grid, Paper, Table, TableBody, TableCell, TableRow, Typography } from '@material-ui/core';\r\n\r\nimport { formatInjuryValue } from '../../../../../utils/containersHelpers';\r\nimport useStyles from './styles';\r\n\r\nconst InjuryAndIllnessTable = ({ data }) => {\r\n const classes = useStyles();\r\n return (\r\n \r\n \r\n \r\n \r\n Year\r\n {data.map(year => (\r\n \r\n \r\n \r\n {year.year}\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n Total hours\r\n {data.map(year => (\r\n \r\n \r\n \r\n {year.totalHours}\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n {data.map(year => (\r\n \r\n \r\n \r\n \r\n \r\n No.\r\n \r\n \r\n \r\n \r\n Rate\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n Fatalities\r\n {data.map(year => (\r\n \r\n \r\n \r\n \r\n \r\n {year.fatalities}\r\n \r\n \r\n \r\n \r\n {formatInjuryValue(year.fatalitiesRate)}\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n Total number of cases with days away from work, job transfer, or restrictions (H + I + J) [DART]\r\n \r\n {data.map(year => (\r\n \r\n \r\n \r\n \r\n \r\n {year.lostWorkdayRestricted}\r\n \r\n \r\n \r\n \r\n {formatInjuryValue(year.lostWorkdayRestrictedRate)}\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n Total number of cases with days away from work (H) [LWDI]\r\n {data.map(year => (\r\n \r\n \r\n \r\n \r\n \r\n {year.lostWorkdayAway}\r\n \r\n \r\n \r\n \r\n {formatInjuryValue(year.lostWorkdayAwayRate)}\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n Total number of injuries and illnesses involving medical treatment only (I + J) [RWC]\r\n {data.map(year => (\r\n \r\n \r\n \r\n \r\n \r\n {year.injuriesAndIllnessMedicalOnly}\r\n \r\n \r\n \r\n \r\n {formatInjuryValue(year.injuriesAndIllnessMedicalOnlyRate)}\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n Total number of injuries and illnesses (M) [TRIR]\r\n {data.map(year => (\r\n \r\n \r\n \r\n \r\n \r\n {year.totalOsha}\r\n \r\n \r\n \r\n \r\n {formatInjuryValue(year.totalOshaRate)}\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n Total number of days away from work (K) [SR]\r\n {data.map(year => (\r\n \r\n \r\n \r\n \r\n \r\n {year.totalDaysAwayFromWork}\r\n \r\n \r\n \r\n \r\n {formatInjuryValue(year.totalDaysAwayFromWorkRate)}\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default InjuryAndIllnessTable;\r\n","import React from 'react';\r\n\r\nimport FileList from '../../../FileUploader/FileList';\r\n\r\nconst FileQuestions = ({ files, downloadList, handleDownload }) => {\r\n const handleDownloadFile = id => handleDownload({ id, sectionKey: files.filter(item => item.id === id)[0].key });\r\n\r\n return (\r\n {}}\r\n />\r\n );\r\n};\r\n\r\nexport default FileQuestions;\r\n","import React from 'react';\r\nimport { Typography, Link as MaterialLink } from '@material-ui/core';\r\n\r\nimport { formatDate } from '../../../../../utils/textFormaters';\r\n\r\nconst phoneKeys = ['cmpninfoQ3', 'officersQ17', 'envmgmtCQ5', 'insurpolQ4'];\r\nconst emailKeys = ['envmgmtCQ4', 'officersQ16'];\r\nconst dateKeys = ['orginfoQ2', 'emrQ2'];\r\nconst urlKeys = ['cmpninfoQ5'];\r\n\r\nconst Text = ({ title, countAnswers, answer, fieldKey }) => {\r\n const formatAnswer =\r\n (phoneKeys.includes(fieldKey) && answer) ||\r\n (dateKeys.includes(fieldKey) && formatDate(answer)) ||\r\n (emailKeys.includes(fieldKey) && {answer}) ||\r\n (urlKeys.includes(fieldKey) && {answer}) ||\r\n answer;\r\n return (\r\n \r\n {countAnswers > 1 && {title}:} {formatAnswer || 'N/A'}\r\n \r\n );\r\n};\r\n\r\nexport default Text;\r\n","import React from 'react';\r\n\r\nimport EmrTable from './EmrTable';\r\nimport InjuryAndIllnessTable from './InjuryAndIllnessTable';\r\nimport FileQuestion from './FileQuestion';\r\nimport Text from './Text';\r\n\r\nconst AnswerTypes = ({ type, countAnswers, fieldKey, title, answer, downloadList, handleDownload }) => {\r\n const types = {\r\n Text: ,\r\n EmrTable: ,\r\n InjuryAndIllnessTable: ,\r\n Uploads: ,\r\n };\r\n return types[type] || null;\r\n};\r\n\r\nexport default AnswerTypes;\r\n","import React from 'react';\r\nimport { TableCell, TableRow, Typography } from '@material-ui/core';\r\n\r\nimport StatusChecker from '../StatusChecker';\r\nimport AnswerTypes from '../AnswerTypes';\r\n\r\nconst QuestionItem = ({\r\n questionText,\r\n id,\r\n answer,\r\n status,\r\n reviewComment,\r\n handleDownload,\r\n editable,\r\n updateList,\r\n downloadList,\r\n handleUpdate,\r\n sectionClass,\r\n questionClass,\r\n}) => {\r\n return (\r\n <>\r\n \r\n \r\n {questionText}\r\n \r\n \r\n \r\n \r\n {answer &&\r\n Object.keys(answer).map(item => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default QuestionItem;\r\n","import React from 'react';\r\nimport { Table, TableBody, TableCell, TableRow } from '@material-ui/core';\r\n\r\nimport useStyles from './style';\r\nimport QuestionItem from '../QuestionItem';\r\n\r\nconst QuestionTable = ({ list, editable, updateList, downloadList, handleUpdate, handleDownload }) => {\r\n const classes = useStyles();\r\n return (\r\n \r\n \r\n {Object.keys(list).map(section => (\r\n \r\n \r\n {list[section].sectionName}\r\n {list[section].score}/{list[section].maxScore}\r\n \r\n {list[section].questions.map(item => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default QuestionTable;\r\n","import React from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\n\r\nimport AdditionalNotes from './AdditionalNotes';\r\nimport QuestionTable from './QuestionTable';\r\nimport PaperWrapper from '../../components/PaperWrapper';\r\nimport PageLoader from '../../components/PageLoader';\r\nimport { reviewStatuses, pqfStatuses } from '../../../utils/constants';\r\n\r\nconst groupBySectionKey = list =>\r\n list.reduce(\r\n (acc, item) =>\r\n Object.keys(acc).includes(item.sectionKey)\r\n ? {\r\n ...acc,\r\n [item.sectionKey]: {\r\n ...acc[item.sectionKey],\r\n score: item.status === reviewStatuses.approve ? acc[item.sectionKey].score + item.score : acc[item.sectionKey].score,\r\n maxScore: acc[item.sectionKey].maxScore + item.maxScore,\r\n questions: [...acc[item.sectionKey].questions, item],\r\n },\r\n }\r\n : {\r\n ...acc,\r\n [item.sectionKey]: {\r\n sectionKey: item.sectionKey,\r\n sectionName: item.sectionName,\r\n score: item.status === reviewStatuses.approve ? item.score : 0,\r\n maxScore: item.maxScore,\r\n questions: [item],\r\n },\r\n },\r\n {},\r\n );\r\n\r\nconst Review = ({\r\n list,\r\n loading,\r\n pqfDocumentStatus,\r\n updateList,\r\n downloadList,\r\n handleUpdate,\r\n handleSave,\r\n handleDownload,\r\n completerName,\r\n completedDate,\r\n rejectReason,\r\n}) => {\r\n const canApprove = list.reduce((acc, item) => acc && item.status === reviewStatuses.approve, true);\r\n\r\n const editable = pqfDocumentStatus === pqfStatuses.PendingReview.key;\r\n\r\n if (list.length === 0) return ;\r\n\r\n const normalizeList = groupBySectionKey(list);\r\n const rejected = list.filter(item => item.status === reviewStatuses.reject);\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Review;\r\n","import { useParams } from 'react-router-dom';\r\nimport { Helmet } from 'react-helmet';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport React, { useEffect } from 'react';\r\n\r\nimport Review from '../../containers/Review';\r\nimport { title } from '../../routes/path';\r\nimport { review } from '../../../actionTypes';\r\nimport { formatPageTitle } from '../../../utils/textFormaters';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\n\r\nconst ReviewPage = () => {\r\n const dispatch = useDispatch();\r\n const { id, pqfDocumentId } = useParams();\r\n const { companyId, companyName } = useCompanyInfo(id);\r\n\r\n const {\r\n list,\r\n loading,\r\n pqfDocumentStatus,\r\n completerName,\r\n completedDate,\r\n rejectReason,\r\n updateList,\r\n downloadList,\r\n } = useSelector(store => store.review);\r\n\r\n useEffect(() => {\r\n dispatch({\r\n type: review.get.start,\r\n payload: {\r\n companyId,\r\n pqfDocumentId,\r\n },\r\n });\r\n }, [companyId, pqfDocumentId, dispatch]);\r\n\r\n const handleUpdate = params =>\r\n dispatch({\r\n type: review.update.start,\r\n payload: {\r\n companyId,\r\n pqfDocumentId,\r\n params,\r\n },\r\n });\r\n\r\n const handleSave = params =>\r\n dispatch({\r\n type: review.save.start,\r\n payload: {\r\n companyId,\r\n pqfDocumentId,\r\n params,\r\n },\r\n });\r\n\r\n const handleDownload = ({ id, sectionKey }) =>\r\n dispatch({\r\n type: review.downloadFile.start,\r\n payload: {\r\n companyId,\r\n fileId: id,\r\n sectionKey,\r\n },\r\n });\r\n\r\n return (\r\n <>\r\n \r\n {formatPageTitle(title.private.review, { companyName })}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ReviewPage;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { Switch, Route, useParams } from 'react-router-dom';\r\n\r\nimport useStyles from './styles';\r\nimport { auth, settings } from '../../../actionTypes';\r\nimport routes from '../../routes/path';\r\nimport Header from '../../containers/Header';\r\nimport CompanyList from '../../pages/MarketPlace';\r\nimport CreateNewCompany from '../../pages/CreateNewCompany';\r\nimport CompanyLayout from '../Company';\r\nimport YesNoQuestionsAll from '../../pages/YesNoQuestionsAll';\r\nimport Dashboard from '../../pages/Dashboard';\r\nimport NotFound from '../../pages/NotFound';\r\nimport FileDownload from '../../pages/FileDownload';\r\nimport Review from '../../pages/Review';\r\nimport { useUserPermissions } from '../../../utils/effects/userPermissions';\r\nimport { userTypes } from '../../../utils/constants';\r\nimport headerNotification from '../../../actionTypes/headerNotification';\r\nimport { useCompanyInfo } from '../../../utils/effects/useCompanyInfo';\r\n\r\nconst MainLayout = () => {\r\n const dispatch = useDispatch();\r\n const classes = useStyles();\r\n const { type } = useUserPermissions();\r\n const { id } = useParams();\r\n const { companyId } = useCompanyInfo(id);\r\n\r\n const userId = useSelector(state => state.auth.check.userId);\r\n const user = useSelector(state => state.entity.user[userId]);\r\n const headerNotifications = useSelector(state => state.headerNotifications);\r\n\r\n useEffect(() => {\r\n dispatch({ type: settings.configuration.get.start, payload: { companyId, fullData: false } });\r\n }, [companyId, dispatch, type]);\r\n\r\n useEffect(() => {\r\n dispatch({ type: headerNotification.list.start, payload: { companyId } });\r\n }, [companyId, dispatch]);\r\n\r\n const handleLogout = () => dispatch({ type: auth.logout.start });\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default MainLayout;\r\n","import React from 'react';\r\nimport { Route, Redirect } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport routes from './path';\r\n\r\nconst PrivateRoute = props => {\r\n const isLoggedIn = useSelector(state => state.auth.check.state);\r\n return !isLoggedIn ? : ;\r\n};\r\n\r\nexport default PrivateRoute;\r\n","import React from 'react';\r\nimport { Route, Redirect } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport routes from './path';\r\n\r\nconst PrivateRoute = props => {\r\n const isLoggedIn = useSelector(state => state.auth.check.state);\r\n return isLoggedIn ? : ;\r\n};\r\n\r\nexport default PrivateRoute;\r\n","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Helmet } from 'react-helmet';\r\nimport { useParams } from 'react-router-dom';\r\n\r\nimport CenteredContainer from '../../components/CenteredContainer';\r\nimport { auth } from '../../../actionTypes';\r\nimport { title } from '../../routes/path';\r\nimport ResetPasswordForm from '../../containers/SetNewPasswordForm';\r\n\r\nconst AcceptInvitationPage = () => {\r\n const dispatch = useDispatch();\r\n const { token } = useParams();\r\n const loading = useSelector(state => state.auth.acceptInvitation.loading);\r\n\r\n const onSubmit = values => {\r\n dispatch({ type: auth.acceptInvitation.start, payload: { values, token } });\r\n };\r\n\r\n const titleInvitation =\r\n \"Please set up a new password. After the password is set, you'll be granted access to the website.\";\r\n return (\r\n <>\r\n \r\n {title.public.invitationAccept}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AcceptInvitationPage;\r\n","import { Switch } from 'react-router-dom';\r\nimport React from 'react';\r\n\r\nimport LoginPage from '../pages/Login';\r\nimport ResetPasswordPage from '../pages/ResetPassword';\r\nimport SetNewPasswordPage from '../pages/SetNewPassword';\r\nimport MainLayout from '../layouts/MainLayout';\r\nimport { useCheckAuth } from '../../utils/effects/checkAuth';\r\nimport PublicRoute from './PublicRoute';\r\nimport PrivateRoute from './PrivateRoute';\r\nimport routes from './path';\r\nimport AcceptInvitationPage from '../pages/AcceptInvitation';\r\n\r\nconst Routes = () => {\r\n const isLoggedIn = useCheckAuth();\r\n if (typeof isLoggedIn !== 'boolean') {\r\n return 'loading';\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Routes;\r\n","import { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nimport { auth } from '../../actionTypes';\r\n\r\nexport function useCheckAuth() {\r\n const authState = useSelector(state => state.auth.check.state);\r\n const {\r\n location: { pathname },\r\n } = useHistory();\r\n\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n dispatch({ type: auth.check.start });\r\n }, [pathname, dispatch]);\r\n\r\n return authState;\r\n}\r\n","import { colors } from '@material-ui/core';\r\n\r\nexport default {\r\n activeLink: {\r\n main: 'rgb(199, 228, 252)',\r\n },\r\n background: {\r\n transparent: 'transparent',\r\n backdrop: 'rgba(255,255,255,0.8)',\r\n error: colors.red.A100,\r\n success: colors.green.A100,\r\n warning: colors.orange.A400,\r\n primary: {\r\n main: '#043e59',\r\n ligth: '#36647a',\r\n },\r\n },\r\n labels: {\r\n error: '#ff8a80',\r\n success: '#d0e7b7',\r\n },\r\n text: {\r\n primary: colors.blueGrey[900],\r\n secondary: colors.blueGrey[600],\r\n link: colors.blue[600],\r\n inputLabel: colors.grey[500],\r\n },\r\n};\r\n","import palette from './palette';\r\n\r\nexport default {\r\n cellPadding: {\r\n padding: '6px 10px',\r\n },\r\n h1: {\r\n color: palette.text.primary,\r\n fontWeight: 500,\r\n fontSize: '35px',\r\n letterSpacing: '-0.24px',\r\n lineHeight: '40px',\r\n },\r\n h2: {\r\n color: palette.text.primary,\r\n fontWeight: 500,\r\n fontSize: '29px',\r\n letterSpacing: '-0.24px',\r\n lineHeight: '32px',\r\n },\r\n h3: {\r\n color: palette.text.primary,\r\n fontWeight: 500,\r\n fontSize: '24px',\r\n letterSpacing: '-0.06px',\r\n lineHeight: '28px',\r\n },\r\n h4: {\r\n color: palette.text.primary,\r\n fontWeight: 500,\r\n fontSize: '20px',\r\n letterSpacing: '-0.06px',\r\n lineHeight: '24px',\r\n },\r\n h5: {\r\n color: palette.text.primary,\r\n fontWeight: 500,\r\n fontSize: '16px',\r\n letterSpacing: '-0.05px',\r\n lineHeight: '20px',\r\n },\r\n h6: {\r\n color: palette.text.primary,\r\n fontWeight: 500,\r\n fontSize: '14px',\r\n letterSpacing: '-0.05px',\r\n lineHeight: '20px',\r\n },\r\n subtitle1: {\r\n color: palette.text.primary,\r\n fontSize: '16px',\r\n letterSpacing: '-0.05px',\r\n lineHeight: '25px',\r\n },\r\n subtitle2: {\r\n color: palette.text.secondary,\r\n fontWeight: 400,\r\n fontSize: '14px',\r\n letterSpacing: '-0.05px',\r\n lineHeight: '21px',\r\n },\r\n body1: {\r\n color: palette.text.primary,\r\n fontSize: '14px',\r\n fontWeight: 400,\r\n letterSpacing: '-0.05px',\r\n lineHeight: '21px',\r\n },\r\n body2: {\r\n color: palette.text.secondary,\r\n fontSize: '12px',\r\n letterSpacing: '-0.04px',\r\n lineHeight: '18px',\r\n },\r\n button: {\r\n color: palette.text.primary,\r\n fontSize: '14px',\r\n fontWeight: 500,\r\n lineHeight: 1.75,\r\n letterSpacing: '0.33px',\r\n textTransform: 'uppercase',\r\n },\r\n caption: {\r\n color: palette.text.secondary,\r\n fontSize: '11px',\r\n letterSpacing: '0.33px',\r\n lineHeight: '13px',\r\n },\r\n overline: {\r\n color: palette.text.secondary,\r\n fontSize: '11px',\r\n fontWeight: 500,\r\n letterSpacing: '0.33px',\r\n lineHeight: '13px',\r\n textTransform: 'uppercase',\r\n },\r\n};\r\n","import { colors } from '@material-ui/core';\r\nexport default {\r\n root: {\r\n color: colors.indigo['500'],\r\n '&:hover': {\r\n color: colors.indigo['800'],\r\n },\r\n },\r\n};\r\n","import MuiLink from './MuiLink';\r\nimport MuiCssBaseline from './MuiCssBaseline';\r\nimport MuiTableCell from './MuiTableCell';\r\nimport MuiFormLabel from './MuiFormLabel';\r\nimport MuiFormHelperText from './MuiFormHelperText';\r\nimport MuiInputBase from './MuiInputBase';\r\nimport MuiButton from './MuiButton';\r\n\r\nexport default {\r\n MuiCssBaseline,\r\n MuiLink,\r\n MuiTableCell,\r\n MuiFormLabel,\r\n MuiFormHelperText,\r\n MuiInputBase,\r\n MuiButton,\r\n};\r\n","import typography from '../typography';\r\n\r\nexport default {\r\n '@global': {\r\n body: typography.body1,\r\n },\r\n};\r\n","import typography from '../typography';\r\nexport default {\r\n root: {\r\n fontSize: typography.body1.fontSize,\r\n padding: typography.cellPadding.padding,\r\n },\r\n head: typography.overline,\r\n body: typography.body1,\r\n};\r\n","import typography from '../typography';\r\nimport palette from '../palette';\r\nexport default {\r\n root: {\r\n fontSize: typography.h5.fontSize,\r\n color: palette.text.inputLabel,\r\n },\r\n};\r\n","import typography from '../typography';\r\nexport default {\r\n root: {\r\n fontSize: typography.body2.fontSize,\r\n },\r\n};\r\n","import typography from '../typography';\r\n\r\nexport default {\r\n root: {\r\n fontSize: typography.subtitle1.fontSize,\r\n },\r\n};\r\n","import palette from '../palette';\r\nexport default {\r\n containedPrimary: {\r\n backgroundColor: palette.background.primary.main,\r\n '&:hover': {\r\n backgroundColor: palette.background.primary.ligth,\r\n },\r\n },\r\n};\r\n","import { createMuiTheme } from '@material-ui/core/styles';\r\n\r\nimport palette from './palette';\r\nimport typography from './typography';\r\nimport overrides from './overrides';\r\n\r\nconst theme = createMuiTheme({\r\n palette,\r\n typography,\r\n overrides,\r\n});\r\n\r\nexport default theme;\r\n","import HttpError from './HttpError';\r\nimport * as fetchUtils from './fetchUtils';\r\nimport { getHeaders, reauthenticateIfNeeded } from './tokensHelper';\r\n\r\nconst fetchWrapper = async (...params) => {\r\n const result = await fetch(...params);\r\n\r\n const { status } = result;\r\n\r\n if (status < 200 || status >= 300) {\r\n const { body, statusText } = result;\r\n throw new HttpError(body || statusText, status, body);\r\n }\r\n\r\n return result;\r\n};\r\n\r\nexport const httpClient = ({ apiAuthUrl, permissionsUrl, clearTokens, saveTokens }) => async (\r\n url,\r\n options = {},\r\n fetchJson = true,\r\n) => {\r\n const fetchMethod = fetchJson ? fetchUtils.fetchJson : fetchWrapper;\r\n\r\n try {\r\n return await fetchMethod(url, {\r\n ...options,\r\n headers: getHeaders(true),\r\n });\r\n } catch (error) {\r\n if (\r\n error.status === 401 &&\r\n (await reauthenticateIfNeeded({ apiAuthUrl, permissionsUrl }, error.status, {\r\n clearTokensData: clearTokens,\r\n saveTokensData: saveTokens,\r\n }))\r\n ) {\r\n return fetchMethod(url, { ...options, headers: getHeaders(true) });\r\n }\r\n\r\n throw error;\r\n }\r\n};\r\n\r\n// this method use only for auth provider\r\nexport const sendData = async (\r\n method,\r\n url,\r\n authorizationUrl,\r\n permissionsUrl,\r\n params,\r\n saveTokens,\r\n clearTokens,\r\n errorMessage,\r\n) => {\r\n try {\r\n const response = await fetchUtils.fetchJson(url, {\r\n method,\r\n body: JSON.stringify(params),\r\n headers: getHeaders(false),\r\n });\r\n return response.json;\r\n } catch (e) {\r\n if (e.status === 400) {\r\n // eslint-disable-next-line no-throw-literal\r\n throw new Error(errorMessage);\r\n }\r\n\r\n if (e.status < 200 || e.status >= 300) {\r\n throw e;\r\n }\r\n }\r\n};\r\n\r\n// this method use only for login\r\nexport const authLogin = async (url, params, saveTokens, loginErrorMessage) => {\r\n const request = new Request(url, {\r\n method: 'POST',\r\n body: JSON.stringify(params),\r\n headers: getHeaders(false),\r\n });\r\n let json;\r\n\r\n const response = await fetch(request);\r\n\r\n if (response.status === 401) {\r\n // eslint-disable-next-line no-throw-literal\r\n throw new Error(loginErrorMessage);\r\n }\r\n\r\n if (response.status < 200 || response.status >= 300) {\r\n const body = await response.text();\r\n try {\r\n json = JSON.parse(body);\r\n } catch (e) {\r\n json = body;\r\n }\r\n throw new HttpError(json && (json.message || json.messages), response.status, json);\r\n }\r\n\r\n const data = await response.json();\r\n saveTokens(data);\r\n};\r\n","import { API_URL, API_AUTHORIZATION_URL } from '../config/api';\r\n\r\nexport const methods = {\r\n change: 'PATCH',\r\n forgot: 'PATCH',\r\n signUp: 'POST',\r\n acceptInvitation: 'PATCH',\r\n reset: 'PATCH',\r\n};\r\n\r\nexport const urls = {\r\n authorization: API_AUTHORIZATION_URL,\r\n base: API_URL,\r\n forgotPassword: 'Account/forgot-password',\r\n changePassword: 'Account/change-password',\r\n signUp: 'Account/register',\r\n reset: 'Account/reset-password',\r\n acceptInvitation: 'Account/reset-password',\r\n};\r\n\r\nexport const errorMessages = {\r\n login: 'Invalid login credentials',\r\n change: 'Your current password is incorrect, if you don’t remember your credentials - contact your admin',\r\n forgot: 'There is no user registered with email provided',\r\n signUp: 'Your data is incorrect, please contact your admin',\r\n reset: 'Your password reset link appears to be invalid. Please request a new link.',\r\n acceptInvitation: 'Your invitation is invalid. Please request a new link.',\r\n};\r\n\r\nexport const successMessages = {\r\n setNewPassword: 'Your password has been changed successfully',\r\n acceptInvitation: 'Your invitation has been approved successfully',\r\n resendUserInvitation: 'An invitation has been sent to the user',\r\n resetPassword:\r\n 'Please check your email for further instructions to reset your password. Please make sure to check your \"spam\" folder if you did not receive this email.',\r\n companyCreate: 'New company has been successfully created',\r\n companyUserInvite: 'An invitation has been sent to the user',\r\n companyDelete: 'Company has been successfully deleted',\r\n companyRestore: 'Company has been successfully restore',\r\n companyUserDelete: 'User has been successfully deleted',\r\n companyUserRestore: 'User has been successfully restored',\r\n companyFollow: 'Follow request has been successfully sent to the company',\r\n companyUnfollow: 'You unfollowed the company successfully',\r\n pqfApproved: 'PQF has been successfully approved',\r\n pqfRejected: 'PQF has been successfully rejected',\r\n};\r\n","import createAuthProvider from '../utils/providerHelpers/createAuthProvider';\r\nimport { saveTokens, clearTokens, hasTokens, getPermissions } from '../utils/providerHelpers/tokensHelper';\r\nimport { urls, errorMessages, methods } from './constants';\r\n\r\nconst authProvider = createAuthProvider(\r\n { saveTokens, clearTokens, hasTokens, getPermissions },\r\n urls,\r\n errorMessages,\r\n methods,\r\n);\r\n\r\nexport default authProvider;\r\n","import {\r\n getValueFromToken,\r\n clearTokens as defaultClearTokens,\r\n saveTokens as defaultSaveTokens,\r\n hasTokens as defaultHasTokens,\r\n} from './tokensHelper';\r\nimport { sendData, authLogin } from './httpHelper';\r\n\r\nexport default (\r\n { saveTokens = defaultSaveTokens, clearTokens = defaultClearTokens, hasTokens = defaultHasTokens, getPermissions },\r\n urls,\r\n errorMessages,\r\n methods,\r\n) => ({\r\n login: async params => {\r\n await authLogin(urls.authorization, params, saveTokens, errorMessages.login);\r\n return false;\r\n },\r\n logout: async () => {\r\n await clearTokens();\r\n return false;\r\n },\r\n checkAuth: async () => {\r\n if (hasTokens()) {\r\n return getValueFromToken();\r\n }\r\n // eslint-disable-next-line no-throw-literal\r\n throw null;\r\n },\r\n checkError: async () => {},\r\n saveTokensLogin: data => defaultSaveTokens(data),\r\n getPermissions: async () => getPermissions(),\r\n changePassword: async params => {\r\n const urlToSendData = `${urls.base}/${urls.changePassword}`;\r\n\r\n return await sendData(\r\n methods.change,\r\n urlToSendData,\r\n urls.authorization,\r\n urls.permissions,\r\n params,\r\n saveTokens,\r\n clearTokens,\r\n errorMessages.change,\r\n );\r\n },\r\n forgotPassword: async params => {\r\n const { email, redirectPath } = params;\r\n\r\n const paramsToSend = {\r\n email,\r\n redirectPrefix: `${window.location.origin}${redirectPath}`,\r\n };\r\n\r\n const urlToSendData = `${urls.base}/${urls.forgotPassword}`;\r\n return await sendData(\r\n methods.forgot,\r\n urlToSendData,\r\n urls.authorization,\r\n urls.permissions,\r\n paramsToSend,\r\n saveTokens,\r\n clearTokens,\r\n errorMessages.forgot,\r\n );\r\n },\r\n signUp: async params => {\r\n const urlToSendData = `${urls.base}/${urls.signUp}`;\r\n return await sendData(\r\n methods.signUp,\r\n urlToSendData,\r\n urls.authorization,\r\n urls.permissions,\r\n params,\r\n saveTokens,\r\n clearTokens,\r\n errorMessages.signUp,\r\n );\r\n },\r\n resetPassword: async params => {\r\n const { newPassword, token } = params;\r\n const urlToSendData = `${urls.base}/${urls.reset}`;\r\n const newParamsToSend = {\r\n password: newPassword,\r\n token,\r\n };\r\n\r\n return await sendData(\r\n methods.reset,\r\n urlToSendData,\r\n urls.authorization,\r\n urls.permissions,\r\n newParamsToSend,\r\n saveTokens,\r\n clearTokens,\r\n errorMessages.reset,\r\n );\r\n },\r\n acceptInvitation: async params => {\r\n const { newPassword, token } = params;\r\n const urlToSendData = `${urls.base}/${urls.acceptInvitation}`;\r\n const newParamsToSend = {\r\n password: newPassword,\r\n token,\r\n };\r\n\r\n return await sendData(\r\n methods.acceptInvitation,\r\n urlToSendData,\r\n urls.authorization,\r\n urls.permissions,\r\n newParamsToSend,\r\n saveTokens,\r\n clearTokens,\r\n errorMessages.acceptInvitation,\r\n );\r\n },\r\n});\r\n","import { schema } from 'normalizr';\r\n\r\nconst company = new schema.Entity('company');\r\n\r\nexport default company;\r\n","import { schema } from 'normalizr';\r\n\r\nconst user = new schema.Entity('user');\r\n\r\nexport default user;\r\n","import { schema } from 'normalizr';\r\n\r\nconst workCategory = new schema.Entity('workCategory');\r\n\r\nexport default workCategory;\r\n","import { schema } from 'normalizr';\r\n\r\nimport workCategory from './workCategory';\r\n\r\nconst workCategoryGroup = new schema.Entity('workCategoryGroup', {\r\n workCategories: [workCategory],\r\n});\r\n\r\nexport default workCategoryGroup;\r\n","import { schema } from 'normalizr';\r\n\r\nconst service = new schema.Entity('service');\r\n\r\nexport default service;\r\n","import { schema } from 'normalizr';\r\n\r\nconst companyUser = new schema.Entity('companyUser');\r\n\r\nexport default companyUser;\r\n","import { schema } from 'normalizr';\r\n\r\nconst documentScheme = new schema.Entity('document');\r\n\r\nexport default documentScheme;\r\n","import { schema } from 'normalizr';\r\n\r\nconst uploadDocumentScheme = new schema.Entity('uploadDocument');\r\n\r\nexport default uploadDocumentScheme;\r\n","import { schema } from 'normalizr';\r\n\r\nconst organization = new schema.Entity('organization');\r\n\r\nexport default organization;\r\n","import { put, call, takeLatest } from 'redux-saga/effects';\r\nimport { normalize } from 'normalizr';\r\n\r\nimport { auth, entity } from '../../actionTypes';\r\nimport authProvider from '../../store/authProvider';\r\nimport { user as userSchema, company as companySchema } from '../../schema';\r\n\r\nexport function* check() {\r\n try {\r\n const { Id, FirstName, LastName, CompanyType, CompanyName, CompanyId, CompanyLevel } = yield call(\r\n authProvider.checkAuth,\r\n );\r\n const user = {\r\n id: Id,\r\n firstName: FirstName,\r\n lastName: LastName,\r\n companyType: CompanyType,\r\n companyName: CompanyName,\r\n companyId: CompanyId,\r\n level: CompanyLevel,\r\n };\r\n\r\n const company = {\r\n id: CompanyId,\r\n companyType: CompanyType,\r\n companyName: CompanyName,\r\n level: CompanyLevel,\r\n };\r\n\r\n // normalize data\r\n const normalizeData = normalize(user, userSchema);\r\n yield put({ type: entity.add, payload: normalizeData.entities });\r\n\r\n const companyNormalizeData = normalize(company, companySchema);\r\n yield put({ type: entity.add, payload: companyNormalizeData.entities });\r\n\r\n yield put({ type: auth.check.end, payload: { state: true, userId: Id } });\r\n } catch (e) {\r\n yield put({ type: auth.check.error, payload: { state: false, error: !!e && e.message } });\r\n }\r\n}\r\n\r\nexport default function* checkAuthSaga() {\r\n yield takeLatest(auth.check.start, check);\r\n}\r\n","import { push } from 'connected-react-router';\r\nimport { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport routes from '../../ui/routes/path';\r\nimport { auth, notification } from '../../actionTypes';\r\nimport authProvider from '../../store/authProvider';\r\n\r\nexport function* login({ payload: { email, password } }) {\r\n try {\r\n yield call(authProvider.login, {\r\n username: email,\r\n password,\r\n });\r\n yield put({ type: auth.login.end, payload: { state: true } });\r\n yield put({ type: auth.check.start });\r\n yield put(push(routes.private.index));\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: auth.login.end });\r\n }\r\n}\r\n\r\nexport default function* loginSaga() {\r\n yield takeLatest(auth.login.start, login);\r\n}\r\n","import { put, call, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { auth, notification } from '../../actionTypes';\r\nimport authProvider from '../../store/authProvider';\r\n\r\nexport function* logout() {\r\n try {\r\n yield call(authProvider.logout);\r\n yield put({ type: auth.logout.end });\r\n yield put({ type: auth.check.start });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: auth.logout.end });\r\n }\r\n}\r\n\r\nexport default function* logoutSaga() {\r\n yield takeLatest(auth.logout.start, logout);\r\n}\r\n","import { put, call, takeLatest } from 'redux-saga/effects';\r\nimport { push } from 'connected-react-router';\r\n\r\nimport { auth, notification } from '../../actionTypes';\r\nimport authProvider from '../../store/authProvider';\r\nimport { formatPath } from '../../utils/textFormaters';\r\nimport routes from '../../ui/routes/path';\r\nimport { successMessages } from '../../store/constants';\r\n\r\nexport function* resetPassword({ payload }) {\r\n try {\r\n yield call(authProvider.forgotPassword, {\r\n ...payload,\r\n redirectPath: formatPath(routes.public.setNewPassword, { token: '' }),\r\n });\r\n yield put({ type: auth.resetPassword.end, payload: { state: true } });\r\n yield put(push(routes.public.login));\r\n yield put({ type: notification.add, payload: { success: successMessages.resetPassword } });\r\n } catch (e) {\r\n yield put({ type: auth.resetPassword.end, payload: { state: false } });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* resetPasswordSaga() {\r\n yield takeLatest(auth.resetPassword.start, resetPassword);\r\n}\r\n","import { push } from 'connected-react-router';\r\nimport { put, call, takeLatest } from 'redux-saga/effects';\r\n\r\nimport routes from '../../ui/routes/path';\r\nimport { auth, notification } from '../../actionTypes';\r\nimport authProvider from '../../store/authProvider';\r\nimport { successMessages } from '../../store/constants';\r\n\r\nexport function* setNewPassword({ payload: { values, token } }) {\r\n try {\r\n const loginToken = yield call(authProvider.resetPassword, {\r\n newPassword: values.password,\r\n token,\r\n });\r\n yield call(authProvider.saveTokensLogin, loginToken);\r\n yield put({ type: auth.setNewPassword.end });\r\n yield put(push(routes.private.index));\r\n yield put({ type: notification.add, payload: { success: successMessages.setNewPassword } });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: auth.setNewPassword.end });\r\n }\r\n}\r\n\r\nexport default function* setNewPasswordSaga() {\r\n yield takeLatest(auth.setNewPassword.start, setNewPassword);\r\n}\r\n","import { push } from 'connected-react-router';\r\nimport { put, call, takeLatest } from 'redux-saga/effects';\r\n\r\nimport routes from '../../ui/routes/path';\r\nimport { auth, notification } from '../../actionTypes';\r\nimport authProvider from '../../store/authProvider';\r\nimport { successMessages } from '../../store/constants';\r\n\r\nexport function* acceptInvitation({ payload: { values, token } }) {\r\n try {\r\n const loginToken = yield call(authProvider.acceptInvitation, {\r\n newPassword: values.password,\r\n token,\r\n });\r\n yield call(authProvider.saveTokensLogin, loginToken);\r\n yield put({ type: auth.acceptInvitation.end });\r\n yield put(push(routes.private.index));\r\n yield put({ type: notification.add, payload: { success: successMessages.acceptInvitation } });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: auth.acceptInvitation.end });\r\n }\r\n}\r\n\r\nexport default function* acceptInvitationSaga() {\r\n yield takeLatest(auth.acceptInvitation.start, acceptInvitation);\r\n}\r\n","import checkAuthSaga from './check';\r\nimport loginSaga from './login';\r\nimport logoutSaga from './logout';\r\nimport resetPasswordSaga from './resetPassword';\r\nimport setNewPasswordSaga from './setNewPassword';\r\nimport acceptInvitationSaga from './acceptInvitation';\r\n\r\nexport default [checkAuthSaga, loginSaga, logoutSaga, resetPasswordSaga, setNewPasswordSaga, acceptInvitationSaga];\r\n","// Fork from https://github.com/marmelab/react-admin/blob/master/packages/ra-data-json-server/src/index.ts\r\n\r\nimport { stringify } from 'query-string';\r\nimport get from 'lodash.get';\r\n\r\nimport { fetchJson, flattenObject } from './fetchUtils';\r\n\r\n/**\r\n *\r\n * queryParams = {\r\n * filter: '',\r\n * pagination: {\r\n * page: number,\r\n * perPage: number,\r\n * },\r\n * sort: {\r\n * field: string,\r\n * order: 'asc' || 'desc'\r\n * },\r\n * ids: array of id\r\n * };\r\n *\r\n * getOne => GET ${apiUrl}${resource}/:id\r\n * getOnly => GET ${apiUrl}${resource}\r\n * getList => GET ${apiUrl}${resource}?${queryParams}\r\n *\r\n * updateOne => PUT ${apiUrl}${resource}/:id\r\n * updateOnly => PUT ${apiUrl}${resource}\r\n * updateList => PUT ${apiUrl}${resource}\r\n *\r\n * createOne => POST ${apiUrl}${resource}\r\n * createList => POST ${apiUrl}${resource}\r\n *\r\n * deleteOne => DELETE ${apiUrl}${resource}/:id\r\n * deleteList => DELETE ${apiUrl}${resource}\r\n *\r\n */\r\n\r\nfunction generateQuery(params) {\r\n let query = get(params, 'filter', false) ? flattenObject(params.filter) : {};\r\n if (get(params, 'pagination', false)) {\r\n const { page, perPage } = params.pagination;\r\n query = {\r\n ...query,\r\n _start: (page - 1) * perPage,\r\n _end: page * perPage,\r\n };\r\n }\r\n if (get(params, 'sort', false)) {\r\n const { field, order } = params.sort;\r\n query = {\r\n ...query,\r\n _sort: field,\r\n _order: order,\r\n };\r\n }\r\n if (get(params, 'ids', false)) {\r\n query = {\r\n ...query,\r\n ids: params.ids,\r\n };\r\n }\r\n\r\n if (Object.keys(query).length) {\r\n return `?${stringify(query, { arrayFormat: 'comma', encode: false })}`;\r\n }\r\n return '';\r\n}\r\n\r\nexport default (apiUrl, httpClient = fetchJson) => ({\r\n getOne: (resource, params) =>\r\n httpClient(`${apiUrl}/${resource}/${params.id}`).then(({ json }) => ({\r\n data: json,\r\n })),\r\n\r\n getList: (resource, params) => {\r\n const url = `${apiUrl}/${resource}${generateQuery(params)}`;\r\n\r\n return httpClient(url).then(({ headers, json }) => {\r\n const total = headers.has('x-total-count')\r\n ? parseInt(\r\n headers\r\n .get('x-total-count')\r\n .split('/')\r\n .pop(),\r\n 10,\r\n )\r\n : null;\r\n return {\r\n data: json,\r\n total,\r\n };\r\n });\r\n },\r\n\r\n getOnly: (resource, params) =>\r\n httpClient(`${apiUrl}/${resource}${generateQuery(params)}`).then(({ json }) => ({\r\n data: json,\r\n })),\r\n\r\n updateOne: (resource, params) =>\r\n httpClient(`${apiUrl}/${resource}/${params.id}`, {\r\n method: 'PUT',\r\n body: JSON.stringify(params),\r\n }).then(({ json }) => ({ data: json })),\r\n\r\n updateOneFormData: (resource, params) =>\r\n httpClient(`${apiUrl}/${resource}`, {\r\n method: 'PUT',\r\n body: params,\r\n }).then(({ json }) => ({ data: json })),\r\n\r\n updateList: (resource, params) =>\r\n httpClient(`${apiUrl}/${resource}`, {\r\n method: 'PUT',\r\n body: JSON.stringify(params),\r\n }).then(({ json }) => ({ data: json })),\r\n\r\n updateOnly: (resource, params) =>\r\n httpClient(`${apiUrl}/${resource}`, {\r\n method: 'PUT',\r\n body: JSON.stringify(params),\r\n }).then(({ json }) => ({ data: json })),\r\n\r\n createOne: (resource, params) =>\r\n httpClient(`${apiUrl}/${resource}`, {\r\n method: 'POST',\r\n body: JSON.stringify(params),\r\n }).then(({ json }) => ({\r\n data: json,\r\n })),\r\n\r\n createOneFormData: (resource, params) =>\r\n httpClient(`${apiUrl}/${resource}`, {\r\n method: 'POST',\r\n body: params,\r\n }).then(({ json }) => ({\r\n data: json,\r\n })),\r\n\r\n createList: (resource, params) =>\r\n httpClient(`${apiUrl}/${resource}`, {\r\n method: 'POST',\r\n body: JSON.stringify(params),\r\n }).then(({ json }) => ({\r\n data: json,\r\n })),\r\n\r\n deleteOne: (resource, params) =>\r\n httpClient(`${apiUrl}/${resource}/${params.id}`, {\r\n method: 'DELETE',\r\n }).then(({ json }) => ({ data: json })),\r\n\r\n deleteList: (resource, params) =>\r\n httpClient(`${apiUrl}/${resource}`, {\r\n body: JSON.stringify(params), // { ids: [ 'id1' , 'id2', 'id3' ] }\r\n method: 'DELETE',\r\n }).then(({ json }) => ({ data: json })),\r\n});\r\n","import jsonServerProvider from './jsonServerHelper';\r\nimport { httpClient } from './httpHelper';\r\n\r\nexport default ({apiBaseUrl, apiAuthUrl, permissionsUrl, clearTokens, saveTokens }) => {\r\n const jsonDataProvider = jsonServerProvider(\r\n apiBaseUrl,\r\n httpClient({ apiAuthUrl, permissionsUrl, clearTokens, saveTokens }),\r\n );\r\n\r\n return jsonDataProvider;\r\n};\r\n","import createDataProvider from '../utils/providerHelpers/createDataProvider';\r\nimport { API_URL, API_AUTHORIZATION_URL } from '../config/api';\r\nimport { saveTokens, clearTokens } from '../utils/providerHelpers/tokensHelper';\r\n\r\nconst dataProvider = createDataProvider({\r\n apiBaseUrl: API_URL,\r\n apiAuthUrl: API_AUTHORIZATION_URL,\r\n saveTokens,\r\n clearTokens,\r\n});\r\n\r\nexport default dataProvider;\r\n","import { put, call, takeLatest } from 'redux-saga/effects';\r\nimport { push } from 'connected-react-router';\r\nimport { normalize } from 'normalizr';\r\n\r\nimport { company as companySchema } from '../../schema';\r\nimport { company, entity, notification } from '../../actionTypes';\r\nimport dataProvider from '../../store/dataProvider';\r\nimport { formatPath } from '../../utils/textFormaters';\r\nimport routes from '../../ui/routes/path';\r\nimport { successMessages } from '../../store/constants';\r\n\r\nexport function* create({ payload }) {\r\n try {\r\n const { data } = yield call(dataProvider.createOne, 'Companies', payload);\r\n yield put({ type: company.create.end, payload: { state: true } });\r\n const normalizeData = normalize([{ ...data, name: data.companyName }], [companySchema]);\r\n yield put({ type: entity.add, payload: normalizeData.entities });\r\n yield put({ type: notification.add, payload: { success: successMessages.companyCreate } });\r\n yield put(push(formatPath(routes.private.company.users, { id: data.id })));\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: company.create.error });\r\n }\r\n}\r\n\r\nexport default function* createCompanySaga() {\r\n yield takeLatest(company.create.start, create);\r\n}\r\n","import { normalize } from 'normalizr';\r\nimport { call, put, all, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { company as companySchema } from '../../schema';\r\nimport { company, entity, notification } from '../../actionTypes';\r\nimport dataProvider from '../../store/dataProvider';\r\n\r\nexport function* list({ payload: { payload = {}, fullInfo } }) {\r\n try {\r\n const [response, services, workCategories] = yield all([\r\n call(dataProvider.getList, 'Companies', payload),\r\n fullInfo && call(dataProvider.getList, 'Definitions/services', {}),\r\n fullInfo && call(dataProvider.getList, 'Definitions/work-categories', {}),\r\n ]);\r\n\r\n const { total, data } = response;\r\n // normalize data\r\n const normalizeData = normalize(data, [companySchema]);\r\n yield put({ type: entity.add, payload: normalizeData.entities });\r\n\r\n const putPayload = fullInfo\r\n ? {\r\n list: normalizeData.result,\r\n total,\r\n services: services.data.data,\r\n workCategories: workCategories.data.data,\r\n }\r\n : { list: normalizeData.result, total };\r\n\r\n yield put({\r\n type: company.list.end,\r\n payload: putPayload,\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: !!e && e.message } });\r\n }\r\n}\r\n\r\nexport default function* companyListPageSaga() {\r\n yield takeLatest(company.list.start, list);\r\n}\r\n","import { normalize } from 'normalizr';\r\nimport { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { company as companySchema } from '../../schema';\r\nimport { company, entity, notification } from '../../actionTypes';\r\nimport dataProvider from '../../store/dataProvider';\r\nimport { successMessages } from '../../store/constants';\r\n\r\nexport function* deleteCompany({ payload: { companyId, payload } }) {\r\n try {\r\n yield call(dataProvider.deleteOne, `companies`, { id: companyId });\r\n const response = yield call(dataProvider.getList, 'Companies', payload);\r\n\r\n const { total, data } = response;\r\n // normalize data\r\n const normalizeData = normalize(data, [companySchema]);\r\n yield put({ type: entity.add, payload: normalizeData.entities });\r\n\r\n yield put({\r\n type: company.delete.end,\r\n payload: { list: normalizeData.result, total },\r\n });\r\n yield put({ type: notification.add, payload: { success: successMessages.companyDelete } });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: !!e && e.message } });\r\n }\r\n}\r\n\r\nexport default function* deleteCompanySaga() {\r\n yield takeLatest(company.delete.start, deleteCompany);\r\n}\r\n","import { put, call, takeEvery } from 'redux-saga/effects';\r\nimport { normalize } from 'normalizr';\r\n\r\nimport { company as companySchema } from '../../schema';\r\nimport { company, entity, notification } from '../../actionTypes';\r\nimport dataProvider from '../../store/dataProvider';\r\n\r\nexport function* addToFavoriteCompany({ payload: { id, companyId, state } }) {\r\n try {\r\n const { data } = yield call(dataProvider.createOne, `companies/${companyId}/favourite/${id}`, {\r\n IsFavourite: state,\r\n });\r\n const normalizeData = normalize([{ id, isFavourite: data.isFavourite }], [companySchema]);\r\n yield put({ type: entity.add, payload: normalizeData.entities });\r\n yield put({ type: company.addToFavorite.end, payload: { id } });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: company.addToFavorite.error, payload: { id } });\r\n }\r\n}\r\n\r\nexport default function* addToFavoriteCompanySaga() {\r\n yield takeEvery(company.addToFavorite.start, addToFavoriteCompany);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { company, notification } from '../../actionTypes';\r\nimport dataProvider from '../../store/dataProvider';\r\n\r\nexport function* exportXlsx({ payload }) {\r\n try {\r\n yield call(dataProvider.getOnly, 'Companies/xlsx', payload);\r\n\r\n yield put({ type: company.export.end, payload: {} });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: company.export.error, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* exportXlsxSaga() {\r\n yield takeLatest(company.export.start, exportXlsx);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport dataProvider from '../../store/dataProvider';\r\nimport { company } from '../../actionTypes';\r\n\r\nexport function* get({ payload: { contractorId } }) {\r\n try {\r\n const { data } = yield call(dataProvider.getOnly, `companies/${contractorId}/owner-favourite`);\r\n\r\n yield put({\r\n type: company.getFavoriteOwnerList.end,\r\n payload: data,\r\n });\r\n } catch (e) {\r\n yield put({ type: company.getFavoriteOwnerList.error });\r\n }\r\n}\r\n\r\nexport default function* getFavoriteList() {\r\n yield takeLatest(company.getFavoriteOwnerList.start, get);\r\n}\r\n","import create from './create';\r\nimport list from './list';\r\nimport deleteCompany from './delete';\r\nimport addToFavorite from './addToFavorite';\r\nimport exportXlsx from './exportXlsx';\r\nimport getFavoriteOwnerList from './getFavoriteOwnerList';\r\n\r\nexport default [create, list, deleteCompany, addToFavorite, exportXlsx, getFavoriteOwnerList];\r\n","import { normalize } from 'normalizr';\r\nimport { all, call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { workCategory as workCategorySchema, workCategoryGroup as workCategoryGroupSchema } from '../../../schema';\r\nimport { currentCompany, entity, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* get({ payload: { companyId } }) {\r\n try {\r\n const [groups, categories] = yield all([\r\n call(dataProvider.getList, 'Definitions/work-categories', {}),\r\n call(dataProvider.getList, `companies/${companyId}/work-categories`, {}),\r\n ]);\r\n\r\n // normalize data\r\n const listCategories = normalize(categories.data.data, [workCategorySchema]);\r\n const listGroups = normalize(groups.data.data, [workCategoryGroupSchema]);\r\n\r\n yield put({ type: entity.add, payload: listCategories.entities });\r\n yield put({ type: entity.add, payload: listGroups.entities });\r\n\r\n yield put({\r\n type: currentCompany.workCategory.get.end,\r\n payload: { groups: listGroups.result, categories: listCategories.result },\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getworkCategorySaga() {\r\n yield takeLatest(currentCompany.workCategory.get.start, get);\r\n}\r\n","import { normalize } from 'normalizr';\r\nimport { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { workCategory as workCategorySchema } from '../../../schema';\r\nimport { currentCompany, entity, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* updateWorkCategory({ payload: { companyId, values, sectionKey } }) {\r\n try {\r\n const categories = yield call(dataProvider.createList, `companies/${companyId}/work-categories`, values);\r\n const listCategories = normalize(categories.data.data, [workCategorySchema]);\r\n yield put({ type: entity.add, payload: listCategories.entities });\r\n yield put({\r\n type: currentCompany.workCategory.update.end,\r\n payload: { categories: listCategories.result },\r\n });\r\n // update PQF document validation\r\n yield put({\r\n type: currentCompany.companyInfo.validation.start,\r\n payload: { companyId: companyId, validationKey: sectionKey },\r\n });\r\n } catch (e) {\r\n yield put({ type: currentCompany.workCategory.update.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* updateWorkCategorySaga() {\r\n yield takeLatest(currentCompany.workCategory.update.start, updateWorkCategory);\r\n}\r\n","import getworkCategory from './get';\r\nimport updateworkCategory from './update';\r\n\r\nexport default [getworkCategory, updateworkCategory];\r\n","import { normalize } from 'normalizr';\r\nimport { all, call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { service as serviceSchema } from '../../../schema';\r\nimport { currentCompany, entity, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* get({ payload: { companyId, params } }) {\r\n try {\r\n const [services, companyServices] = yield all([\r\n call(dataProvider.getList, 'definitions/services', params),\r\n call(dataProvider.getList, `companies/${companyId}/services`, params),\r\n ]);\r\n\r\n const listCompanyServices = companyServices.data.services.map(item => item.id);\r\n\r\n // normalize data\r\n const listServices = normalize(services.data.data, [serviceSchema]);\r\n\r\n yield put({ type: entity.add, payload: listServices.entities });\r\n\r\n yield put({\r\n type: currentCompany.service.get.end,\r\n payload: {\r\n services: listServices.result,\r\n companyServices: listCompanyServices,\r\n others: companyServices.data.information.additionalServices,\r\n },\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getserviceSaga() {\r\n yield takeLatest(currentCompany.service.get.start, get);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* updateService({ payload: { companyId, values, other, sectionKey } }) {\r\n try {\r\n const { data } = yield call(dataProvider.updateList, `Companies/${companyId}/services`, {\r\n services: values,\r\n information: {\r\n additionalServices: other,\r\n },\r\n });\r\n\r\n yield put({\r\n type: currentCompany.service.update.end,\r\n payload: { companyServices: data.services.map(item => item.id), others: data.information.additionalServices },\r\n });\r\n\r\n // update PQF document validation\r\n yield put({\r\n type: currentCompany.companyInfo.validation.start,\r\n payload: { companyId: companyId, validationKey: sectionKey },\r\n });\r\n } catch (e) {\r\n yield put({ type: currentCompany.service.update.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* updateserviceaga() {\r\n yield takeLatest(currentCompany.service.update.start, updateService);\r\n}\r\n","import getService from './get';\r\nimport updateService from './update';\r\n\r\nexport default [getService, updateService];\r\n","import { all, call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, file, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { uploadHelpers } from '../../../utils/pageHelpers';\r\n\r\nexport function* get({ companyId }) {\r\n try {\r\n const [finInfoData, finArraysData] = yield all([\r\n call(dataProvider.getOnly, `companies/${companyId}/fin-info`),\r\n call(dataProvider.getList, `companies/${companyId}/annual-dollar-volume`, {}),\r\n ]);\r\n\r\n const { uploads, ...infoData } = finInfoData.data;\r\n const { uploadKeys, uploadValues } = uploadHelpers(uploads);\r\n\r\n yield put({\r\n type: file.get.end,\r\n payload: Object.keys(uploads).reduce((acc, item) => ({ ...acc, [item]: uploads[item] }), {}),\r\n });\r\n\r\n yield put({\r\n type: currentCompany.finInfo.get.end,\r\n payload: {\r\n financialInfo: { ...infoData, ...uploadValues, uploadKeys },\r\n financialArrays: finArraysData.data.data,\r\n },\r\n });\r\n } catch (e) {\r\n yield put({ type: currentCompany.finInfo.get.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getFinInfoSaga() {\r\n yield takeLatest(currentCompany.finInfo.get.start, get);\r\n}\r\n","import { all, call, put } from 'redux-saga/effects';\r\n\r\nimport { file, notification } from '../../actionTypes';\r\nimport dataProvider from '../../store/dataProvider';\r\n\r\nexport function* updateFiles({ deleteList, createList, companyId, sectionKey }) {\r\n try {\r\n const [saveFiles] = yield all([\r\n createList.length\r\n ? call(\r\n dataProvider.createList,\r\n `companies/${companyId}/related-document/${sectionKey}/save`,\r\n createList.map(item => {\r\n const { id, ...last } = item;\r\n return last;\r\n }),\r\n )\r\n : [],\r\n deleteList.length\r\n ? call(dataProvider.deleteList, `companies/${companyId}/related-document/${sectionKey}`, deleteList)\r\n : [],\r\n ]);\r\n if (deleteList.length) {\r\n yield put({ type: file.remove.end, payload: { sectionKey, fileId: deleteList } });\r\n }\r\n if (createList.length) {\r\n yield put({ type: file.add.end, payload: { sectionKey, files: saveFiles.data } });\r\n }\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n if (deleteList.length) {\r\n yield put({ type: file.remove.error, payload: { files: deleteList } });\r\n }\r\n yield put({ type: file.add.error });\r\n }\r\n}\r\n","import { all, call, put, select, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { updateFiles } from '../../file/updateFiles';\r\nimport { uploadSelector } from '../../../utils/pageHelpers';\r\n\r\nexport function* update({ payload: { companyId, financialInfo, financialArrays, sectionKey } }) {\r\n try {\r\n const { uploadKeys, ...dirtyValues } = financialInfo;\r\n const formValues = Object.keys(dirtyValues).reduce(\r\n (acc, item) => (uploadKeys.includes(item) ? acc : { ...acc, [item]: dirtyValues[item] }),\r\n {},\r\n );\r\n\r\n // update files\r\n if (uploadKeys.length) {\r\n yield all(\r\n uploadKeys.map(\r\n key =>\r\n (financialInfo[key].createList.length || financialInfo[key].deleteList.length) &&\r\n call(updateFiles, {\r\n companyId,\r\n deleteList: financialInfo[key].deleteList,\r\n createList: financialInfo[key].createList,\r\n sectionKey: key,\r\n }),\r\n ),\r\n );\r\n }\r\n\r\n const fileObj = yield select(store => uploadSelector(store, uploadKeys));\r\n\r\n const updateFinInfo = yield call(dataProvider.updateOnly, `companies/${companyId}/fin-info`, formValues);\r\n const updateFinArrays = yield call(\r\n dataProvider.createList,\r\n `companies/${companyId}/annual-dollar-volume`,\r\n financialArrays,\r\n );\r\n\r\n yield put({\r\n type: currentCompany.finInfo.update.end,\r\n payload: {\r\n financialInfo: { ...updateFinInfo.data, ...fileObj, uploadKeys },\r\n financialArrays: updateFinArrays.data || [],\r\n },\r\n });\r\n\r\n // update PQF document validation\r\n yield put({\r\n type: currentCompany.companyInfo.validation.start,\r\n payload: { companyId: companyId, validationKey: sectionKey },\r\n });\r\n } catch (e) {\r\n yield put({ type: currentCompany.finInfo.update.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getFinInfoSaga() {\r\n yield takeLatest(currentCompany.finInfo.update.start, update);\r\n}\r\n","import get from './get';\r\nimport update from './update';\r\n\r\nexport default [get, update];\r\n","import { put, call, takeLatest } from 'redux-saga/effects';\r\nimport { normalize } from 'normalizr';\r\n\r\nimport { currentCompany, entity, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { successMessages } from '../../../store/constants';\r\nimport { companyUser as companyUserSchema } from '../../../schema';\r\nimport { formatPath } from '../../../utils/textFormaters';\r\nimport routes from '../../../ui/routes/path';\r\n\r\nexport function* create({ payload: { values, companyId } }) {\r\n try {\r\n const { data } = yield call(dataProvider.createOne, `Companies/${companyId}/Users`, {\r\n ...values,\r\n redirectPath: `${window.location.origin}${formatPath(routes.public.invitationAccept, { token: '' })}`,\r\n });\r\n yield put({\r\n type: currentCompany.user.create.end,\r\n payload: {\r\n state: data,\r\n },\r\n });\r\n const normalizeData = normalize(data, [companyUserSchema]);\r\n yield put({ type: entity.add, payload: normalizeData.entities });\r\n\r\n if (data.isInvitationSent) {\r\n yield put({ type: notification.add, payload: { success: successMessages.companyUserInvite } });\r\n }\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: currentCompany.user.create.error });\r\n }\r\n}\r\n\r\nexport default function* createUserSaga() {\r\n yield takeLatest(currentCompany.user.create.start, create);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* get({ payload: { companyId, params } }) {\r\n try {\r\n const { data } = yield call(dataProvider.getList, `Companies/${companyId}/Users`, params);\r\n yield put({\r\n type: currentCompany.user.get.end,\r\n payload: data,\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getUserListSaga() {\r\n yield takeLatest(currentCompany.user.get.start, get);\r\n}\r\n","import { put, call, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { successMessages } from '../../../store/constants';\r\nimport { formatPath } from '../../../utils/textFormaters';\r\nimport routes from '../../../ui/routes/path';\r\n\r\nexport function* resend({ payload: { id } }) {\r\n try {\r\n yield call(dataProvider.createOne, `Users/${id}/invite`, {\r\n redirectPath: `${window.location.origin}${formatPath(routes.public.invitationAccept, { token: '' })}`,\r\n });\r\n yield put({ type: currentCompany.user.resend.end });\r\n yield put({ type: notification.add, payload: { success: successMessages.resendUserInvitation } });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: currentCompany.user.resend.end });\r\n }\r\n}\r\n\r\nexport default function* resendUserSaga() {\r\n yield takeLatest(currentCompany.user.resend.start, resend);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* update({\r\n payload: {\r\n companyId,\r\n values: { id, ...values },\r\n },\r\n}) {\r\n try {\r\n const { data } = yield call(dataProvider.updateOnly, `companies/${companyId}/users/${id}`, values);\r\n\r\n yield put({\r\n type: currentCompany.user.update.end,\r\n payload: data,\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: currentCompany.user.update.error, payload: { id } });\r\n }\r\n}\r\n\r\nexport default function* updateUserSaga() {\r\n yield takeLatest(currentCompany.user.update.start, update);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { successMessages } from '../../../store/constants';\r\n\r\nexport function* remove({ payload: { companyId, userId } }) {\r\n try {\r\n yield call(dataProvider.deleteOne, `companies/${companyId}/users`, { id: userId });\r\n\r\n yield put({\r\n type: currentCompany.user.remove.end,\r\n payload: { userId },\r\n });\r\n yield put({\r\n type: notification.add,\r\n payload: { success: successMessages.companyUserDelete },\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: !!e && e.message } });\r\n yield put({ type: currentCompany.user.restore.error, payload: { userId } });\r\n }\r\n}\r\n\r\nexport default function* removeUserSaga() {\r\n yield takeLatest(currentCompany.user.remove.start, remove);\r\n}\r\n","import create from './create';\r\nimport get from './get';\r\nimport resend from './resend';\r\nimport update from './update';\r\nimport remove from './remove';\r\n\r\nexport default [create, get, resend, update, remove];\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* create({ payload: { companyId, values, sectionKey } }) {\r\n try {\r\n const { data } = yield call(dataProvider.createOne, `companies/${companyId}/references`, values);\r\n yield put({ type: currentCompany.reference.create.end, payload: data });\r\n\r\n // update PQF document validation\r\n yield put({\r\n type: currentCompany.companyInfo.validation.start,\r\n payload: { companyId: companyId, validationKey: sectionKey },\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: currentCompany.reference.create.error });\r\n }\r\n}\r\n\r\nexport default function* createReferenceSaga() {\r\n yield takeLatest(currentCompany.reference.create.start, create);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* deleteReference({ payload: { companyId, itemId, sectionKey } }) {\r\n try {\r\n yield call(dataProvider.deleteOne, `companies/${companyId}/references`, { id: itemId });\r\n yield put({ type: currentCompany.reference.delete.end, payload: itemId });\r\n\r\n // update PQF document validation\r\n yield put({\r\n type: currentCompany.companyInfo.validation.start,\r\n payload: { companyId: companyId, validationKey: sectionKey },\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: currentCompany.reference.delete.error });\r\n }\r\n}\r\n\r\nexport default function* createReferenceSaga() {\r\n yield takeLatest(currentCompany.reference.delete.start, deleteReference);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* update({ payload: { companyId, values, itemId, sectionKey } }) {\r\n try {\r\n const { data } = yield call(dataProvider.updateOne, `companies/${companyId}/references`, values);\r\n yield put({ type: currentCompany.reference.update.end, payload: { values: data, itemId } });\r\n\r\n // update PQF document validation\r\n yield put({\r\n type: currentCompany.companyInfo.validation.start,\r\n payload: { companyId: companyId, validationKey: sectionKey },\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: currentCompany.reference.update.error });\r\n }\r\n}\r\n\r\nexport default function* updateReferenceSaga() {\r\n yield takeLatest(currentCompany.reference.update.start, update);\r\n}\r\n","import { all, call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* get({ payload: { companyId } }) {\r\n try {\r\n const [largestJobData, referenceData] = yield all([\r\n call(dataProvider.getList, `companies/${companyId}/largest-job`),\r\n call(dataProvider.getList, `companies/${companyId}/references`),\r\n ]);\r\n yield put({\r\n type: currentCompany.reference.get.end,\r\n payload: { references: referenceData.data, largestJobInfo: largestJobData.data },\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: currentCompany.reference.get.error });\r\n }\r\n}\r\n\r\nexport default function* getReferenceSaga() {\r\n yield takeLatest(currentCompany.reference.get.start, get);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* update({ payload: { companyId, values, sectionKey } }) {\r\n try {\r\n yield call(dataProvider.createOne, `companies/${companyId}/largest-job`, values);\r\n yield put({\r\n type: currentCompany.reference.updateJobInfo.end,\r\n payload: values,\r\n });\r\n // update PQF document validation\r\n yield put({\r\n type: currentCompany.companyInfo.validation.start,\r\n payload: { companyId: companyId, validationKey: sectionKey },\r\n });\r\n } catch (e) {\r\n yield put({ type: currentCompany.reference.updateJobInfo.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* updateJobInfoSaga() {\r\n yield takeLatest(currentCompany.reference.updateJobInfo.start, update);\r\n}\r\n","import createReference from './create';\r\nimport deleteReference from './delete';\r\nimport updateReferenceSaga from './update';\r\nimport getReferenceSaga from './get';\r\nimport updateJobInfoSaga from './updateJobInfo';\r\n\r\nexport default [createReference, deleteReference, updateReferenceSaga, getReferenceSaga, updateJobInfoSaga];\r\n","import { all, put, call, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* create({ payload: { companyId, values, subsidiaries, sectionKey } }) {\r\n try {\r\n const [companyData, subsidiariesData] = yield all([\r\n call(dataProvider.createOne, `companies/${companyId}/parent-company`, values),\r\n subsidiaries.length\r\n ? call(dataProvider.createList, `companies/${companyId}/Subsidiaries`, subsidiaries)\r\n : { data: [] },\r\n ]);\r\n\r\n yield put({\r\n type: currentCompany.parentCompany.create.end,\r\n payload: { companyData: companyData.data, subsidiaries: subsidiariesData.data },\r\n });\r\n\r\n // update PQF document validation\r\n yield put({\r\n type: currentCompany.companyInfo.validation.start,\r\n payload: { companyId: companyId, validationKey: sectionKey },\r\n });\r\n } catch (e) {\r\n yield put({ type: currentCompany.parentCompany.create.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* createParentCompanySaga() {\r\n yield takeLatest(currentCompany.parentCompany.create.start, create);\r\n}\r\n","import { all, call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* get({ payload: { companyId } }) {\r\n try {\r\n const [companyData, subsidiariesData] = yield all([\r\n call(dataProvider.getOnly, `companies/${companyId}/parent-company`),\r\n call(dataProvider.getList, `companies/${companyId}/subsidiaries`, {}),\r\n ]);\r\n yield put({\r\n type: currentCompany.parentCompany.get.end,\r\n payload: { companyData: companyData.data, subsidiaries: subsidiariesData.data },\r\n });\r\n } catch (e) {\r\n yield put({ type: currentCompany.parentCompany.get.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getParentCompanySaga() {\r\n yield takeLatest(currentCompany.parentCompany.get.start, get);\r\n}\r\n","import { all, put, call, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* update({ payload: { companyId, values, subsidiaries, sectionKey } }) {\r\n try {\r\n const [companyData, subsidiariesData] = yield all([\r\n call(dataProvider.updateOnly, `companies/${companyId}/parent-company`, values),\r\n subsidiaries.length\r\n ? call(dataProvider.createList, `companies/${companyId}/Subsidiaries`, subsidiaries)\r\n : { data: [] },\r\n ]);\r\n\r\n yield put({\r\n type: currentCompany.parentCompany.update.end,\r\n payload: { companyData: companyData.data, subsidiaries: subsidiariesData.data },\r\n });\r\n\r\n // update PQF document validation\r\n yield put({\r\n type: currentCompany.companyInfo.validation.start,\r\n payload: { companyId: companyId, validationKey: sectionKey },\r\n });\r\n } catch (e) {\r\n yield put({ type: currentCompany.parentCompany.update.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* updateParentCompanySaga() {\r\n yield takeLatest(currentCompany.parentCompany.update.start, update);\r\n}\r\n","import create from './create';\r\nimport get from './get';\r\nimport update from './update';\r\nexport default [create, get, update];\r\n","import { all, call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* update({ payload: { companyId, organizationInfo, organizationArrays, sectionKey } }) {\r\n try {\r\n const [organizationInfoData, organizationArraysData] = yield all([\r\n call(dataProvider.updateOnly, `companies/${companyId}/org-info`, organizationInfo),\r\n call(dataProvider.createList, `companies/${companyId}/avg-num-employees`, organizationArrays),\r\n ]);\r\n\r\n yield put({\r\n type: currentCompany.organizationInfo.update.end,\r\n payload: { organizationInfo: organizationInfoData.data, organizationArrays: organizationArraysData.data },\r\n });\r\n\r\n //update PQF document validation\r\n yield put({\r\n type: currentCompany.companyInfo.validation.start,\r\n payload: { companyId: companyId, validationKey: sectionKey },\r\n });\r\n } catch (e) {\r\n yield put({ type: currentCompany.organizationInfo.update.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* organizationInfoSaga() {\r\n yield takeLatest(currentCompany.organizationInfo.update.start, update);\r\n}\r\n","import { all, call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* getOrganizationInfo({ companyId }) {\r\n try {\r\n const [orgInfoData, orgArraysData] = yield all([\r\n call(dataProvider.getOnly, `companies/${companyId}/org-info`, {}),\r\n call(dataProvider.getList, `companies/${companyId}/avg-num-employees`, {}),\r\n ]);\r\n\r\n yield put({\r\n type: currentCompany.organizationInfo.get.end,\r\n payload: { organizationInfo: orgInfoData.data, organizationArrays: orgArraysData.data.data },\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: currentCompany.organizationInfo.get.end, payload: { data: {} } });\r\n }\r\n}\r\n\r\nexport default function* getOrganizationInfoSaga() {\r\n yield takeLatest(currentCompany.organizationInfo.get.start, getOrganizationInfo);\r\n}\r\n","import update from './update';\r\nimport get from './get';\r\n\r\nexport default [update, get];\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, file, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { uploadHelpers } from '../../../utils/pageHelpers';\r\n\r\nexport function* get({ companyId }) {\r\n try {\r\n const { data } = yield call(dataProvider.getOnly, `companies/${companyId}/officers`);\r\n\r\n const { uploads, ...officers } = data;\r\n const { uploadKeys, uploadValues } = uploadHelpers(uploads);\r\n\r\n yield put({\r\n type: file.get.end,\r\n payload: Object.keys(uploads).reduce((acc, item) => ({ ...acc, [item]: uploads[item] }), {}),\r\n });\r\n\r\n yield put({\r\n type: currentCompany.officer.get.end,\r\n payload: { officers: { ...officers, ...uploadValues, uploadKeys } },\r\n });\r\n } catch (e) {\r\n yield put({ type: currentCompany.officer.get.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getOfficerSaga() {\r\n yield takeLatest(currentCompany.officer.get.start, get);\r\n}\r\n","import { all, call, put, select, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { updateFiles } from '../../file/updateFiles';\r\nimport { uploadSelector } from '../../../utils/pageHelpers';\r\n\r\nexport function* update({ payload: { companyId, values, sectionKey } }) {\r\n try {\r\n const { uploadKeys, ...dirtyValues } = values;\r\n const formValues = Object.keys(dirtyValues).reduce(\r\n (acc, item) => (uploadKeys.includes(item) ? acc : { ...acc, [item]: dirtyValues[item] }),\r\n {},\r\n );\r\n\r\n // update files\r\n if (uploadKeys.length) {\r\n yield all(\r\n uploadKeys.map(\r\n key =>\r\n (values[key].createList.length || values[key].deleteList.length) &&\r\n call(updateFiles, {\r\n companyId,\r\n deleteList: values[key].deleteList,\r\n createList: values[key].createList,\r\n sectionKey: key,\r\n }),\r\n ),\r\n );\r\n }\r\n\r\n const fileObj = yield select(store => uploadSelector(store, uploadKeys));\r\n\r\n const { data } = yield call(dataProvider.updateOnly, `companies/${companyId}/officers`, formValues);\r\n yield put({\r\n type: currentCompany.officer.update.end,\r\n payload: { officers: { ...data, ...fileObj, uploadKeys } },\r\n });\r\n\r\n // update PQF document validation\r\n yield put({\r\n type: currentCompany.companyInfo.validation.start,\r\n payload: { companyId: companyId, validationKey: sectionKey },\r\n });\r\n } catch (e) {\r\n yield put({ type: currentCompany.officer.update.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getOfficerSaga() {\r\n yield takeLatest(currentCompany.officer.update.start, update);\r\n}\r\n","import { all, call, put, select, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { updateFiles } from '../../file/updateFiles';\r\nimport { uploadSelector } from '../../../utils/pageHelpers';\r\n\r\nexport function* create({ payload: { companyId, values, sectionKey } }) {\r\n try {\r\n const { uploadKeys, ...dirtyValues } = values;\r\n const formValues = Object.keys(dirtyValues).reduce(\r\n (acc, item) => (uploadKeys.includes(item) ? acc : { ...acc, [item]: dirtyValues[item] }),\r\n {},\r\n );\r\n\r\n // update files\r\n if (uploadKeys.length) {\r\n yield all(\r\n uploadKeys.map(\r\n key =>\r\n (values[key].createList.length || values[key].deleteList.length) &&\r\n call(updateFiles, {\r\n companyId,\r\n deleteList: values[key].deleteList,\r\n createList: values[key].createList,\r\n sectionKey: key,\r\n }),\r\n ),\r\n );\r\n }\r\n\r\n const fileObj = yield select(store => uploadSelector(store, uploadKeys));\r\n\r\n const { data } = yield call(dataProvider.createOne, `companies/${companyId}/officers`, formValues);\r\n\r\n yield put({\r\n type: currentCompany.officer.update.end,\r\n payload: { officers: { ...data, ...fileObj, uploadKeys } },\r\n });\r\n\r\n // update PQF document validation\r\n yield put({\r\n type: currentCompany.companyInfo.validation.start,\r\n payload: { companyId: companyId, validationKey: sectionKey },\r\n });\r\n } catch (e) {\r\n yield put({ type: currentCompany.officer.create.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getOfficerSaga() {\r\n yield takeLatest(currentCompany.officer.create.start, create);\r\n}\r\n","import get from './get';\r\nimport update from './update';\r\nimport create from './create';\r\n\r\nexport default [get, update, create];\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, file, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { uploadHelpers } from '../../../utils/pageHelpers';\r\n\r\nexport function* get({ payload: { companyId, sectionKey, param } }) {\r\n try {\r\n const { data } = yield call(dataProvider.getList, `companies/${companyId}/yes-no-questions/${sectionKey}`, param);\r\n\r\n const { uploads, ...questionsData } = data;\r\n const { uploadValues } = uploadHelpers(uploads);\r\n\r\n const updateYesNoAnswer = questionsData.data.map(item =>\r\n Object.keys(uploadValues).includes(item.key) ? { ...item, answer: uploadValues[item.key] } : item,\r\n );\r\n\r\n yield put({\r\n type: file.get.end,\r\n payload: Object.keys(uploads).reduce((acc, item) => ({ ...acc, [item]: uploads[item] }), {}),\r\n });\r\n\r\n yield put({\r\n type: currentCompany.yesNoQuestions.get.end,\r\n payload: { sectionKey, stack: updateYesNoAnswer, disabler: questionsData.disabler },\r\n });\r\n } catch (e) {\r\n yield put({\r\n type: currentCompany.yesNoQuestions.get.end,\r\n payload: { sectionKey, stack: [] },\r\n });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getRespiratoryProtectionSaga() {\r\n yield takeLatest(currentCompany.yesNoQuestions.get.start, get);\r\n}\r\n","import { all, call, put, select, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { updateFiles } from '../../file/updateFiles';\r\nimport { uploadSelector } from '../../../utils/pageHelpers';\r\n\r\nexport function* update({ payload: { companyId, sectionKey, values, updateStack, disabler } }) {\r\n try {\r\n const { questions, files } = values.reduce(\r\n (acc, item) => ({\r\n questions:\r\n (typeof item.answer === 'string' || item.key === disabler?.fieldName) ? [...acc.questions, item] : [...acc.questions, { ...item, answer: '' }],\r\n files: typeof item.answer === 'object' ? [...acc.files, item] : acc.files,\r\n }),\r\n { questions: [], files: [] },\r\n );\r\n\r\n if (files.length) {\r\n yield all(\r\n files.map(item =>\r\n call(updateFiles, {\r\n companyId,\r\n deleteList: item.answer.deleteList,\r\n createList: item.answer.createList,\r\n sectionKey: item.key,\r\n }),\r\n ),\r\n );\r\n }\r\n\r\n const fileObj = yield select(store =>\r\n uploadSelector(\r\n store,\r\n files.map(item => item.key),\r\n ),\r\n );\r\n\r\n yield call(dataProvider.createList, `companies/${companyId}/yes-no-questions`, questions);\r\n\r\n yield put({\r\n type: currentCompany.yesNoQuestions.update.end,\r\n payload: {\r\n stack: updateStack.map(item => ({\r\n ...item,\r\n answer: Object.keys(fileObj).includes(item.key) ? fileObj[item.key] : item.answer,\r\n })),\r\n sectionKey,\r\n disabler: disabler,\r\n },\r\n });\r\n\r\n yield put({\r\n type: currentCompany.companyInfo.validation.start,\r\n payload: { companyId: companyId, validationKey: sectionKey },\r\n });\r\n } catch (e) {\r\n yield put({ type: currentCompany.yesNoQuestions.update.error, payload: { sectionKey } });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* updateYesNoQuestionsSaga() {\r\n yield takeLatest(currentCompany.yesNoQuestions.update.start, update);\r\n}\r\n","import get from './get';\r\nimport update from './update';\r\n\r\nexport default [get, update];\r\n","import { all, call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, file, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { uploadHelpers } from '../../../utils/pageHelpers';\r\n\r\nexport function* get({ payload: { companyId, sectionKey, param } }) {\r\n try {\r\n const [questions, profile] = yield all([\r\n call(dataProvider.getList, `companies/${companyId}/yes-no-questions/${sectionKey}`, param),\r\n call(dataProvider.getOnly, `companies/${companyId}/health-prof`),\r\n ]);\r\n\r\n const { uploads, ...questionsData } = questions.data;\r\n const { uploadValues } = uploadHelpers(uploads);\r\n\r\n const updateYesNoAnswer = questionsData.data.map(item =>\r\n Object.keys(uploadValues).includes(item.key) ? { ...item, answer: uploadValues[item.key] } : item,\r\n );\r\n\r\n yield put({\r\n type: file.get.end,\r\n payload: Object.keys(uploads).reduce((acc, item) => ({ ...acc, [item]: uploads[item] }), {}),\r\n });\r\n\r\n yield put({\r\n type: currentCompany.healthProf.get.end,\r\n payload: { healthProfile: profile.data, questions: updateYesNoAnswer },\r\n });\r\n } catch (e) {\r\n yield put({ type: currentCompany.healthProf.get.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* gethealthProfSaga() {\r\n yield takeLatest(currentCompany.healthProf.get.start, get);\r\n}\r\n","import { all, call, put, select, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { updateFiles } from '../../file/updateFiles';\r\nimport { uploadSelector } from '../../../utils/pageHelpers';\r\n\r\nexport function* update({ payload: { companyId, questions, updateQuestions, updateProfile, sectionKey } }) {\r\n try {\r\n const { questionList, files } = questions.reduce(\r\n (acc, item) => ({\r\n questionList:\r\n typeof item.answer === 'string'\r\n ? [...acc.questionList, item]\r\n : [...acc.questionList, { ...item, answer: '' }],\r\n files: typeof item.answer === 'object' ? [...acc.files, item] : acc.files,\r\n }),\r\n { questionList: [], files: [] },\r\n );\r\n\r\n if (files.length) {\r\n yield all(\r\n files.map(item =>\r\n call(updateFiles, {\r\n companyId,\r\n deleteList: item.answer.deleteList,\r\n createList: item.answer.createList,\r\n sectionKey: item.key,\r\n }),\r\n ),\r\n );\r\n }\r\n\r\n const fileObj = yield select(store =>\r\n uploadSelector(\r\n store,\r\n files.map(item => item.key),\r\n ),\r\n );\r\n\r\n yield call(dataProvider.createList, `companies/${companyId}/yes-no-questions`, questionList);\r\n const { data } = yield call(dataProvider.updateOnly, `companies/${companyId}/health-prof`, updateProfile);\r\n\r\n const newQuestions = updateQuestions.map(item =>\r\n Object.keys(fileObj).includes(item.key) ? { ...item, answer: fileObj[item.key] } : item,\r\n );\r\n\r\n yield put({\r\n type: currentCompany.healthProf.update.end,\r\n payload: { healthProfile: data, questions: newQuestions },\r\n });\r\n\r\n // update PQF document validation\r\n yield put({\r\n type: currentCompany.companyInfo.validation.start,\r\n payload: { companyId: companyId, validationKey: sectionKey },\r\n });\r\n } catch (e) {\r\n yield put({ type: currentCompany.healthProf.update.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getHealthProfSaga() {\r\n yield takeLatest(currentCompany.healthProf.update.start, update);\r\n}\r\n","import get from './get';\r\nimport update from './update';\r\n\r\nexport default [get, update];\r\n","import { put, call, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* create({ payload: { companyId, values, sectionKey } }) {\r\n try {\r\n const response = yield call(dataProvider.createOne, `companies/${companyId}/insurance-policies`, values);\r\n yield put({ type: currentCompany.insurancePolicy.create.end, payload: response.data });\r\n\r\n // update PQF document validation\r\n yield put({\r\n type: currentCompany.companyInfo.validation.start,\r\n payload: { companyId: companyId, validationKey: sectionKey },\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: currentCompany.insurancePolicy.create.error });\r\n }\r\n}\r\n\r\nexport default function* createInsurancePolicySaga() {\r\n yield takeLatest(currentCompany.insurancePolicy.create.start, create);\r\n}\r\n","import { all, call, put, select, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { updateFiles } from '../../file/updateFiles';\r\nimport { uploadSelector } from '../../../utils/pageHelpers';\r\n\r\nexport function* update({ payload: { companyId, values, sectionKey } }) {\r\n try {\r\n const { uploadKeys, ...dirtyValues } = values;\r\n const formValues = Object.keys(dirtyValues).reduce(\r\n (acc, item) => (uploadKeys.includes(item) ? acc : { ...acc, [item]: dirtyValues[item] }),\r\n {},\r\n );\r\n\r\n // update files\r\n if (uploadKeys.length) {\r\n yield all(\r\n uploadKeys.map(\r\n key =>\r\n (values[key].createList.length || values[key].deleteList.length) &&\r\n call(updateFiles, {\r\n companyId,\r\n deleteList: values[key].deleteList,\r\n createList: values[key].createList,\r\n sectionKey: key,\r\n }),\r\n ),\r\n );\r\n }\r\n\r\n const fileObj = yield select(store => uploadSelector(store, uploadKeys));\r\n\r\n const { data } = yield call(\r\n dataProvider.updateOnly,\r\n `companies/${companyId}/insurance-policies`,\r\n formValues,\r\n );\r\n yield put({\r\n type: currentCompany.insurancePolicy.update.end,\r\n payload: { ...data, ...fileObj, uploadKeys },\r\n });\r\n\r\n // update PQF document validation\r\n yield put({\r\n type: currentCompany.companyInfo.validation.start,\r\n payload: { companyId: companyId, validationKey: sectionKey },\r\n });\r\n } catch (e) {\r\n yield put({ type: currentCompany.insurancePolicy.update.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* updateInsurancePolicySaga() {\r\n yield takeLatest(currentCompany.insurancePolicy.update.start, update);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, file, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { uploadHelpers } from '../../../utils/pageHelpers';\r\n\r\nexport function* get({ payload: { companyId } }) {\r\n try {\r\n const { data } = yield call(dataProvider.getList, `companies/${companyId}/insurance-policies`);\r\n\r\n const { uploads, ...insurance } = data;\r\n const { uploadKeys, uploadValues } = uploadHelpers(uploads);\r\n\r\n yield put({\r\n type: file.get.end,\r\n payload: Object.keys(uploads).reduce((acc, item) => ({ ...acc, [item]: uploads[item] }), {}),\r\n });\r\n\r\n yield put({\r\n type: currentCompany.insurancePolicy.get.end,\r\n payload: { ...insurance, ...uploadValues, uploadKeys },\r\n });\r\n } catch (e) {\r\n yield put({ type: currentCompany.insurancePolicy.get.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getInsurancePolicySaga() {\r\n yield takeLatest(currentCompany.insurancePolicy.get.start, get);\r\n}\r\n","import create from './create';\r\nimport update from './update';\r\nimport get from './get';\r\n\r\nexport default [create, update, get];\r\n","import { put, takeLatest, call, all } from 'redux-saga/effects';\r\nimport { normalize } from 'normalizr';\r\n\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { currentCompany, entity, notification } from '../../../actionTypes';\r\nimport { company as companySchema } from '../../../schema';\r\nimport { userTypes } from '../../../utils/constants';\r\n\r\nexport function* get({ payload: { companyId } }) {\r\n try {\r\n let keys = [];\r\n let addendum = [];\r\n let validationFields = {};\r\n\r\n const [company, status] = yield all([\r\n call(dataProvider.getOnly, `Companies/${companyId}/companyshortinfo`),\r\n call(dataProvider.getList, `companies/${companyId}/conditions`),\r\n ]);\r\n\r\n if (company.data.typeName === userTypes.Contractor) {\r\n const [validation, ownerAddendumList] = yield all([\r\n call(dataProvider.getOnly, `companies/${companyId}/pqf/validate`, { filter: { fullValidation: true } }),\r\n call(dataProvider.getList, `companies/owners-with-addendums/${company.data.level}`, {}),\r\n ]);\r\n keys = validation && validation.data.sections.map(section => section.name);\r\n addendum = ownerAddendumList.data;\r\n validationFields =\r\n validation &&\r\n validation.data.sections.reduce(\r\n (acc, item) => ({ ...acc, [item.name]: item.fields.map(field => field.name) }),\r\n {},\r\n );\r\n }\r\n\r\n const normalizeData = normalize([company.data], [companySchema]);\r\n yield put({ type: entity.add, payload: normalizeData.entities });\r\n\r\n yield put({\r\n type: currentCompany.companyInfo.get.end,\r\n payload: { keys, validationFields, addendum, status: status.data },\r\n });\r\n } catch (e) {\r\n yield put({\r\n type: currentCompany.companyInfo.get.end,\r\n payload: { keys: [] },\r\n });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getCompanyInfo() {\r\n yield takeLatest(currentCompany.companyInfo.get.start, get);\r\n}\r\n","import { put, takeLatest, call, all } from 'redux-saga/effects';\r\n\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\n\r\nexport function* validation({ payload: { companyId, validationKey } }) {\r\n try {\r\n const [{ data }, conditions] = yield all([\r\n call(dataProvider.getOnly, `companies/${companyId}/pqf/validate/${validationKey}`, {\r\n filter: { fullValidation: true },\r\n }),\r\n call(dataProvider.getList, `companies/${companyId}/conditions`),\r\n ]);\r\n\r\n yield put({\r\n type: currentCompany.companyInfo.validation.end,\r\n payload: {\r\n validationKey,\r\n valid: data.sections.length === 0,\r\n validationFields: data.sections.reduce(\r\n (acc, item) => ({ ...acc, [item.name]: item.fields.map(field => field.name) }),\r\n {},\r\n ),\r\n },\r\n });\r\n\r\n yield put({\r\n type: currentCompany.companyInfo.updateConditions.update,\r\n payload: { status: conditions.data },\r\n });\r\n } catch (e) {\r\n yield put({\r\n type: currentCompany.companyInfo.validation.end,\r\n payload: { validationKey },\r\n });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getCompanyInfo() {\r\n yield takeLatest(currentCompany.companyInfo.validation.start, validation);\r\n}\r\n","import companyInfo from './get';\r\nimport validation from './validation';\r\n\r\nexport default [companyInfo, validation];\r\n","import { put, takeLatest, call, all } from 'redux-saga/effects';\r\n\r\nimport { currentCompany } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* get({ payload: { companyId } }) {\r\n try {\r\n const companyAdminInfoObject = yield all([\r\n call(dataProvider.getOnly, `Companies/${companyId}/companyAdminInfo`)\r\n ]);\r\n\r\n yield put({\r\n type: currentCompany.companyAdminInfo.get.end,\r\n payload: { ...companyAdminInfoObject },\r\n });\r\n\r\n } catch (e) {\r\n yield put({ type: currentCompany.companyAdminInfo.get.error });\r\n }\r\n}\r\n\r\nexport default function* getCompanyAdminInfo() {\r\n yield takeLatest(currentCompany.companyAdminInfo.get.start, get);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* update({ payload: { companyId, value } }) {\r\n try {\r\n yield call(dataProvider.updateOnly, `Companies/${companyId}/companyAdminInfo`, value);\r\n\r\n yield put({\r\n type: currentCompany.companyAdminInfo.update.end,\r\n payload: value,\r\n });\r\n } catch (e) {\r\n yield put({ type: currentCompany.companyAdminInfo.update.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* updateCompanyAdminInfo() {\r\n yield takeLatest(currentCompany.companyAdminInfo.update.start, update);\r\n}\r\n","//import companyAdminInfo from './get';\r\nimport get from './get';\r\nimport update from './update';\r\n\r\nexport default [get, update];\r\n//export default [companyAdminInfo];\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\nimport { normalize } from 'normalizr';\r\n\r\nimport { currentCompany, entity, file, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { company as companySchema } from '../../../schema';\r\nimport { uploadHelpers } from '../../../utils/pageHelpers';\r\n\r\nexport function* get({ payload: { id } }) {\r\n try {\r\n const { data } = yield call(dataProvider.getOne, `Companies`, { id });\r\n\r\n const { uploads, ...companyData } = data;\r\n const { uploadKeys, uploadValues } = uploadHelpers(uploads);\r\n\r\n const normalizeData = normalize([{ ...companyData, ...uploadValues, uploadKeys }], [companySchema]);\r\n yield put({ type: entity.add, payload: normalizeData.entities });\r\n\r\n yield put({\r\n type: file.get.end,\r\n payload: Object.keys(uploads).reduce((acc, item) => ({ ...acc, [item]: uploads[item] }), {}),\r\n });\r\n\r\n yield put({\r\n type: currentCompany.info.get.end,\r\n payload: { state: normalizeData.result },\r\n });\r\n } catch (e) {\r\n yield put({\r\n type: currentCompany.info.get.end,\r\n });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getCompanyInfoSaga() {\r\n yield takeLatest(currentCompany.info.get.start, get);\r\n}\r\n","import { all, call, put, takeLatest, select } from 'redux-saga/effects';\r\nimport { normalize } from 'normalizr';\r\n\r\nimport { currentCompany, entity, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { company as companySchema } from '../../../schema';\r\nimport { updateFiles } from '../../file/updateFiles';\r\nimport { uploadSelector } from '../../../utils/pageHelpers';\r\n\r\nexport function* update({ payload: { id, values, sectionKey } }) {\r\n try {\r\n const { uploadKeys, ...dirtyValues } = values;\r\n const formValues = Object.keys(dirtyValues).reduce(\r\n (acc, item) => (uploadKeys.includes(item) ? acc : { ...acc, [item]: dirtyValues[item] }),\r\n {},\r\n );\r\n\r\n // update files\r\n if (uploadKeys.length) {\r\n yield all(\r\n uploadKeys.map(\r\n key =>\r\n (values[key].createList.length || values[key].deleteList.length) &&\r\n call(updateFiles, {\r\n companyId: id,\r\n deleteList: values[key].deleteList,\r\n createList: values[key].createList,\r\n sectionKey: key,\r\n }),\r\n ),\r\n );\r\n }\r\n\r\n const fileObj = yield select(store => uploadSelector(store, uploadKeys));\r\n\r\n // update company info\r\n const newValues = {\r\n ...formValues,\r\n logoLink: '',\r\n id,\r\n isoCertified: values.isoCertified ? 1 : 0,\r\n };\r\n\r\n let formData = new FormData();\r\n formData.append('model', JSON.stringify(newValues));\r\n formData.append('companyLogo', values.logoLink);\r\n const { data } = yield call(dataProvider.updateOneFormData, `Companies/${id}`, formData);\r\n\r\n const normalizeData = normalize([{ ...data, uploadKeys, ...fileObj }], [companySchema]);\r\n yield put({ type: entity.add, payload: normalizeData.entities });\r\n yield put({ type: currentCompany.info.update.end, payload: { state: normalizeData.result } });\r\n\r\n // update PQF document validation\r\n yield put({\r\n type: currentCompany.companyInfo.validation.start,\r\n payload: { companyId: id, validationKey: sectionKey },\r\n });\r\n } catch (e) {\r\n yield put({ type: currentCompany.info.update.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* updateCompanyInfoSaga() {\r\n yield takeLatest(currentCompany.info.update.start, update);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\nimport { normalize } from 'normalizr';\r\n\r\nimport { currentCompany, entity, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { company as companySchema } from '../../../schema';\r\n\r\nexport function* update({ payload: { id, image } }) {\r\n try {\r\n let formData = new FormData();\r\n formData.append('companyImage', image);\r\n const { data: { company } } = yield call(dataProvider.updateOneFormData, `Companies/${id}/image`, formData);\r\n\r\n const normalizeData = normalize([{ ...company, level: company.companyLevel }], [companySchema]);\r\n yield put({ type: entity.add, payload: normalizeData.entities });\r\n yield put({ type: currentCompany.info.updateImage.end, payload: {} });\r\n\r\n } catch (e) {\r\n yield put({ type: currentCompany.info.updateImage.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* updateCompanyImageSaga() {\r\n yield takeLatest(currentCompany.info.updateImage.start, update);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\nimport { normalize } from 'normalizr';\r\n\r\nimport { currentCompany, entity, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { company as companySchema } from '../../../schema';\r\n\r\nexport function* update({ payload: { id } }) {\r\n try {\r\n const { data: { company } } = yield call(dataProvider.updateOnly, `Companies/${id}/image/delete`);\r\n\r\n const normalizeData = normalize([{ ...company, level: company.companyLevel }], [companySchema]);\r\n yield put({ type: entity.add, payload: normalizeData.entities });\r\n yield put({ type: currentCompany.info.deleteImage.end, payload: {} });\r\n } catch (e) {\r\n yield put({ type: currentCompany.info.deleteImage.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* deleteCompanyImageSaga() {\r\n yield takeLatest(currentCompany.info.deleteImage.start, update);\r\n}\r\n","import get from './get';\r\nimport update from './update';\r\nimport updateImage from './updateImage';\r\nimport deleteImage from './deleteImage';\r\n\r\nexport default [get, update, updateImage, deleteImage];\r\n","import { all, call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, file, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { uploadHelpers } from '../../../utils/pageHelpers';\r\n\r\nexport function* get({ payload: { companyId } }) {\r\n try {\r\n const [emrInfoData, emrData, naicsCodes] = yield all([\r\n call(dataProvider.getOnly, `companies/${companyId}/emr-info`),\r\n call(dataProvider.getList, `companies/${companyId}/emr`, {}),\r\n call(dataProvider.getList, 'definitions/naics'),\r\n ]);\r\n\r\n const { uploads, ...infoData } = emrInfoData.data;\r\n const { uploadKeys, uploadValues } = uploadHelpers(uploads);\r\n\r\n yield put({\r\n type: file.get.end,\r\n payload: Object.keys(uploads).reduce((acc, item) => ({ ...acc, [item]: uploads[item] }), {}),\r\n });\r\n\r\n yield put({\r\n type: currentCompany.emrate.get.end,\r\n payload: {\r\n emrInfo: { ...infoData, ...uploadValues, uploadKeys },\r\n emrArrays: emrData.data.data,\r\n naicsCodes: naicsCodes.data.data,\r\n },\r\n });\r\n } catch (e) {\r\n yield put({ type: currentCompany.emrate.get.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getEmrSaga() {\r\n yield takeLatest(currentCompany.emrate.get.start, get);\r\n}\r\n","import { all, call, put, select, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { updateFiles } from '../../file/updateFiles';\r\nimport { uploadSelector } from '../../../utils/pageHelpers';\r\n\r\nexport function* update({ payload: { companyId, values, sectionKey } }) {\r\n try {\r\n const { uploadKeys, ...dirtyValues } = values.emrInfo;\r\n const formValues = Object.keys(dirtyValues).reduce(\r\n (acc, item) => (uploadKeys.includes(item) ? acc : { ...acc, [item]: dirtyValues[item] }),\r\n {},\r\n );\r\n\r\n // update files\r\n if (uploadKeys.length) {\r\n yield all(\r\n uploadKeys.map(\r\n key =>\r\n (values.emrInfo[key].createList.length || values.emrInfo[key].deleteList.length) &&\r\n call(updateFiles, {\r\n companyId,\r\n deleteList: values.emrInfo[key].deleteList,\r\n createList: values.emrInfo[key].createList,\r\n sectionKey: key,\r\n }),\r\n ),\r\n );\r\n }\r\n\r\n const fileObj = yield select(store => uploadSelector(store, uploadKeys));\r\n\r\n const { data } = yield call(dataProvider.updateOnly, `companies/${companyId}/emr`, {\r\n ...values,\r\n emrInfo: formValues,\r\n });\r\n\r\n yield put({\r\n type: currentCompany.emrate.update.end,\r\n payload: { emrInfo: { ...data.emrInfo, ...fileObj, uploadKeys }, emrArrays: data.emrs },\r\n });\r\n\r\n // update PQF document validation\r\n yield put({\r\n type: currentCompany.companyInfo.validation.start,\r\n payload: { companyId: companyId, validationKey: sectionKey },\r\n });\r\n } catch (e) {\r\n yield put({ type: currentCompany.emrate.update.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getEmrSaga() {\r\n yield takeLatest(currentCompany.emrate.update.start, update);\r\n}\r\n","import get from './get';\r\nimport update from './update';\r\nexport default [get, update];\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* create({ payload: { companyId, contractorLevel, values } }) {\r\n try {\r\n const { data } = yield call(\r\n dataProvider.createOne,\r\n `companies/${companyId}/addendum?contractorLevel=${contractorLevel}`,\r\n values,\r\n );\r\n yield put({\r\n type: currentCompany.ownerAddendum.create.end,\r\n payload: { list: data },\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: currentCompany.ownerAddendum.create.error });\r\n }\r\n}\r\n\r\nexport default function* createAddendumSaga() {\r\n yield takeLatest(currentCompany.ownerAddendum.create.start, create);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* get({ payload: { companyId, contractorLevel } }) {\r\n try {\r\n const { data } = yield call(dataProvider.getList, `companies/${companyId}/addendum`, {\r\n filter: { contractorLevel },\r\n });\r\n yield put({\r\n type: currentCompany.ownerAddendum.get.end,\r\n payload: { list: data },\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: currentCompany.ownerAddendum.get.error });\r\n }\r\n}\r\n\r\nexport default function* getAddendumSaga() {\r\n yield takeLatest(currentCompany.ownerAddendum.get.start, get);\r\n}\r\n","import create from './create';\r\nimport get from './get';\r\n\r\nexport default [create, get];\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, file, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { uploadHelpers } from '../../../utils/pageHelpers';\r\n\r\nexport function* get({ payload: { companyId } }) {\r\n try {\r\n const { data } = yield call(dataProvider.getList, `companies/${companyId}/injuries`, {});\r\n\r\n const { uploads, ...injury } = data;\r\n const { uploadKeys, uploadValues } = uploadHelpers(uploads);\r\n\r\n yield put({\r\n type: file.get.end,\r\n payload: Object.keys(uploads).reduce((acc, item) => ({ ...acc, [item]: uploads[item] }), {}),\r\n });\r\n\r\n yield put({\r\n type: currentCompany.injuryIllness.get.end,\r\n payload: { stack: { injury: injury.list, ...uploadValues, uploadKeys } },\r\n });\r\n } catch (e) {\r\n yield put({\r\n type: currentCompany.injuryIllness.get.end,\r\n });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getInjuryIllnessSaga() {\r\n yield takeLatest(currentCompany.injuryIllness.get.start, get);\r\n}\r\n","import { all, call, put, select, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { updateFiles } from '../../file/updateFiles';\r\nimport { uploadSelector } from '../../../utils/pageHelpers';\r\n\r\nexport function* update({ payload: { companyId, values, sectionKey } }) {\r\n try {\r\n const { uploadKeys, ...dirtyValues } = values;\r\n const formValues = Object.keys(dirtyValues).reduce(\r\n (acc, item) => (uploadKeys.includes(item) ? acc : { ...acc, [item]: dirtyValues[item] }),\r\n {},\r\n );\r\n\r\n // update files\r\n if (uploadKeys.length) {\r\n yield all(\r\n uploadKeys.map(\r\n key =>\r\n (values[key].createList.length || values[key].deleteList.length) &&\r\n call(updateFiles, {\r\n companyId,\r\n deleteList: values[key].deleteList,\r\n createList: values[key].createList,\r\n sectionKey: key,\r\n }),\r\n ),\r\n );\r\n }\r\n\r\n const fileObj = yield select(store => uploadSelector(store, uploadKeys));\r\n\r\n const { data } = yield call(dataProvider.updateList, `companies/${companyId}/injuries`, formValues.injury);\r\n\r\n yield put({ type: currentCompany.injuryIllness.update.end, payload: { injury: data, ...fileObj, uploadKeys } });\r\n\r\n // update PQF document validation\r\n yield put({\r\n type: currentCompany.companyInfo.validation.start,\r\n payload: { companyId: companyId, validationKey: sectionKey },\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: currentCompany.info.update.end });\r\n }\r\n}\r\n\r\nexport default function* updateCompanyInfoSaga() {\r\n yield takeLatest(currentCompany.injuryIllness.update.start, update);\r\n}\r\n","import get from './get';\r\nimport update from './update';\r\n\r\nexport default [get, update];\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* get({ payload: { companyId } }) {\r\n try {\r\n const { data: craftsmanData } = yield call(\r\n dataProvider.getList,\r\n `companies/${companyId}/craftsmen-certification`,\r\n {},\r\n );\r\n\r\n yield put({\r\n type: currentCompany.craftsman.get.end,\r\n payload: { state: craftsmanData },\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getCraftsmanSaga() {\r\n yield takeLatest(currentCompany.craftsman.get.start, get);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* update({ payload: { companyId, values, sectionKey } }) {\r\n try {\r\n const { data } = yield call(dataProvider.createList, `companies/${companyId}/craftsmen-certification`, values);\r\n yield put({ type: currentCompany.craftsman.update.end, payload: { state: data } });\r\n\r\n // update PQF document validation\r\n yield put({\r\n type: currentCompany.companyInfo.validation.start,\r\n payload: { companyId: companyId, validationKey: sectionKey },\r\n });\r\n } catch (e) {\r\n yield put({ type: currentCompany.craftsman.update.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* updateCraftsman() {\r\n yield takeLatest(currentCompany.craftsman.update.start, update);\r\n}\r\n","import get from './get';\r\nimport update from './update';\r\n\r\nexport default [get, update];\r\n","import { all, call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* get({ payload: { companyId, ownerId, contractorLevel } }) {\r\n try {\r\n const [questions, answers] = yield all([\r\n call(\r\n dataProvider.getList,\r\n `companies/${companyId}/contractor-addendum/${ownerId}/addendum?contractorLevel=${contractorLevel}`,\r\n {},\r\n ),\r\n call(dataProvider.getList, `companies/${companyId}/contractor-addendum/${ownerId}`, {}),\r\n ]);\r\n\r\n yield put({\r\n type: currentCompany.contractorAddendum.get.end,\r\n payload: { questions: questions.data, answers: answers.data },\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: currentCompany.contractorAddendum.get.error });\r\n }\r\n}\r\n\r\nexport default function* getAddendumSaga() {\r\n yield takeLatest(currentCompany.contractorAddendum.get.start, get);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { sectionKey } from '../../../ui/routes/path';\r\n\r\nexport function* create({ payload: { companyId, ownerId, values } }) {\r\n try {\r\n const { data } = yield call(\r\n dataProvider.createOne,\r\n `companies/${companyId}/contractor-addendum/${ownerId}`,\r\n values,\r\n );\r\n\r\n yield put({\r\n type: currentCompany.contractorAddendum.create.end,\r\n payload: { answers: data },\r\n });\r\n\r\n // update PQF document validation\r\n yield put({\r\n type: currentCompany.companyInfo.validation.start,\r\n payload: { companyId: companyId, validationKey: sectionKey.private.company.settingsInfo },\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: currentCompany.contractorAddendum.create.error });\r\n }\r\n}\r\n\r\nexport default function* createAddendumSaga() {\r\n yield takeLatest(currentCompany.contractorAddendum.create.start, create);\r\n}\r\n","import get from './get';\r\nimport create from './create';\r\n\r\nexport default [create, get];\r\n","import { all, call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* get({ payload: { companyId, payload, fullInfo } }) {\r\n try {\r\n const [questions, definitions, options] = yield all([\r\n call(dataProvider.getOnly, `companies/${companyId}/grade/fields-with-rules`, payload),\r\n fullInfo && call(dataProvider.getList, `Definitions/grading`, {}),\r\n call(dataProvider.getList, `companies/${companyId}/grade/dropdown-options`, {}),\r\n ]);\r\n\r\n yield put({\r\n type: currentCompany.questions.get.end,\r\n payload: {\r\n list: questions.data.data,\r\n definitions: definitions && definitions.data,\r\n total: questions.data.totalCount,\r\n options: options.data,\r\n },\r\n });\r\n } catch (e) {\r\n yield put({ type: currentCompany.questions.get.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getQuestionSaga() {\r\n yield takeLatest(currentCompany.questions.get.start, get);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* update({ payload: { companyId, questionId, contractorLevel, values } }) {\r\n try {\r\n const { data } = yield call(\r\n dataProvider.createOne,\r\n `companies/${companyId}/grade?contractorLevel=${contractorLevel}`,\r\n values,\r\n );\r\n\r\n yield put({\r\n type: currentCompany.questions.update.end,\r\n payload: {\r\n question: data,\r\n questionId,\r\n },\r\n });\r\n } catch (e) {\r\n yield put({\r\n type: currentCompany.questions.update.error,\r\n payload: { questionId },\r\n });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* updateQuestionSaga() {\r\n yield takeLatest(currentCompany.questions.update.start, update);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* exportXlsx({ payload: { companyId, ...restParams } }) {\r\n try {\r\n yield call(dataProvider.getOnly, `companies/${companyId}/grade/xlsx`, restParams);\r\n\r\n yield put({ type: currentCompany.questions.export.end, payload: {} });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: currentCompany.questions.export.error, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* exportXlsxSaga() {\r\n yield takeLatest(currentCompany.questions.export.start, exportXlsx);\r\n}\r\n","import get from './get';\r\nimport update from './update';\r\nimport exportXlsx from './exportXlsx';\r\n\r\nexport default [get, update, exportXlsx];\r\n","import { all, call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* get({ payload: { companyId } }) {\r\n try {\r\n const [settingsObject, users] = yield all([\r\n call(dataProvider.getOnly, `companies/${companyId}/configuration`),\r\n call(dataProvider.getList, `Companies/${companyId}/Users`, {}),\r\n ]);\r\n\r\n yield put({\r\n type: currentCompany.settings.get.end,\r\n payload: {\r\n data: settingsObject.data,\r\n users: users.data,\r\n },\r\n });\r\n } catch (e) {\r\n yield put({ type: currentCompany.settings.get.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getSettings() {\r\n yield takeLatest(currentCompany.settings.get.start, get);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { currentCompany, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* update({ payload: { companyId, value } }) {\r\n try {\r\n yield call(dataProvider.updateOnly, `companies/${companyId}/configuration`, value);\r\n\r\n yield put({\r\n type: currentCompany.settings.update.end,\r\n payload: value,\r\n });\r\n } catch (e) {\r\n yield put({ type: currentCompany.settings.update.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* updateSettings() {\r\n yield takeLatest(currentCompany.settings.update.start, update);\r\n}\r\n","import get from './get';\r\nimport update from './update';\r\n\r\nexport default [get, update];\r\n","import workCategory from './workCategory';\r\nimport service from './service';\r\nimport finInfo from './finInfo';\r\nimport user from './user';\r\nimport reference from './reference';\r\nimport parentCompany from './parentCompany';\r\nimport organizationInfo from './organizationInfo';\r\nimport officer from './officer';\r\nimport yesNoQuestions from './yesNoQuestions';\r\nimport healthProf from './healthProf';\r\nimport insurancePolicy from './insurancePolicy';\r\nimport companyInfo from './companyInfo';\r\nimport companyAdminInfo from './companyAdminInfo';\r\nimport info from './info';\r\nimport emrate from './emrate';\r\nimport ownerAddendum from './ownerAddendum';\r\nimport injuryIllness from './injuryIllness';\r\nimport craftsmanCertification from './craftsmanCertification';\r\nimport contractorAddendum from './contractorAddendum';\r\nimport questions from './questions';\r\nimport settings from './settings';\r\n\r\nexport default [\r\n ...workCategory,\r\n ...service,\r\n ...finInfo,\r\n ...user,\r\n ...reference,\r\n ...parentCompany,\r\n ...organizationInfo,\r\n ...officer,\r\n ...yesNoQuestions,\r\n ...healthProf,\r\n ...insurancePolicy,\r\n ...companyInfo,\r\n ...companyAdminInfo,\r\n ...info,\r\n ...emrate,\r\n ...ownerAddendum,\r\n ...contractorAddendum,\r\n ...injuryIllness,\r\n ...craftsmanCertification,\r\n ...questions,\r\n ...settings,\r\n];\r\n","import { takeEvery, call, all } from 'redux-saga/effects';\r\nimport { toast } from 'react-toastify';\r\n\r\nimport { notification } from '../../actionTypes';\r\n\r\nexport function* addNotification({ payload }) {\r\n yield all(\r\n Object.keys(payload)\r\n .map(key => {\r\n return Array.isArray(payload[key])\r\n ? payload[key].filter(item => item).map(item => call(toast[key], item))\r\n : payload[key] !== '' && call(toast[key], payload[key]);\r\n })\r\n .flat(),\r\n );\r\n}\r\n\r\nexport default function* notificationSaga() {\r\n yield takeEvery(notification.add, addNotification);\r\n}\r\n","import notificationSaga from './addNotification';\r\n\r\nexport default [notificationSaga];\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { yesNoQuestionsAll, notification } from '../../actionTypes';\r\nimport dataProvider from '../../store/dataProvider';\r\n\r\nexport function* get() {\r\n try {\r\n const { data } = yield call(dataProvider.getList, `Definitions/yes-no-questions`);\r\n yield put({\r\n type: yesNoQuestionsAll.get.end,\r\n payload: { questions: data },\r\n });\r\n } catch (e) {\r\n yield put({\r\n type: yesNoQuestionsAll.get.end,\r\n payload: { questions: [] },\r\n });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getYesNoQuestionsAllSaga() {\r\n yield takeLatest(yesNoQuestionsAll.get.start, get);\r\n}\r\n","import getYesNoQuestionsAllSaga from './get';\r\n\r\nexport default [getYesNoQuestionsAllSaga];\r\n","import { all, call, put, takeLatest } from 'redux-saga/effects';\r\nimport { normalize } from 'normalizr';\r\nimport get from 'lodash.get';\r\n\r\nimport { pages, notification, entity, currentCompany } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport {\r\n company as companySchema,\r\n document,\r\n uploadDocument,\r\n workCategory as workCategorySchema,\r\n workCategoryGroup as workCategoryGroupSchema,\r\n} from '../../../schema';\r\nimport { userTypes } from '../../../utils/constants';\r\n\r\nexport function* getSaga({ payload: { companyId, documentQuery, type, ownerId } }) {\r\n try {\r\n const [\r\n dashboard,\r\n documents,\r\n uploadDocuments,\r\n groups,\r\n categories,\r\n grade,\r\n conditions,\r\n validation,\r\n addendumContractor,\r\n listOwnerGrading,\r\n singleOwner,\r\n ] = yield all([\r\n call(dataProvider.getOnly, `companies/${companyId}/dashboard`),\r\n call(dataProvider.getList, `companies/${companyId}/pqf`, documentQuery),\r\n call(dataProvider.getList, `companies/${companyId}/related-document`, {}),\r\n call(dataProvider.getList, 'Definitions/work-categories', {}),\r\n call(dataProvider.getList, `companies/${companyId}/work-categories/approved`, {}),\r\n call(dataProvider.getOnly, `companies/${companyId}/grade/scores/owner`),\r\n call(dataProvider.getOnly, `companies/${companyId}/conditions`),\r\n (type === userTypes.Contractor &&\r\n call(dataProvider.getOnly, `companies/${companyId}/pqf/validate`, {\r\n filter: { fullValidation: false },\r\n })) ||\r\n {},\r\n call(dataProvider.getOnly, `companies/${companyId}/contractor-addendum/all`, {}),\r\n // ,\r\n (type === userTypes.SafetyCouncil &&\r\n call(dataProvider.getOnly, `companies/${companyId}/grade/owner-grades`, {})) ||\r\n {},\r\n\r\n (type === userTypes.Owner &&\r\n call(dataProvider.getOnly, `companies/${companyId}/grade/scores/owner/${ownerId}`)) ||\r\n {},\r\n ]);\r\n\r\n const { company, organizationInfo, services } = dashboard.data;\r\n\r\n // normalize company\r\n const normalizeData = normalize([{ ...company, level: company.companyLevel }], [companySchema]); // todo: fix if BE-Dev change field name\r\n yield put({ type: entity.add, payload: normalizeData.entities });\r\n\r\n // normalize documents\r\n const normalizeDoc = normalize(documents.data.data, [document]);\r\n yield put({ type: entity.add, payload: normalizeDoc.entities });\r\n\r\n // normalize uploadDocuments\r\n const normalizeUploadDoc = normalize(uploadDocuments.data.data, [uploadDocument]);\r\n yield put({ type: entity.add, payload: normalizeUploadDoc.entities });\r\n\r\n // // normalize data\r\n const listCategories = normalize(categories.data.data, [workCategorySchema]);\r\n const listGroups = normalize(groups.data.data, [workCategoryGroupSchema]);\r\n\r\n yield put({ type: entity.add, payload: listCategories.entities });\r\n yield put({ type: entity.add, payload: listGroups.entities });\r\n\r\n yield put({\r\n type: currentCompany.workCategory.get.end,\r\n payload: { groups: listGroups.result, categories: listCategories.result },\r\n });\r\n\r\n yield put({\r\n type: pages.dashboard.get.end,\r\n payload: {\r\n generalInfo: get(dashboard, 'data.generalInfo', {}),\r\n notification: {\r\n isGenerationStarted: get(validation, 'data.isGenerationStarted', false),\r\n sections: get(validation, 'data.sections', []),\r\n conditions: (conditions && conditions.data) || {},\r\n },\r\n documents: {\r\n list: normalizeDoc.result,\r\n page: documentQuery.pagination.page,\r\n total: documents.total,\r\n },\r\n uploadDocuments: {\r\n list: normalizeUploadDoc.result,\r\n },\r\n organizationInfo,\r\n services,\r\n addendum: {\r\n contractor: get(addendumContractor, 'data', []),\r\n },\r\n grade: {\r\n list: grade.data.scores,\r\n mark: grade.data.grade,\r\n },\r\n listOwnerGrading: get(listOwnerGrading, 'data', []),\r\n ownerGrading: {\r\n list: get(singleOwner, 'data.scores', []),\r\n mark: get(singleOwner, 'data.grade', null),\r\n },\r\n },\r\n });\r\n } catch (e) {\r\n yield put({\r\n type: pages.dashboard.get.end,\r\n });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getDashboardData() {\r\n yield takeLatest(pages.dashboard.get.start, getSaga);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\nimport { normalize } from 'normalizr';\r\n\r\nimport { pages, notification, entity } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { document } from '../../../schema';\r\n\r\nexport function* submit({ payload: { companyId, pqfDocumentId } }) {\r\n try {\r\n const { data } = yield call(\r\n dataProvider.createOne,\r\n `companies/${companyId}/pqf/${pqfDocumentId}/review/submit`,\r\n {},\r\n );\r\n // update status for PQF\r\n const conditions = yield call(dataProvider.getOnly, `companies/${companyId}/conditions`);\r\n\r\n // normalize documents\r\n const normalizeDoc = normalize([data], [document]);\r\n yield put({ type: entity.add, payload: normalizeDoc.entities });\r\n\r\n yield put({\r\n type: pages.dashboard.updateCondition.update,\r\n payload: { conditions: conditions.data },\r\n });\r\n\r\n yield put({\r\n type: pages.dashboard.submitDocument.end,\r\n });\r\n } catch (e) {\r\n yield put({\r\n type: pages.dashboard.submitDocument.error,\r\n });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* submitDocument() {\r\n yield takeLatest(pages.dashboard.submitDocument.start, submit);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\nimport { normalize } from 'normalizr';\r\n\r\nimport { pages, notification, entity } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { document } from '../../../schema';\r\n\r\nexport function* get({ payload: { companyId, documentQuery } }) {\r\n try {\r\n const documents = yield call(dataProvider.getList, `companies/${companyId}/pqf`, documentQuery);\r\n\r\n // normalize documents\r\n const normalizeDoc = normalize(documents.data.data, [document]);\r\n yield put({ type: entity.add, payload: normalizeDoc.entities });\r\n\r\n yield put({\r\n type: pages.dashboard.documents.end,\r\n payload: {\r\n list: normalizeDoc.result,\r\n page: documentQuery.pagination.page,\r\n total: documents.total,\r\n },\r\n });\r\n } catch (e) {\r\n yield put({\r\n type: pages.dashboard.documents.error,\r\n });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getDashboardDocuments() {\r\n yield takeLatest(pages.dashboard.documents.start, get);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { pages, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* get({ payload: { companyId, fileId } }) {\r\n try {\r\n yield call(dataProvider.getOnly, `companies/${companyId}/pqf/${fileId}/download`, {});\r\n yield put({\r\n type: pages.dashboard.loadDocument.end,\r\n payload: { fileId },\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({\r\n type: pages.dashboard.loadDocument.error,\r\n payload: { fileId },\r\n });\r\n }\r\n}\r\n\r\nexport default function* loadDocumentSaga() {\r\n yield takeLatest(pages.dashboard.loadDocument.start, get);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { pages, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* get({ payload: { companyId, companyName, scores } }) {\r\n try {\r\n yield call(dataProvider.createOne, `companies/${companyId}/grade/report?companyName=${companyName}`, scores);\r\n yield put({\r\n type: pages.dashboard.gradeDownload.end,\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({\r\n type: pages.dashboard.gradeDownload.error,\r\n });\r\n }\r\n}\r\n\r\nexport default function* loadGradeDocumentSaga() {\r\n yield takeLatest(pages.dashboard.gradeDownload.start, get);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { pages, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* get({ payload: { companyId } }) {\r\n try {\r\n const { data } = yield call(dataProvider.getOnly, `companies/${companyId}/grade/scores/unofficial`);\r\n yield put({\r\n type: pages.dashboard.unofficialGrade.end,\r\n payload: {\r\n list: data.scores,\r\n mark: data.grade,\r\n },\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({\r\n type: pages.dashboard.unofficialGrade.error,\r\n });\r\n }\r\n}\r\n\r\nexport default function* loadUnofficialGradeSaga() {\r\n yield takeLatest(pages.dashboard.unofficialGrade.start, get);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { pages, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* get({ payload: { companyId, pqfRelatedDocumentId, key } }) {\r\n try {\r\n yield call(\r\n dataProvider.getOnly,\r\n `companies/${companyId}/related-document/${key}/download/${pqfRelatedDocumentId}`,\r\n {},\r\n );\r\n yield put({\r\n type: pages.dashboard.loadAllUploadDocument.end,\r\n payload: { documentId: pqfRelatedDocumentId },\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({\r\n type: pages.dashboard.loadAllUploadDocument.error,\r\n payload: { documentId: pqfRelatedDocumentId },\r\n });\r\n }\r\n}\r\n\r\nexport default function* loadAllUploadDocumentSaga() {\r\n yield takeLatest(pages.dashboard.loadAllUploadDocument.start, get);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { notification, pages } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* download({ payload: { companyId, pqfDocumentId } }) {\r\n try {\r\n yield call(dataProvider.getOnly, `companies/${companyId}/grade/report/${pqfDocumentId}/owner`, {});\r\n\r\n yield put({ type: pages.dashboard.downloadPQFScorecard.end, payload: { pqfDocumentId } });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: pages.dashboard.downloadPQFScorecard.error, payload: { pqfDocumentId } });\r\n }\r\n}\r\n\r\nexport default function* downloadPQFScorecardSaga() {\r\n yield takeLatest(pages.dashboard.downloadPQFScorecard.start, download);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { notification, pages } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* download({ payload: { companyId, ownerId } }) {\r\n try {\r\n const { data } = yield call(dataProvider.getOnly, `companies/${companyId}/grade/scores/owner/${ownerId}`, {});\r\n\r\n yield put({ type: pages.dashboard.getOwnerGrading.end, payload: { ownerGradingList: data.scores } });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: pages.dashboard.getOwnerGrading.error, payload: [] });\r\n }\r\n}\r\n\r\nexport default function* ownerGradingSaga() {\r\n yield takeLatest(pages.dashboard.getOwnerGrading.start, download);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { notification, pages } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* download({ payload: { companyId, companyName, ownerId, scores } }) {\r\n try {\r\n yield call(dataProvider.createOne, `companies/${companyId}/grade/report?companyName=${companyName}`, scores);\r\n\r\n yield put({ type: pages.dashboard.downloadOwnerScorecard.end });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: pages.dashboard.downloadOwnerScorecard.error });\r\n }\r\n}\r\n\r\nexport default function* downloadPQFScorecardSaga() {\r\n yield takeLatest(pages.dashboard.downloadOwnerScorecard.start, download);\r\n}\r\n","import get from './get';\r\nimport submitDocument from './submitDocument';\r\nimport documents from './documents';\r\nimport loadDocument from './loadDocument';\r\nimport gradeDownload from './gradeDownload';\r\nimport unofficialGrade from './unofficialGrade';\r\nimport loadAllUploadDocument from './loadAllUploadDocument';\r\nimport downloadPQFScorecard from './downloadPQFScorecard';\r\nimport getOwnerGrading from './getOwnerGrading';\r\nimport downloadOwnerScorecard from './downloadOwnerScorecard';\r\n\r\nexport default [\r\n get,\r\n submitDocument,\r\n documents,\r\n loadDocument,\r\n gradeDownload,\r\n unofficialGrade,\r\n loadAllUploadDocument,\r\n downloadPQFScorecard,\r\n getOwnerGrading,\r\n downloadOwnerScorecard,\r\n];\r\n","import dashboard from './dashboard';\r\n\r\nexport default [...dashboard];\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { file, notification } from '../../actionTypes';\r\nimport dataProvider from '../../store/dataProvider';\r\n\r\nexport function* download({ payload: { companyId, sectionKey, fileId, tempFile, fileName } }) {\r\n try {\r\n const params = tempFile ? { filter: { fileName } } : {};\r\n yield call(\r\n dataProvider.getOnly,\r\n `companies/${companyId}/related-document/${sectionKey}/${tempFile ? 'temp-download' : 'download'}/${fileId}`,\r\n params,\r\n );\r\n\r\n yield put({ type: file.download.end, payload: { fileId, sectionKey } });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: file.download.error, payload: { fileId, sectionKey } });\r\n }\r\n}\r\n\r\nexport default function* downloadFileSaga() {\r\n yield takeLatest(file.download.start, download);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { file, notification } from '../../actionTypes';\r\nimport dataProvider from '../../store/dataProvider';\r\n\r\nexport function* remove({ payload: { companyId, sectionKey, files } }) {\r\n try {\r\n yield call(dataProvider.deleteList, `companies/${companyId}/related-document/${sectionKey}`, files);\r\n\r\n yield put({ type: file.remove.end, payload: { files } });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: file.remove.error, payload: { files } });\r\n }\r\n}\r\n\r\nexport default function* removeFileSaga() {\r\n yield takeLatest(file.remove.start, remove);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { file, notification } from '../../actionTypes';\r\nimport dataProvider from '../../store/dataProvider';\r\n\r\nexport function* add({ payload: { files, companyId, sectionKey } }) {\r\n try {\r\n const { data } = yield call(\r\n dataProvider.createList,\r\n `companies/${companyId}/related-document/${sectionKey}/save`,\r\n files,\r\n );\r\n\r\n yield put({ type: file.add.end, payload: { files: data.map(file => ({ ...file, companyId })) } });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: file.add.error });\r\n }\r\n}\r\n\r\nexport default function* addFilesSaga() {\r\n yield takeLatest(file.add.start, add);\r\n}\r\n","import download from './download';\r\nimport remove from './remove';\r\nimport add from './add';\r\n\r\nexport default [remove, download, add];\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { filePsmAudit, notification } from '../../actionTypes';\r\nimport dataProvider from '../../store/dataProvider';\r\n\r\nexport function* download({ payload: { companyId, id } }) {\r\n try {\r\n yield call(dataProvider.getOnly, `companies/${companyId}/psm-audit/${id}`);\r\n\r\n yield put({ type: filePsmAudit.download.end, payload: { id } });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: filePsmAudit.download.error, payload: { id } });\r\n }\r\n}\r\n\r\nexport default function* downloadFileSaga() {\r\n yield takeLatest(filePsmAudit.download.start, download);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { filePsmAudit, notification } from '../../actionTypes';\r\nimport dataProvider from '../../store/dataProvider';\r\n\r\nexport function* remove({ payload: { companyId, id } }) {\r\n try {\r\n yield call(dataProvider.deleteList, `companies/${companyId}/psm-audit/${id}`);\r\n yield put({ type: filePsmAudit.remove.end, payload: { id } });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: filePsmAudit.remove.error, payload: { id } });\r\n }\r\n}\r\n\r\nexport default function* removeFileSaga() {\r\n yield takeLatest(filePsmAudit.remove.start, remove);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { filePsmAudit, notification } from '../../actionTypes';\r\nimport dataProvider from '../../store/dataProvider';\r\n\r\nexport function* add({ payload: { companyId, files } }) {\r\n try {\r\n const { data } = yield call(dataProvider.createList, `companies/${companyId}/psm-audit/save`, files);\r\n\r\n yield put({ type: filePsmAudit.add.end, payload: data.map(file => ({ ...file, companyId })) });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: filePsmAudit.add.error });\r\n }\r\n}\r\n\r\nexport default function* addFilesSaga() {\r\n yield takeLatest(filePsmAudit.add.start, add);\r\n}\r\n","import { call, put, takeEvery } from 'redux-saga/effects';\r\n\r\nimport { filePsmAudit, notification } from '../../actionTypes';\r\nimport dataProvider from '../../store/dataProvider';\r\n\r\nexport function* get({ payload: { companyId } }) {\r\n try {\r\n const { data } = yield call(dataProvider.getList, `companies/${companyId}/psm-audit`, {});\r\n\r\n yield put({\r\n type: filePsmAudit.get.end,\r\n payload: data.data,\r\n });\r\n } catch (e) {\r\n yield put({\r\n type: filePsmAudit.get.error,\r\n payload: [],\r\n });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getFileSaga() {\r\n yield takeEvery(filePsmAudit.get.start, get);\r\n}\r\n","import download from './download';\r\nimport remove from './remove';\r\nimport add from './add';\r\nimport get from './get';\r\n\r\nexport default [get, remove, download, add];\r\n","import { normalize } from 'normalizr';\r\nimport { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { company as companySchema } from '../../../schema';\r\nimport { archive, entity, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* get({ payload: { payload = {} } }) {\r\n try {\r\n const { total, data } = yield call(dataProvider.getList, 'Companies/deleted-companies', payload);\r\n\r\n // normalize data\r\n const normalizeData = normalize(data, [companySchema]);\r\n yield put({ type: entity.add, payload: normalizeData.entities });\r\n\r\n yield put({\r\n type: archive.company.get.end,\r\n payload: { list: normalizeData.result, total },\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: !!e && e.message } });\r\n }\r\n}\r\n\r\nexport default function* companyListPageSaga() {\r\n yield takeLatest(archive.company.get.start, get);\r\n}\r\n","import { normalize } from 'normalizr';\r\nimport { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { company as companySchema } from '../../../schema';\r\nimport { archive, entity, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { successMessages } from '../../../store/constants';\r\n\r\nexport function* recoverCompany({ payload: { companyId, payload } }) {\r\n try {\r\n yield call(dataProvider.updateOnly, `Companies/${companyId}/unarchive`, {});\r\n const { total, data } = yield call(dataProvider.getList, 'Companies/deleted-companies', payload);\r\n\r\n // normalize data\r\n const normalizeData = normalize(data, [companySchema]);\r\n yield put({ type: entity.add, payload: normalizeData.entities });\r\n\r\n yield put({\r\n type: archive.company.recover.end,\r\n payload: { list: normalizeData.result, total },\r\n });\r\n yield put({ type: notification.add, payload: { success: successMessages.companyRestore } });\r\n } catch (e) {\r\n yield put({ type: archive.company.recover.error });\r\n yield put({ type: notification.add, payload: { error: !!e && e.message } });\r\n }\r\n}\r\n\r\nexport default function* recoverCompanySaga() {\r\n yield takeLatest(archive.company.recover.start, recoverCompany);\r\n}\r\n","import get from './get';\r\nimport recover from './recover';\r\n\r\nexport default [get, recover];\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { archive, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* get({ payload: { params = {} } }) {\r\n try {\r\n const { data, total } = yield call(dataProvider.getList, `Users/deleted-users`, params);\r\n\r\n yield put({\r\n type: archive.user.get.end,\r\n payload: { list: data, total },\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: !!e && e.message } });\r\n yield put({ type: archive.user.get.error });\r\n }\r\n}\r\n\r\nexport default function* userListPageSaga() {\r\n yield takeLatest(archive.user.get.start, get);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { archive, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport { successMessages } from '../../../store/constants';\r\n\r\nexport function* recoverUser({ payload: { userId, companyId } }) {\r\n try {\r\n yield call(dataProvider.updateOnly, `companies/${companyId}/users/${userId}/recover`, [userId]);\r\n const { data } = yield call(dataProvider.getList, `Users/deleted-users`);\r\n\r\n yield put({\r\n type: archive.user.recover.end,\r\n payload: { list: data, total: data.length },\r\n });\r\n yield put({ type: notification.add, payload: { success: successMessages.companyUserRestore } });\r\n } catch (e) {\r\n yield put({ type: archive.user.recover.error });\r\n yield put({ type: notification.add, payload: { error: !!e && e.message } });\r\n }\r\n}\r\n\r\nexport default function* recoverUserSaga() {\r\n yield takeLatest(archive.user.recover.start, recoverUser);\r\n}\r\n","import get from './get';\r\nimport recover from './recover';\r\n\r\nexport default [get, recover];\r\n","import company from './company';\r\nimport user from './user';\r\n\r\nexport default [...company, ...user];\r\n","import { all, call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { settings, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* get({ payload: { companyId, fullData } }) {\r\n const path = fullData ? 'configuration' : 'definitions/configuration';\r\n try {\r\n const [settingsObject, users] = yield all([\r\n call(dataProvider.getOnly, path),\r\n fullData ? call(dataProvider.getList, `Companies/${companyId}/Users`, {}) : { data: [] },\r\n ]);\r\n\r\n const promptConfirm = JSON.parse(localStorage.getItem('promptConfirm'));\r\n\r\n yield put({\r\n type: settings.configuration.get.end,\r\n payload: {\r\n data: {\r\n ...settingsObject.data,\r\n promptConfirm: promptConfirm !== null ? promptConfirm : true,\r\n },\r\n users: users.data,\r\n },\r\n });\r\n } catch (e) {\r\n yield put({ type: settings.configuration.get.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getSettings() {\r\n yield takeLatest(settings.configuration.get.start, get);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { settings, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* update({ payload: { value } }) {\r\n try {\r\n yield call(dataProvider.updateOnly, 'configuration', value);\r\n localStorage.setItem('promptConfirm', JSON.stringify(value.promptConfirm));\r\n\r\n yield put({\r\n type: settings.configuration.update.end,\r\n payload: value,\r\n });\r\n } catch (e) {\r\n yield put({ type: settings.configuration.update.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* updateSettings() {\r\n yield takeLatest(settings.configuration.update.start, update);\r\n}\r\n","import get from './get';\r\nimport update from './update';\r\n\r\nexport default [get, update];\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { settings, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* get() {\r\n try {\r\n const { data } = yield call(dataProvider.getOnly, 'bls', {});\r\n\r\n yield put({\r\n type: settings.BLSData.get.end,\r\n payload: { data: data.data },\r\n });\r\n } catch (e) {\r\n yield put({ type: settings.BLSData.get.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getBLSData() {\r\n yield takeLatest(settings.BLSData.get.start, get);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { settings, notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\n\r\nexport function* update({ payload: { values } }) {\r\n try {\r\n const { data } = yield call(dataProvider.createList, 'bls', values);\r\n\r\n yield put({\r\n type: settings.BLSData.update.end,\r\n payload: { data },\r\n });\r\n } catch (e) {\r\n yield put({ type: settings.configuration.update.error });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* updateBLSData() {\r\n yield takeLatest(settings.BLSData.update.start, update);\r\n}\r\n","import get from './get';\r\nimport update from './update';\r\n\r\nexport default [get, update];\r\n","import configuration from './configuration';\r\nimport BLSData from './BLSData';\r\n\r\nexport default [...configuration, ...BLSData];\r\n","import { put, call, takeLatest } from 'redux-saga/effects';\r\n\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport headerNotification from '../../../actionTypes/headerNotification';\r\nimport { notification } from '../../../actionTypes';\r\n\r\nexport function* list({ payload: { companyId } }) {\r\n try {\r\n const response = yield call(dataProvider.getList, `companies/${companyId}/notifications`);\r\n yield put({\r\n type: headerNotification.list.end,\r\n payload: response.data.data,\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: !!e && e.message } });\r\n yield put({\r\n type: headerNotification.list.end,\r\n payload: [],\r\n });\r\n }\r\n}\r\n\r\nexport default function* headerNotificationListSaga() {\r\n yield takeLatest(headerNotification.list.start, list);\r\n}\r\n","import { put, call, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { notification } from '../../../actionTypes';\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport headerNotification from '../../../actionTypes/headerNotification';\r\n\r\nexport function* deleteSaga({ payload }) {\r\n const { companyId, notificationId } = payload;\r\n try {\r\n yield call(dataProvider.updateOnly, `companies/${companyId}/notifications/${notificationId}/dismiss`);\r\n yield put({\r\n type: headerNotification.delete.end,\r\n payload,\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: !!e && e.message } });\r\n }\r\n}\r\n\r\nexport default function* headerNotificationDeleteSaga() {\r\n yield takeLatest(headerNotification.delete.start, deleteSaga);\r\n}\r\n","import { put, call, takeLatest } from 'redux-saga/effects';\r\nimport { normalize } from 'normalizr';\r\n\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport headerNotification from '../../../actionTypes/headerNotification';\r\nimport { entity, notification } from '../../../actionTypes';\r\nimport { successMessages } from '../../../store/constants';\r\nimport { company as companySchema } from '../../../schema';\r\n\r\nexport function* create({ payload: { companyId, sharedInfoCompanyId } }) {\r\n try {\r\n yield call(dataProvider.createOne, `companies/${companyId}/sharing/${sharedInfoCompanyId}/follow`);\r\n\r\n const dashboard = yield call(dataProvider.getOnly, `companies/${companyId}/dashboard`);\r\n const { company } = dashboard.data;\r\n\r\n // normalize company\r\n const normalizeData = normalize([company], [companySchema]);\r\n yield put({ type: entity.add, payload: normalizeData.entities });\r\n\r\n yield put({ type: headerNotification.createFollow.end });\r\n yield put({ type: notification.add, payload: { success: successMessages.companyFollow } });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: headerNotification.createFollow.error });\r\n }\r\n}\r\n\r\nexport default function* createFollowSaga() {\r\n yield takeLatest(headerNotification.createFollow.start, create);\r\n}\r\n","import { put, call, takeLatest } from 'redux-saga/effects';\r\nimport { normalize } from 'normalizr';\r\n\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport headerNotification from '../../../actionTypes/headerNotification';\r\nimport { entity, notification } from '../../../actionTypes';\r\nimport { successMessages } from '../../../store/constants';\r\nimport { company as companySchema } from '../../../schema';\r\n\r\nexport function* createUnfollow({ payload: { companyId, sharedInfoCompanyId } }) {\r\n try {\r\n yield call(dataProvider.createOne, `companies/${companyId}/sharing/${sharedInfoCompanyId}/unfollow`);\r\n\r\n const dashboard = yield call(dataProvider.getOnly, `companies/${companyId}/dashboard`);\r\n const { company } = dashboard.data;\r\n\r\n // normalize company\r\n const normalizeData = normalize([company], [companySchema]);\r\n yield put({ type: entity.add, payload: normalizeData.entities });\r\n\r\n yield put({ type: headerNotification.createUnfollow.end });\r\n yield put({ type: notification.add, payload: { success: successMessages.companyUnfollow } });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: headerNotification.createUnfollow.error });\r\n }\r\n}\r\n\r\nexport default function* createUnfollowSaga() {\r\n yield takeLatest(headerNotification.createUnfollow.start, createUnfollow);\r\n}\r\n","import { put, call, takeLatest } from 'redux-saga/effects';\r\n\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport headerNotification from '../../../actionTypes/headerNotification';\r\nimport { notification } from '../../../actionTypes';\r\n\r\nexport function* acceptFollow({ payload }) {\r\n const { companyId, senderCompanyId, notificationId } = payload;\r\n try {\r\n yield call(dataProvider.createOne, `companies/${companyId}/sharing/${senderCompanyId}/accept/${notificationId}`);\r\n yield put({ type: headerNotification.acceptFollow.end, payload });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* createFollowSaga() {\r\n yield takeLatest(headerNotification.acceptFollow.start, acceptFollow);\r\n}\r\n","import { put, call, takeLatest } from 'redux-saga/effects';\r\n\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport headerNotification from '../../../actionTypes/headerNotification';\r\nimport { notification } from '../../../actionTypes';\r\n\r\nexport function* rejectFollow({ payload }) {\r\n const { companyId, senderCompanyId, notificationId } = payload;\r\n try {\r\n yield call(dataProvider.createOne, `companies/${companyId}/sharing/${senderCompanyId}/reject/${notificationId}`);\r\n yield put({ type: headerNotification.rejectFollow.end, payload });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* rejectFollowSaga() {\r\n yield takeLatest(headerNotification.rejectFollow.start, rejectFollow);\r\n}\r\n","import { put, call, takeLatest } from 'redux-saga/effects';\r\n\r\nimport dataProvider from '../../../store/dataProvider';\r\nimport headerNotification from '../../../actionTypes/headerNotification';\r\nimport { notification } from '../../../actionTypes';\r\n\r\nexport function* getUploadExpiration({ payload: { companyId, MailingLogId } }) {\r\n try {\r\n const response = yield call(dataProvider.getOnly, `Companies/${companyId}/emails/${MailingLogId}`);\r\n yield put({\r\n type: headerNotification.uploadExpiration.end,\r\n payload: response.data,\r\n });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: !!e && e.message } });\r\n yield put({\r\n type: headerNotification.uploadExpiration.end,\r\n payload: [],\r\n });\r\n }\r\n}\r\n\r\nexport default function* getUploadExpirationSaga() {\r\n yield takeLatest(headerNotification.uploadExpiration.start, getUploadExpiration);\r\n}\r\n","import list from './list';\r\nimport deleteSaga from './delete';\r\nimport createFollow from './createFollow';\r\nimport createUnfollow from './createUnfollow';\r\nimport acceptFollow from './acceptFollow';\r\nimport rejectFollow from './rejectFollow';\r\nimport uploadExpiration from './uploadExpiration';\r\n\r\nexport default [list, createFollow, createUnfollow, acceptFollow, rejectFollow, deleteSaga, uploadExpiration];\r\n","import { all, call, put, takeLatest } from 'redux-saga/effects';\r\nimport { normalize } from 'normalizr';\r\n\r\nimport { entity, notification, review } from '../../actionTypes';\r\nimport dataProvider from '../../store/dataProvider';\r\nimport { company as companySchema } from '../../schema';\r\n\r\nexport function* get({ payload: { companyId, pqfDocumentId } }) {\r\n try {\r\n const [company, { data }] = yield all([\r\n call(dataProvider.getOnly, `Companies/${companyId}/companyshortinfo`),\r\n call(dataProvider.getOnly, `companies/${companyId}/pqf/${pqfDocumentId}/review`, {}),\r\n ]);\r\n\r\n const normalizeData = normalize([company.data], [companySchema]);\r\n yield put({ type: entity.add, payload: normalizeData.entities });\r\n\r\n const { questionAnswers, completerName, completedDate, pqfDocumentStatus, rejectReason } = data;\r\n yield put({\r\n type: review.get.end,\r\n payload: {\r\n list: questionAnswers,\r\n completerName,\r\n completedDate,\r\n rejectReason,\r\n pqfDocumentStatus,\r\n },\r\n });\r\n } catch (e) {\r\n yield put({\r\n type: review.get.error,\r\n });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* getReviewSaga() {\r\n yield takeLatest(review.get.start, get);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\nimport { push } from 'connected-react-router';\r\n\r\nimport { notification, review } from '../../actionTypes';\r\nimport dataProvider from '../../store/dataProvider';\r\nimport { pqfStatuses } from '../../utils/constants';\r\nimport routes from '../../ui/routes/path';\r\nimport { successMessages } from '../../store/constants';\r\n\r\nexport function* save({ payload: { companyId, pqfDocumentId, params } }) {\r\n try {\r\n const { data } = yield call(\r\n dataProvider.createOne,\r\n `companies/${companyId}/pqf/${pqfDocumentId}/review/${params ? 'reject-document' : 'approve-document'}`,\r\n params,\r\n );\r\n\r\n yield put({\r\n type: review.save.end,\r\n payload: {\r\n pqfDocumentStatus: params ? pqfStatuses.Rejected.key : pqfStatuses.Completed.key,\r\n completerName: data ? data.completerName : '',\r\n completedDate: data ? data.completedDate : '',\r\n },\r\n });\r\n yield put(push(routes.private.index));\r\n yield put({\r\n type: notification.add,\r\n payload: { success: params ? successMessages.pqfRejected : successMessages.pqfApproved },\r\n });\r\n } catch (e) {\r\n yield put({\r\n type: review.save.error,\r\n });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* saveReviewSaga() {\r\n yield takeLatest(review.save.start, save);\r\n}\r\n","import { call, put, takeEvery } from 'redux-saga/effects';\r\n\r\nimport { notification, review } from '../../actionTypes';\r\nimport dataProvider from '../../store/dataProvider';\r\n\r\nexport function* update({ payload: { companyId, pqfDocumentId, params } }) {\r\n try {\r\n const { data } = yield call(dataProvider.createList, `companies/${companyId}/pqf/${pqfDocumentId}/review`, [\r\n params,\r\n ]);\r\n\r\n yield put({\r\n type: review.update.end,\r\n payload: { params: data },\r\n });\r\n } catch (e) {\r\n yield put({\r\n type: review.update.error,\r\n payload: {\r\n params,\r\n },\r\n });\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* updateReviewSaga() {\r\n yield takeEvery(review.update.start, update);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { notification, review } from '../../actionTypes';\r\nimport dataProvider from '../../store/dataProvider';\r\n\r\nexport function* download({ payload: { companyId, sectionKey, fileId } }) {\r\n try {\r\n yield call(dataProvider.getOnly, `companies/${companyId}/related-document/${sectionKey}/download/${fileId}`, {});\r\n\r\n yield put({ type: review.downloadFile.end, payload: { fileId } });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: review.downloadFile.error, payload: { fileId } });\r\n }\r\n}\r\n\r\nexport default function* downloadFileSaga() {\r\n yield takeLatest(review.downloadFile.start, download);\r\n}\r\n","import get from './get';\r\nimport save from './save';\r\nimport update from './update';\r\nimport downloadFile from './downloadFile';\r\n\r\nexport default [get, save, update, downloadFile];\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { addendumFile, notification } from '../../actionTypes';\r\nimport dataProvider from '../../store/dataProvider';\r\n\r\nexport function* downloadByFormBuilderFieldId({ payload: { companyId, fileId, tempFile, fileName } }) {\r\n try {\r\n const params = tempFile ? { filter: { fileName } } : {};\r\n yield call(\r\n dataProvider.getOnly,\r\n `companies/${companyId}/addendum/file/${tempFile ? 'temp-download' : 'download/by-form-builder-field-id'}/${fileId}`,\r\n params,\r\n );\r\n\r\n yield put({ type: addendumFile.downloadByFormBuilderFieldId.end, payload: { fileId } });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: addendumFile.downloadByFormBuilderFieldId.error, payload: { fileId } });\r\n }\r\n}\r\n\r\nexport default function* downloadAddendumFileByFormBuilderFieldIdSaga() {\r\n yield takeLatest(addendumFile.downloadByFormBuilderFieldId.start, downloadByFormBuilderFieldId);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { addendumFile, notification } from '../../actionTypes';\r\nimport dataProvider from '../../store/dataProvider';\r\n\r\nexport function* downloadByFormBuilderFieldAnswerId({ payload: { companyId, fileId, tempFile, fileName } }) {\r\n try {\r\n const params = tempFile ? { filter: { fileName } } : {};\r\n yield call(\r\n dataProvider.getOnly,\r\n `companies/${companyId}/addendum/file/${tempFile ? 'temp-download' : 'download/by-form-builder-field-answer-id'}/${fileId}`,\r\n params,\r\n );\r\n\r\n yield put({ type: addendumFile.downloadByFormBuilderFieldAnswerId.end, payload: { fileId } });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: addendumFile.downloadByFormBuilderFieldAnswerId.error, payload: { fileId } });\r\n }\r\n}\r\n\r\nexport default function* downloadAddendumFileByFormBuilderFieldAnswerIdSaga() {\r\n yield takeLatest(addendumFile.downloadByFormBuilderFieldAnswerId.start, downloadByFormBuilderFieldAnswerId);\r\n}\r\n","import downloadByFormBuilderFieldId from './downloadByFormBuilderFieldId';\r\nimport downloadByFormBuilderFieldAnswerId from './downloadByFormBuilderFieldAnswerId';\r\n\r\nexport default [downloadByFormBuilderFieldId, downloadByFormBuilderFieldAnswerId];\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport dataProvider from '../../store/dataProvider';\r\nimport { workingHours } from '../../actionTypes';\r\n\r\nexport function* get({ payload: { contractorId, ownerId } }) {\r\n try {\r\n const { data } = yield call(dataProvider.getOnly, `companies/${contractorId}/working-hours/${ownerId}`);\r\n\r\n yield put({\r\n type: workingHours.list.end,\r\n payload: data,\r\n });\r\n } catch (e) {\r\n yield put({ type: workingHours.list.error });\r\n }\r\n}\r\n\r\nexport default function* getWorkingHours() {\r\n yield takeLatest(workingHours.list.start, get);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { workingHours } from '../../actionTypes';\r\nimport dataProvider from '../../store/dataProvider';\r\n\r\nexport function* update({ payload: { values, contractorId, ownerId } }) {\r\n try {\r\n const { data } = yield call(dataProvider.createList, `companies/${contractorId}/working-hours/${ownerId}`, values);\r\n\r\n yield put({\r\n type: workingHours.update.end,\r\n payload: data,\r\n });\r\n } catch (e) {\r\n yield put({ type: workingHours.update.error });\r\n }\r\n}\r\n\r\nexport default function* updateWorkingHours() {\r\n yield takeLatest(workingHours.update.start, update);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { workingHours, notification } from '../../actionTypes';\r\nimport dataProvider from '../../store/dataProvider';\r\nimport { userTypes } from '../../utils/constants';\r\n\r\nexport function* exportXlsxWorkingHours({ payload: { userType, contractorCompanyId, ownerCompanyId, ...restParams } }) {\r\n try {\r\n const getUrlByUserType = (userType, contractorCompanyId, ownerCompanyId) => {\r\n switch (userType) {\r\n case userTypes.Contractor:\r\n return [`companies/${contractorCompanyId}/working-hours/xlsx`];\r\n case userTypes.Owner:\r\n return contractorCompanyId\r\n ? [`companies/${ownerCompanyId}/owner-working-hours/${contractorCompanyId}/xlsx`]\r\n : [`companies/${ownerCompanyId}/owner-working-hours/xlsx`, restParams];\r\n case userTypes.SafetyCouncil:\r\n return contractorCompanyId\r\n ? [`companies/${contractorCompanyId}/working-hours/xlsx`, restParams]\r\n : [`admin-working-hours/xlsx`, restParams];\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n yield call(dataProvider.getOnly, ...getUrlByUserType(userType, contractorCompanyId, ownerCompanyId));\r\n\r\n yield put({ type: workingHours.exportWorkingHours.end, payload: {} });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: workingHours.exportWorkingHours.error, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* exportXlsxWorkingHoursSaga() {\r\n yield takeLatest(workingHours.exportWorkingHours.start, exportXlsxWorkingHours);\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { workingHours, notification } from '../../actionTypes';\r\nimport dataProvider from '../../store/dataProvider';\r\n\r\nexport function* canExportWorkingHours({ payload: { ownerCompanyId, isSafetyCouncil } }) {\r\n try {\r\n const { data } = yield call(\r\n dataProvider.getOnly,\r\n isSafetyCouncil ? `admin-working-hours/can-export` : `companies/${ownerCompanyId}/owner-working-hours/can-export`,\r\n );\r\n yield put({ type: workingHours.canExportWorkingHours.end, payload: data });\r\n } catch (e) {\r\n yield put({ type: notification.add, payload: { error: e.message } });\r\n yield put({ type: workingHours.canExportWorkingHours.error, payload: { error: e.message } });\r\n }\r\n}\r\n\r\nexport default function* exportCanExportWorkingHoursSaga() {\r\n yield takeLatest(workingHours.canExportWorkingHours.start, canExportWorkingHours);\r\n}\r\n","import get from './get';\r\nimport update from './update';\r\nimport exportXlsxWorkingHours from './exportXlsxWorkingHours';\r\nimport canExportWorkingHours from './canExportWorkingHours';\r\n\r\nexport default [get, update, exportXlsxWorkingHours, canExportWorkingHours];\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport { workingHourNotes } from '../../actionTypes';\r\nimport dataProvider from '../../store/dataProvider';\r\n\r\nexport function* update({ payload: { values, contractorId, ownerId } }) {\r\n try {\r\n const { data } = yield call(dataProvider.createOne, `companies/${contractorId}/working-hour-note/${ownerId}`, values);\r\n\r\n yield put({\r\n type: workingHourNotes.update.end,\r\n payload: data,\r\n });\r\n } catch (e) {\r\n yield put({ type: workingHourNotes.update.error });\r\n }\r\n}\r\n\r\nexport default function* updateWorkingHourNotes() {\r\n yield takeLatest(workingHourNotes.update.start, update);\r\n}\r\n","import update from './update';\r\n\r\nexport default [update];\r\n","import { all, fork } from 'redux-saga/effects';\r\n\r\nimport auth from './auth';\r\nimport company from './company';\r\nimport currentCompany from './currentCompany';\r\nimport notification from './notification';\r\nimport yesNoQuestionsAll from './yesNoQuestionsAll';\r\nimport pages from './pages';\r\nimport file from './file';\r\nimport filePsmAudit from './filePsmAudit';\r\nimport archive from './archive';\r\nimport settings from './settings';\r\nimport headerNotifications from './header/notifications';\r\nimport review from './review';\r\nimport addendumFile from './addendumFile';\r\nimport workingHours from './workingHours';\r\nimport workingHourNotes from './workingHourNotes';\r\n\r\nconst sagas = [\r\n ...auth,\r\n ...company,\r\n ...currentCompany,\r\n ...notification,\r\n ...yesNoQuestionsAll,\r\n ...pages,\r\n ...file,\r\n ...filePsmAudit,\r\n ...archive,\r\n ...settings,\r\n ...headerNotifications,\r\n ...review,\r\n ...addendumFile,\r\n ...workingHours,\r\n ...workingHourNotes\r\n];\r\n\r\nexport default function* rootSaga() {\r\n yield all(sagas.map(saga => fork(saga)));\r\n}\r\n","import { auth } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n state: null,\r\n loading: true,\r\n error: null,\r\n userId: null,\r\n};\r\n\r\nexport default function check(state = initialState, action) {\r\n switch (action.type) {\r\n case auth.check.start:\r\n return { ...state, loading: true };\r\n\r\n case auth.check.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n state: action.payload.state,\r\n userId: action.payload.userId,\r\n };\r\n\r\n case auth.check.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n state: action.payload.state,\r\n error: action.payload.error,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { auth } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n state: null,\r\n loading: false,\r\n};\r\n\r\nexport default function check(state = initialState, action) {\r\n switch (action.type) {\r\n case auth.login.start:\r\n return { ...state, loading: true };\r\n\r\n case auth.login.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: false,\r\n state: action.payload ? action.payload.state : null,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { auth } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n state: false,\r\n loading: false,\r\n};\r\n\r\nexport default function resetPassword(state = initialState, action) {\r\n switch (action.type) {\r\n case auth.resetPassword.start:\r\n return { ...state, loading: true };\r\n\r\n case auth.resetPassword.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n state: action.payload ? action.payload.state : null,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { auth } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n loading: false,\r\n};\r\n\r\nexport default function setNewPassword(state = initialState, action) {\r\n switch (action.type) {\r\n case auth.setNewPassword.start:\r\n return { ...state, loading: true };\r\n\r\n case auth.setNewPassword.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { auth } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n loading: false,\r\n};\r\n\r\nexport default function acceptInvitation(state = initialState, action) {\r\n switch (action.type) {\r\n case auth.acceptInvitation.start:\r\n return { ...state, loading: true };\r\n\r\n case auth.acceptInvitation.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { combineReducers } from 'redux';\r\n\r\nimport check from './check';\r\nimport login from './login';\r\nimport resetPassword from './resetPassword';\r\nimport setNewPassword from './setNewPassword';\r\nimport acceptInvitation from './acceptInvitation';\r\n\r\nexport default combineReducers({ check, login, resetPassword, setNewPassword, acceptInvitation });\r\n","import merge from 'lodash.merge';\r\n\r\nimport { entity } from '../../actionTypes';\r\n\r\nconst initialState = {};\r\n\r\nexport default function add(state = initialState, { type, payload }) {\r\n switch (type) {\r\n case entity.add:\r\n return merge({}, state, payload);\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { company } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n state: null,\r\n loading: false,\r\n success: false,\r\n error: false,\r\n};\r\n\r\nexport default function create(state = initialState, action) {\r\n switch (action.type) {\r\n case company.create.start:\r\n return { ...state, loading: true };\r\n\r\n case company.create.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n state: action.payload.state,\r\n success: true,\r\n error: false,\r\n };\r\n\r\n case company.create.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n state: false,\r\n success: false,\r\n error: true,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { company } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n items: [],\r\n services: [],\r\n workCategories: [],\r\n total: 0,\r\n loading: false,\r\n exporting: false,\r\n fullInfoLoading: false,\r\n error: null,\r\n loadingListAddToFavorite: [],\r\n};\r\n\r\nexport default function list(state = initialState, action) {\r\n switch (action.type) {\r\n case company.list.start:\r\n return { ...state, loading: true, fullInfoLoading: action.payload.fullInfo };\r\n\r\n case company.list.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n fullInfoLoading: false,\r\n total: action.payload.total,\r\n items: action.payload.list,\r\n services: action.payload.services || state.services,\r\n workCategories: action.payload.workCategories || state.workCategories,\r\n };\r\n\r\n case company.list.error:\r\n return {\r\n ...state,\r\n error: action.payload.error,\r\n };\r\n\r\n case company.delete.start:\r\n return { ...state, loading: true };\r\n\r\n case company.delete.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n total: action.payload.total,\r\n items: action.payload.list,\r\n };\r\n\r\n case company.delete.error:\r\n return {\r\n ...state,\r\n error: action.payload.error,\r\n };\r\n\r\n case company.addToFavorite.start:\r\n return {\r\n ...state,\r\n loadingListAddToFavorite: [...state.loadingListAddToFavorite, action.payload.id],\r\n };\r\n\r\n case company.addToFavorite.end:\r\n return {\r\n ...state,\r\n loadingListAddToFavorite: state.loadingListAddToFavorite.filter(item => item !== action.payload.id),\r\n };\r\n\r\n case company.addToFavorite.error:\r\n return {\r\n ...state,\r\n loadingListAddToFavorite: state.loadingListAddToFavorite.filter(item => item !== action.payload.id),\r\n };\r\n\r\n case company.export.start:\r\n return {\r\n ...state,\r\n exporting: true,\r\n };\r\n\r\n case company.export.end:\r\n return {\r\n ...state,\r\n exporting: false,\r\n };\r\n\r\n case company.export.error:\r\n return {\r\n ...state,\r\n exporting: false,\r\n error: action.payload.error,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { company } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n favoriteOwnerList: [],\r\n loading: false,\r\n error: null,\r\n};\r\n\r\nexport default function favoriteOwnerList(state = initialState, action) {\r\n switch (action.type) {\r\n case company.getFavoriteOwnerList.start:\r\n return { ...state, loading: true };\r\n\r\n case company.getFavoriteOwnerList.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n favoriteOwnerList: action.payload,\r\n };\r\n\r\n case company.getFavoriteOwnerList.error:\r\n return {\r\n ...state,\r\n error: action.payload.error,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { combineReducers } from 'redux';\r\n\r\nimport create from './create';\r\nimport list from './list';\r\nimport favoriteOwnerList from './favoriteOwnerList';\r\n\r\nexport default combineReducers({ create, list, favoriteOwnerList });\r\n","import { currentCompany } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n loading: false,\r\n categories: [],\r\n groups: [],\r\n success: false,\r\n error: false,\r\n};\r\n\r\nexport default function workCategory(state = initialState, action) {\r\n switch (action.type) {\r\n case currentCompany.workCategory.get.start:\r\n return {\r\n ...initialState,\r\n loading: true,\r\n };\r\n\r\n case currentCompany.workCategory.get.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n categories: action.payload.categories,\r\n groups: action.payload.groups,\r\n };\r\n\r\n case currentCompany.workCategory.update.start:\r\n return { ...state, loading: true };\r\n\r\n case currentCompany.workCategory.update.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n categories: action.payload.categories,\r\n success: true,\r\n error: false,\r\n };\r\n\r\n case currentCompany.workCategory.update.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n success: false,\r\n error: true,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { currentCompany } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n loading: false,\r\n services: [],\r\n others: null,\r\n companyServices: [],\r\n success: false,\r\n error: false,\r\n};\r\n\r\nexport default function service(state = initialState, action) {\r\n switch (action.type) {\r\n case currentCompany.service.get.start:\r\n return {\r\n ...initialState,\r\n loading: true,\r\n };\r\n\r\n case currentCompany.service.get.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n services: action.payload.services,\r\n others: action.payload.others,\r\n companyServices: action.payload.companyServices,\r\n };\r\n\r\n case currentCompany.service.update.start:\r\n return { ...state, loading: true };\r\n\r\n case currentCompany.service.update.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n companyServices: action.payload.companyServices,\r\n others: action.payload.others,\r\n success: true,\r\n error: false,\r\n };\r\n\r\n case currentCompany.service.update.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n success: false,\r\n error: true,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { currentCompany } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n requestInProgress: false,\r\n loading: false,\r\n financialInfo: {},\r\n financialArrays: [],\r\n success: false,\r\n error: false,\r\n};\r\n\r\nexport default function finInfo(state = initialState, action) {\r\n switch (action.type) {\r\n case currentCompany.finInfo.get.start:\r\n return {\r\n ...initialState,\r\n loading: true,\r\n };\r\n\r\n case currentCompany.finInfo.get.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n financialInfo: action.payload.financialInfo,\r\n financialArrays: action.payload.financialArrays,\r\n };\r\n\r\n case currentCompany.finInfo.get.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n financialInfo: {},\r\n financialArrays: [],\r\n };\r\n\r\n case currentCompany.finInfo.update.start:\r\n return { ...state, requestInProgress: true, loading: true };\r\n\r\n case currentCompany.finInfo.update.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n requestInProgress: false,\r\n financialInfo: action.payload.financialInfo,\r\n financialArrays: action.payload.financialArrays,\r\n success: true,\r\n error: false,\r\n };\r\n\r\n case currentCompany.finInfo.update.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n requestInProgress: false,\r\n success: false,\r\n error: true,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { currentCompany } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n users: [],\r\n loading: false,\r\n ids: [],\r\n createSuccess: false,\r\n};\r\n\r\nexport default function user(state = initialState, action) {\r\n switch (action.type) {\r\n case currentCompany.user.create.start:\r\n return {\r\n ...state,\r\n createSuccess: false,\r\n loading: true,\r\n };\r\n\r\n case currentCompany.user.create.end:\r\n return {\r\n ...state,\r\n users: [...state.users, action.payload.state],\r\n createSuccess: true,\r\n loading: false,\r\n };\r\n\r\n case currentCompany.user.create.error:\r\n return {\r\n ...state,\r\n createSuccess: false,\r\n loading: false,\r\n };\r\n\r\n case currentCompany.user.get.start:\r\n return {\r\n ...state,\r\n loading: true,\r\n };\r\n\r\n case currentCompany.user.get.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n users: action.payload,\r\n };\r\n\r\n case currentCompany.user.resend.start:\r\n return {\r\n ...state,\r\n loading: true,\r\n };\r\n\r\n case currentCompany.user.resend.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n };\r\n\r\n case currentCompany.user.update.start:\r\n return {\r\n ...state,\r\n ids: [...state.ids, action.payload.values.id],\r\n };\r\n\r\n case currentCompany.user.update.end:\r\n const { id, firstName, lastName, phoneNumber } = action.payload;\r\n\r\n return {\r\n ...state,\r\n users: state.users.map(user => (user.id === id ? { ...user, firstName, lastName, phoneNumber } : user)),\r\n ids: state.ids.filter(item => item !== id),\r\n };\r\n\r\n case currentCompany.user.update.error:\r\n return {\r\n ...state,\r\n ids: state.ids.filter(item => item !== action.payload.id),\r\n };\r\n\r\n case currentCompany.user.remove.start:\r\n return {\r\n ...state,\r\n ids: [...state.ids, action.payload.userId],\r\n };\r\n\r\n case currentCompany.user.remove.end:\r\n return {\r\n ...state,\r\n users: state.users.filter(user => user.id !== action.payload.userId),\r\n ids: state.ids.filter(item => item !== action.payload.userId),\r\n };\r\n\r\n case currentCompany.user.remove.error:\r\n return {\r\n ...state,\r\n error: action.payload.error,\r\n ids: state.ids.filter(item => item !== action.payload.userId),\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { currentCompany } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n loading: false,\r\n loadingOnTable: false,\r\n references: [],\r\n largestJobInfo: {},\r\n};\r\n\r\nexport default function reference(state = initialState, action) {\r\n switch (action.type) {\r\n case currentCompany.reference.create.start:\r\n return { ...state, loadingOnTable: true };\r\n\r\n case currentCompany.reference.create.end:\r\n return {\r\n ...state,\r\n loadingOnTable: false,\r\n references: [...state.references, action.payload],\r\n };\r\n case currentCompany.reference.create.error:\r\n return {\r\n ...state,\r\n loadingOnTable: false,\r\n };\r\n case currentCompany.reference.get.start:\r\n return {\r\n ...initialState,\r\n loading: true,\r\n };\r\n\r\n case currentCompany.reference.get.end:\r\n const { references, largestJobInfo } = action.payload;\r\n return {\r\n ...state,\r\n loading: false,\r\n references: references,\r\n largestJobInfo: largestJobInfo,\r\n };\r\n case currentCompany.reference.get.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n };\r\n case currentCompany.reference.delete.start:\r\n return { ...state, loadingOnTable: true };\r\n\r\n case currentCompany.reference.delete.end:\r\n return {\r\n ...state,\r\n loadingOnTable: false,\r\n references: state.references.filter(item => item.id !== action.payload),\r\n };\r\n case currentCompany.reference.delete.error:\r\n return {\r\n ...state,\r\n loadingOnTable: false,\r\n };\r\n case currentCompany.reference.update.start:\r\n return { ...state, loadingOnTable: true };\r\n\r\n case currentCompany.reference.update.end:\r\n const { itemId, values } = action.payload;\r\n\r\n return {\r\n ...state,\r\n loadingOnTable: false,\r\n references: state.references.map(item => (item.id === itemId ? values : item)),\r\n };\r\n case currentCompany.reference.update.error:\r\n return {\r\n ...state,\r\n loadingOnTable: false,\r\n };\r\n\r\n case currentCompany.reference.updateJobInfo.start:\r\n return {\r\n ...state,\r\n loading: true,\r\n };\r\n case currentCompany.reference.updateJobInfo.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n largestJobInfo: action.payload,\r\n success: true,\r\n error: false,\r\n };\r\n\r\n case currentCompany.reference.updateJobInfo.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n success: false,\r\n error: true,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { currentCompany } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n loading: true,\r\n companyData: {},\r\n subsidiaries: [],\r\n success: false,\r\n error: false,\r\n};\r\n\r\nexport default function parentCompany(state = initialState, action) {\r\n switch (action.type) {\r\n case currentCompany.parentCompany.get.start:\r\n return initialState;\r\n\r\n case currentCompany.parentCompany.get.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n companyData: action.payload.companyData,\r\n subsidiaries: action.payload.subsidiaries,\r\n };\r\n case currentCompany.parentCompany.get.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n companyData: {},\r\n subsidiaries: [],\r\n };\r\n\r\n case currentCompany.parentCompany.create.start:\r\n return { ...state, loading: true };\r\n\r\n case currentCompany.parentCompany.create.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n companyData: action.payload.companyData,\r\n subsidiaries: action.payload.subsidiaries,\r\n success: true,\r\n error: false,\r\n };\r\n case currentCompany.parentCompany.create.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n success: false,\r\n error: true,\r\n };\r\n\r\n case currentCompany.parentCompany.update.start:\r\n return { ...state, loading: true };\r\n\r\n case currentCompany.parentCompany.update.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n companyData: action.payload.companyData,\r\n subsidiaries: action.payload.subsidiaries,\r\n success: true,\r\n error: false,\r\n };\r\n\r\n case currentCompany.parentCompany.update.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n success: false,\r\n error: true,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { currentCompany } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n organizationInfo: {},\r\n organizationArrays: [],\r\n requestInProgress: false,\r\n loading: false,\r\n success: false,\r\n error: false,\r\n};\r\n\r\nexport default function update(state = initialState, action) {\r\n switch (action.type) {\r\n case currentCompany.organizationInfo.get.start:\r\n return {\r\n ...initialState,\r\n loading: true,\r\n };\r\n\r\n case currentCompany.organizationInfo.get.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n organizationInfo: action.payload.organizationInfo,\r\n organizationArrays: action.payload.organizationArrays,\r\n };\r\n\r\n case currentCompany.organizationInfo.get.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n organizationInfo: {},\r\n organizationArrays: [],\r\n };\r\n\r\n case currentCompany.organizationInfo.update.start:\r\n return { ...state, requestInProgress: true, loading: true };\r\n\r\n case currentCompany.organizationInfo.update.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n requestInProgress: false,\r\n organizationInfo: action.payload.organizationInfo,\r\n organizationArrays: action.payload.organizationArrays,\r\n success: true,\r\n error: false,\r\n };\r\n\r\n case currentCompany.organizationInfo.update.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n requestInProgress: false,\r\n success: false,\r\n error: true,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { currentCompany } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n requestInProgress: false,\r\n loading: false,\r\n officers: {},\r\n success: false,\r\n error: false,\r\n};\r\n\r\nexport default function officer(state = initialState, action) {\r\n switch (action.type) {\r\n case currentCompany.officer.get.start:\r\n return {\r\n ...initialState,\r\n loading: true,\r\n };\r\n\r\n case currentCompany.officer.get.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n officers: action.payload.officers,\r\n };\r\n\r\n case currentCompany.officer.get.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n };\r\n\r\n case currentCompany.officer.update.start:\r\n return { ...state, requestInProgress: true };\r\n\r\n case currentCompany.officer.update.end:\r\n return {\r\n ...state,\r\n requestInProgress: false,\r\n officers: action.payload.officers,\r\n success: true,\r\n error: false,\r\n };\r\n\r\n case currentCompany.officer.update.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n success: false,\r\n error: true,\r\n };\r\n\r\n case currentCompany.officer.create.start:\r\n return { ...state, requestInProgress: true };\r\n\r\n case currentCompany.officer.create.end:\r\n return {\r\n ...state,\r\n requestInProgress: false,\r\n officers: action.payload.officers,\r\n success: true,\r\n error: false,\r\n };\r\n\r\n case currentCompany.officer.create.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n success: false,\r\n error: true,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","const state = {\r\n loading: false,\r\n stack: [],\r\n success: false,\r\n error: false,\r\n};\r\n\r\nconst initialState = {\r\n legal: state,\r\n citations: state,\r\n envprog: state,\r\n hearconserv: state,\r\n respprot: state,\r\n hazardcomm: state,\r\n osha: state,\r\n spillwaste: state,\r\n substabuse: state,\r\n empeng: state,\r\n medprog: state,\r\n envmeet: state,\r\n protecteq: state,\r\n corrproc: state,\r\n equipmat: state,\r\n subprog: state,\r\n inspprog: state,\r\n envtrain: state,\r\n workfordev: state,\r\n envdoc: state,\r\n};\r\n\r\nexport default initialState;\r\n","import { currentCompany } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n loading: true,\r\n keys: [],\r\n validationFields: {},\r\n loadingKeys: [],\r\n ownerAddendumList: [],\r\n pqfStatus: {},\r\n};\r\n\r\nexport default function companyInfo(state = initialState, action) {\r\n switch (action.type) {\r\n case currentCompany.companyInfo.get.start:\r\n return { ...state, loading: true };\r\n\r\n case currentCompany.companyInfo.get.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n keys: action.payload.keys,\r\n ownerAddendumList: action.payload.addendum,\r\n pqfStatus: action.payload.status,\r\n validationFields: action.payload.validationFields,\r\n };\r\n\r\n case currentCompany.companyInfo.validation.start:\r\n return {\r\n ...state,\r\n loadingKeys: [...state.loadingKeys, action.payload.validationKey],\r\n };\r\n\r\n case currentCompany.companyInfo.validation.end:\r\n return {\r\n ...state,\r\n keys: action.payload.valid\r\n ? state.keys.filter(item => item !== action.payload.validationKey)\r\n : [...state.keys, action.payload.validationKey],\r\n loadingKeys: state.loadingKeys.filter(item => item !== action.payload.validationKey),\r\n validationFields: {\r\n ...state.validationFields,\r\n ...action.payload.validationFields,\r\n },\r\n };\r\n\r\n case currentCompany.companyInfo.updateConditions.update:\r\n return { ...state, pqfStatus: action.payload.status };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { currentCompany } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n healthProfile: {},\r\n questions: [],\r\n requestInProgress: false,\r\n loading: false,\r\n success: false,\r\n error: false,\r\n};\r\n\r\nexport default function healthProf(state = initialState, action) {\r\n switch (action.type) {\r\n case currentCompany.healthProf.get.start:\r\n return initialState;\r\n\r\n case currentCompany.healthProf.get.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n healthProfile: action.payload.healthProfile,\r\n questions: action.payload.questions,\r\n };\r\n\r\n case currentCompany.healthProf.get.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n };\r\n\r\n case currentCompany.healthProf.update.start:\r\n return { ...state, requestInProgress: true };\r\n\r\n case currentCompany.healthProf.update.end:\r\n return {\r\n ...state,\r\n requestInProgress: false,\r\n healthProfile: action.payload.healthProfile,\r\n questions: action.payload.questions,\r\n success: true,\r\n error: false,\r\n };\r\n\r\n case currentCompany.healthProf.update.error:\r\n return {\r\n ...state,\r\n requestInProgress: false,\r\n success: false,\r\n error: true,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { currentCompany } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n loading: true,\r\n policies: {},\r\n success: false,\r\n error: false,\r\n};\r\n\r\nexport default function insurancePolicy(state = initialState, action) {\r\n switch (action.type) {\r\n case currentCompany.insurancePolicy.create.start:\r\n return {\r\n ...state,\r\n loading: true,\r\n };\r\n case currentCompany.insurancePolicy.create.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n policies: action.payload,\r\n success: true,\r\n error: false,\r\n };\r\n case currentCompany.insurancePolicy.create.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n success: false,\r\n error: true,\r\n };\r\n case currentCompany.insurancePolicy.get.start:\r\n return {\r\n ...initialState,\r\n loading: true,\r\n };\r\n\r\n case currentCompany.insurancePolicy.get.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n policies: action.payload,\r\n };\r\n case currentCompany.insurancePolicy.get.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n policies: {},\r\n };\r\n case currentCompany.insurancePolicy.update.start:\r\n return {\r\n ...state,\r\n loading: true,\r\n };\r\n case currentCompany.insurancePolicy.update.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n policies: action.payload,\r\n success: true,\r\n error: false,\r\n };\r\n\r\n case currentCompany.insurancePolicy.update.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n success: false,\r\n error: true,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { currentCompany } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n requestInProgress: false,\r\n loading: true,\r\n success: false,\r\n error: false,\r\n};\r\n\r\nexport default function info(state = initialState, action) {\r\n switch (action.type) {\r\n case currentCompany.info.get.start:\r\n return {\r\n ...initialState,\r\n loading: true,\r\n success: false,\r\n error: false,\r\n };\r\n\r\n case currentCompany.info.get.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n };\r\n\r\n case currentCompany.info.get.error:\r\n return {\r\n ...initialState,\r\n loading: false,\r\n };\r\n\r\n case currentCompany.info.update.start:\r\n return { ...state, requestInProgress: true };\r\n\r\n case currentCompany.info.update.end:\r\n return {\r\n ...state,\r\n requestInProgress: false,\r\n loading: false,\r\n success: true,\r\n error: false,\r\n };\r\n\r\n case currentCompany.info.update.error:\r\n return {\r\n ...state,\r\n requestInProgress: false,\r\n loading: false,\r\n success: false,\r\n error: true,\r\n };\r\n\r\n case currentCompany.info.updateImage.start:\r\n return { ...state, requestInProgress: true };\r\n\r\n case currentCompany.info.updateImage.end:\r\n return {\r\n ...state,\r\n requestInProgress: false,\r\n loading: false,\r\n success: true,\r\n error: false,\r\n };\r\n\r\n case currentCompany.info.updateImage.error:\r\n return {\r\n ...state,\r\n requestInProgress: false,\r\n loading: false,\r\n success: false,\r\n error: true,\r\n };\r\n\r\n case currentCompany.info.deleteImage.start:\r\n return { ...state, requestInProgress: true };\r\n\r\n case currentCompany.info.deleteImage.end:\r\n return {\r\n ...state,\r\n requestInProgress: false,\r\n loading: false,\r\n success: true,\r\n error: false,\r\n };\r\n\r\n case currentCompany.info.deleteImage.error:\r\n return {\r\n ...state,\r\n requestInProgress: false,\r\n loading: false,\r\n success: false,\r\n error: true,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { currentCompany } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n loading: true,\r\n emrInfo: {},\r\n emrArrays: [],\r\n naicsCodes: [],\r\n success: false,\r\n error: false,\r\n};\r\n\r\nexport default function emrate(state = initialState, action) {\r\n switch (action.type) {\r\n case currentCompany.emrate.get.start:\r\n return { ...initialState, loading: true };\r\n\r\n case currentCompany.emrate.get.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n emrInfo: action.payload.emrInfo,\r\n emrArrays: action.payload.emrArrays,\r\n naicsCodes: action.payload.naicsCodes,\r\n };\r\n\r\n case currentCompany.emrate.get.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n emrInfo: {},\r\n emrArrays: [],\r\n };\r\n\r\n case currentCompany.emrate.update.start:\r\n return { ...state, loading: true };\r\n\r\n case currentCompany.emrate.update.end:\r\n return {\r\n ...state,\r\n emrInfo: action.payload.emrInfo,\r\n emrArrays: action.payload.emrArrays,\r\n loading: false,\r\n success: true,\r\n error: false,\r\n };\r\n\r\n case currentCompany.emrate.update.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n success: false,\r\n error: true,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { currentCompany } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n loading: true,\r\n saving: false,\r\n success: false,\r\n error: false,\r\n list: [],\r\n};\r\n\r\nexport default function ownerAddendum(state = initialState, action) {\r\n switch (action.type) {\r\n case currentCompany.ownerAddendum.get.start:\r\n return initialState;\r\n\r\n case currentCompany.ownerAddendum.get.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n list: action.payload.list,\r\n };\r\n\r\n case currentCompany.ownerAddendum.get.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: true,\r\n list: [],\r\n };\r\n\r\n case currentCompany.ownerAddendum.create.start:\r\n return {\r\n ...state,\r\n saving: true,\r\n };\r\n\r\n case currentCompany.ownerAddendum.create.end:\r\n return {\r\n ...state,\r\n saving: false,\r\n success: true,\r\n list: action.payload.list,\r\n };\r\n\r\n case currentCompany.ownerAddendum.create.error:\r\n return {\r\n ...state,\r\n saving: false,\r\n error: true,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { currentCompany } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n stack: null,\r\n loading: true,\r\n success: false,\r\n error: false,\r\n};\r\n\r\nexport default function injuryIllness(state = initialState, action) {\r\n switch (action.type) {\r\n case currentCompany.injuryIllness.get.start:\r\n return initialState;\r\n\r\n case currentCompany.injuryIllness.get.end:\r\n return {\r\n ...state,\r\n stack: action.payload.stack,\r\n loading: false,\r\n };\r\n\r\n case currentCompany.injuryIllness.get.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n };\r\n\r\n case currentCompany.injuryIllness.update.start:\r\n return { ...state, loading: true };\r\n\r\n case currentCompany.injuryIllness.update.end:\r\n return {\r\n ...state,\r\n stack: action.payload,\r\n loading: false,\r\n success: true,\r\n error: false,\r\n };\r\n\r\n case currentCompany.injuryIllness.update.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n success: false,\r\n error: true,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { currentCompany } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n requestInProgress: false,\r\n loading: false,\r\n state: null,\r\n success: false,\r\n error: false,\r\n};\r\n\r\nexport default function craftsmanCertification(state = initialState, action) {\r\n switch (action.type) {\r\n case currentCompany.craftsman.get.start:\r\n return {\r\n ...state,\r\n state: null,\r\n loading: true,\r\n success: false,\r\n error: false,\r\n };\r\n\r\n case currentCompany.craftsman.get.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n state: action.payload.state,\r\n };\r\n\r\n case currentCompany.craftsman.update.start:\r\n return { ...state, requestInProgress: true, loading: true };\r\n\r\n case currentCompany.craftsman.update.end:\r\n return {\r\n ...state,\r\n requestInProgress: false,\r\n state: action.payload.state,\r\n loading: false,\r\n success: true,\r\n error: false,\r\n };\r\n\r\n case currentCompany.craftsman.update.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n success: false,\r\n error: true,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { currentCompany } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n loading: true,\r\n success: false,\r\n error: false,\r\n questions: [],\r\n answers: [],\r\n};\r\n\r\nexport default function contractorAddendum(state = initialState, action) {\r\n switch (action.type) {\r\n case currentCompany.contractorAddendum.get.start:\r\n return initialState;\r\n\r\n case currentCompany.contractorAddendum.get.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n list: action.payload.list,\r\n questions: action.payload.questions,\r\n answers: action.payload.answers,\r\n };\r\n\r\n case currentCompany.contractorAddendum.get.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: true,\r\n questions: [],\r\n answers: [],\r\n };\r\n\r\n case currentCompany.contractorAddendum.create.start:\r\n return {\r\n ...state,\r\n loading: true,\r\n };\r\n\r\n case currentCompany.contractorAddendum.create.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: false,\r\n success: true,\r\n answers: action.payload.answers,\r\n };\r\n\r\n case currentCompany.contractorAddendum.create.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: true,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { currentCompany } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n total: 0,\r\n list: [],\r\n options: [],\r\n filterDefinitions: {},\r\n updateList: [],\r\n fullInfoLoading: false,\r\n loading: false,\r\n updating: false,\r\n success: false,\r\n error: false,\r\n exporting: false,\r\n};\r\n\r\nexport default function questions(state = initialState, action) {\r\n switch (action.type) {\r\n case currentCompany.questions.get.start:\r\n return {\r\n ...state,\r\n loading: true,\r\n fullInfoLoading: action.payload.fullInfo,\r\n options: [],\r\n };\r\n case currentCompany.questions.get.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n fullInfoLoading: false,\r\n total: action.payload.total,\r\n list: action.payload.list,\r\n filterDefinitions: action.payload.definitions || state.filterDefinitions,\r\n options: [...state.options, ...action.payload.options],\r\n };\r\n case currentCompany.questions.get.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n filterLoading: false,\r\n total: 0,\r\n list: [],\r\n filterDefinitions: {},\r\n };\r\n\r\n case currentCompany.questions.update.start:\r\n return {\r\n ...state,\r\n updating: true,\r\n updateList: [...state.updateList, action.payload.questionId],\r\n };\r\n case currentCompany.questions.update.end:\r\n return {\r\n ...state,\r\n updating: false,\r\n list: state.list.map(item => (item.id === action.payload.questionId ? action.payload.question : item)),\r\n updateList: state.updateList.filter(id => id !== action.payload.questionId),\r\n success: true,\r\n error: false,\r\n };\r\n case currentCompany.questions.update.error:\r\n return {\r\n ...state,\r\n updateList: state.updateList.filter(id => id !== action.payload.questionId),\r\n updating: false,\r\n success: false,\r\n error: true,\r\n };\r\n case currentCompany.questions.export.start:\r\n return {\r\n ...state,\r\n exporting: true,\r\n };\r\n\r\n case currentCompany.questions.export.end:\r\n return {\r\n ...state,\r\n exporting: false,\r\n };\r\n\r\n case currentCompany.questions.export.error:\r\n return {\r\n ...state,\r\n exporting: false,\r\n error: action.payload.error,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { currentCompany } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n data: {},\r\n users: [],\r\n loading: false,\r\n updating: false,\r\n success: false,\r\n error: false,\r\n};\r\n\r\nexport default function settingsReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case currentCompany.settings.get.start:\r\n return { ...state, loading: true };\r\n\r\n case currentCompany.settings.get.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n data: action.payload.data,\r\n users: action.payload.users,\r\n };\r\n case currentCompany.settings.get.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n data: {},\r\n };\r\n case currentCompany.settings.update.start:\r\n return { ...state, updating: true };\r\n\r\n case currentCompany.settings.update.end:\r\n return {\r\n ...state,\r\n updating: false,\r\n data: { ...state.data, ...action.payload },\r\n success: true,\r\n error: false,\r\n };\r\n case currentCompany.settings.update.error:\r\n return {\r\n ...state,\r\n updating: false,\r\n success: false,\r\n error: true,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { currentCompany } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n companyAdminInfo: {},\r\n loading: false,\r\n updating: false,\r\n success: false,\r\n error: false,\r\n};\r\n\r\nexport default function companyAdminInfoReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case currentCompany.companyAdminInfo.get.start:\r\n return { ...state, loading: true };\r\n\r\n case currentCompany.companyAdminInfo.get.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n companyAdminInfo: action.payload[0].data,\r\n };\r\n case currentCompany.companyAdminInfo.get.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n data: {},\r\n };\r\n case currentCompany.companyAdminInfo.update.start:\r\n return { ...state, updating: true };\r\n\r\n case currentCompany.companyAdminInfo.update.end:\r\n return {\r\n ...state,\r\n updating: false,\r\n data: { ...state.data, ...action.payload },\r\n success: true,\r\n error: false,\r\n };\r\n case currentCompany.companyAdminInfo.update.error:\r\n return {\r\n ...state,\r\n updating: false,\r\n success: false,\r\n error: true,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","// here must be all pages by url company/:id/${any_url}\r\nimport { combineReducers } from 'redux';\r\n\r\nimport workCategory from './workCategory';\r\nimport service from './service';\r\nimport finInfo from './finInfo';\r\nimport user from './user';\r\nimport reference from './reference';\r\nimport parentCompany from './parentCompany';\r\nimport organization from './organization';\r\nimport officer from './officer';\r\nimport yesNoQuestions from './yesNoQuestions';\r\nimport companyInfo from './companyInfo';\r\nimport healthProf from './healthProf';\r\nimport insurancePolicy from './insurancePolicy';\r\nimport info from './info';\r\nimport emrate from './emrate';\r\nimport ownerAddendum from './ownerAddendum';\r\nimport injuryIllness from './injuryIllness';\r\nimport craftsman from './craftsman';\r\nimport contractorAddendum from './contractorAddendum';\r\nimport questions from './questions';\r\nimport settings from './settings';\r\nimport companyAdminInfo from './companyAdminInfo';\r\n\r\nexport default combineReducers({\r\n workCategory,\r\n service,\r\n finInfo,\r\n user,\r\n reference,\r\n parentCompany,\r\n organization,\r\n officer,\r\n yesNoQuestions,\r\n companyInfo,\r\n healthProf,\r\n insurancePolicy,\r\n info,\r\n emrate,\r\n ownerAddendum,\r\n contractorAddendum,\r\n injuryIllness,\r\n craftsman,\r\n questions,\r\n settings,\r\n companyAdminInfo,\r\n});\r\n","import { currentCompany } from '../../actionTypes';\r\nimport initialState from '../../utils/constants/yesNoQuestions';\r\n\r\nexport default function yesNoQuestions(state = initialState, action) {\r\n switch (action.type) {\r\n case currentCompany.yesNoQuestions.get.start:\r\n return {\r\n ...state,\r\n [action.payload.sectionKey]: {\r\n ...state[action.payload.sectionKey],\r\n stack: [],\r\n disabler: null,\r\n loading: true,\r\n success: false,\r\n error: false,\r\n },\r\n };\r\n\r\n case currentCompany.yesNoQuestions.get.end:\r\n return {\r\n ...state,\r\n [action.payload.sectionKey]: {\r\n ...state[action.payload.sectionKey],\r\n loading: false,\r\n stack: action.payload.stack,\r\n disabler: action.payload.disabler,\r\n },\r\n };\r\n\r\n case currentCompany.yesNoQuestions.update.start:\r\n return {\r\n ...state,\r\n [action.payload.sectionKey]: {\r\n ...state[action.payload.sectionKey],\r\n loading: true,\r\n },\r\n };\r\n\r\n case currentCompany.yesNoQuestions.update.end:\r\n return {\r\n ...state,\r\n [action.payload.sectionKey]: {\r\n ...state[action.payload.sectionKey],\r\n loading: false,\r\n stack: action.payload.stack,\r\n disabler: action.payload.disabler,\r\n success: true,\r\n error: false,\r\n },\r\n };\r\n\r\n case currentCompany.yesNoQuestions.update.error:\r\n return {\r\n ...state,\r\n [action.payload.sectionKey]: {\r\n ...state[action.payload.sectionKey],\r\n loading: false,\r\n success: false,\r\n error: true,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { yesNoQuestionsAll } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n questions: [],\r\n loading: false,\r\n};\r\n\r\nexport default function list(state = initialState, action) {\r\n switch (action.type) {\r\n case yesNoQuestionsAll.get.start:\r\n return { ...state, loading: true };\r\n\r\n case yesNoQuestionsAll.get.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n questions: action.payload.questions,\r\n };\r\n\r\n case yesNoQuestionsAll.get.error:\r\n return {\r\n ...initialState,\r\n error: action.payload.error,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import merge from 'lodash.merge';\r\n\r\nimport { pages } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n loading: true,\r\n generalInfo: {},\r\n notification: {\r\n isGenerationStarted: false,\r\n sections: [],\r\n conditions: {},\r\n creation: false,\r\n success: false,\r\n error: false,\r\n },\r\n documents: {\r\n list: [],\r\n page: 1,\r\n total: 0,\r\n loading: false,\r\n },\r\n uploadDocuments: {\r\n list: [],\r\n },\r\n filePqf: [],\r\n fileDocument: [],\r\n organizationInfo: {},\r\n services: {},\r\n addendum: {\r\n owner: [],\r\n contractor: [],\r\n },\r\n grade: {\r\n loading: false,\r\n list: [],\r\n mark: null,\r\n },\r\n listLoadingScorecard: [],\r\n listOwnerGrading: [],\r\n ownerGrading: {\r\n loading: false,\r\n loadingScorecard: false,\r\n mark: null,\r\n list: [],\r\n },\r\n};\r\n\r\nexport default function dashboard(state = initialState, action) {\r\n switch (action.type) {\r\n case pages.dashboard.get.start:\r\n return initialState;\r\n case pages.dashboard.get.end:\r\n return {\r\n ...merge({}, state, action.payload),\r\n loading: false,\r\n };\r\n case pages.dashboard.get.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n };\r\n\r\n case pages.dashboard.submitDocument.start:\r\n return { ...state, notification: { ...state.notification, creation: true } };\r\n case pages.dashboard.submitDocument.end:\r\n return {\r\n ...state,\r\n notification: { ...state.notification, creation: false, success: true, isGenerationStarted: false },\r\n };\r\n case pages.dashboard.submitDocument.error:\r\n return { ...state, notification: { ...state.notification, creation: false, success: true, error: true } };\r\n\r\n case pages.dashboard.documents.start:\r\n return {\r\n ...state,\r\n documents: {\r\n ...state.documents,\r\n loading: true,\r\n },\r\n };\r\n case pages.dashboard.documents.end:\r\n return {\r\n ...state,\r\n documents: {\r\n ...state.documents,\r\n ...action.payload,\r\n loading: false,\r\n },\r\n };\r\n case pages.dashboard.documents.error:\r\n return {\r\n ...state,\r\n documents: {\r\n ...state.documents,\r\n loading: false,\r\n },\r\n };\r\n\r\n case pages.dashboard.loadDocument.start:\r\n return {\r\n ...state,\r\n filePqf: [...state.filePqf, action.payload.fileId],\r\n };\r\n case pages.dashboard.loadDocument.end:\r\n return {\r\n ...state,\r\n filePqf: state.filePqf.filter(item => item !== action.payload.fileId),\r\n };\r\n case pages.dashboard.loadDocument.error:\r\n return {\r\n ...state,\r\n filePqf: state.filePqf.filter(item => item !== action.payload.fileId),\r\n };\r\n\r\n case pages.dashboard.loadAllUploadDocument.start:\r\n return {\r\n ...state,\r\n fileDocument: [...state.fileDocument, action.payload.pqfRelatedDocumentId],\r\n };\r\n case pages.dashboard.loadAllUploadDocument.end:\r\n return {\r\n ...state,\r\n fileDocument: state.fileDocument.filter(item => item !== action.payload.documentId),\r\n };\r\n case pages.dashboard.loadAllUploadDocument.error:\r\n return {\r\n ...state,\r\n fileDocument: state.fileDocument.filter(item => item !== action.payload.documentId),\r\n };\r\n\r\n case pages.dashboard.gradeDownload.start:\r\n return {\r\n ...state,\r\n grade: {\r\n ...state.grade,\r\n loading: true,\r\n },\r\n };\r\n case pages.dashboard.gradeDownload.end:\r\n return {\r\n ...state,\r\n grade: {\r\n ...state.grade,\r\n loading: false,\r\n },\r\n };\r\n case pages.dashboard.gradeDownload.error:\r\n return {\r\n ...state,\r\n grade: {\r\n ...state.grade,\r\n loading: false,\r\n },\r\n };\r\n\r\n case pages.dashboard.updateCondition.update:\r\n return {\r\n ...state,\r\n notification: {\r\n ...state.notification,\r\n conditions: action.payload.conditions,\r\n },\r\n };\r\n\r\n case pages.dashboard.downloadPQFScorecard.start:\r\n return {\r\n ...state,\r\n listLoadingScorecard: [...state.listLoadingScorecard, action.payload.pqfDocumentId],\r\n };\r\n case pages.dashboard.downloadPQFScorecard.end:\r\n return {\r\n ...state,\r\n listLoadingScorecard: state.listLoadingScorecard.filter(id => id !== action.payload.pqfDocumentId),\r\n };\r\n case pages.dashboard.downloadPQFScorecard.error:\r\n return {\r\n ...state,\r\n listLoadingScorecard: state.listLoadingScorecard.filter(id => id !== action.payload.pqfDocumentId),\r\n };\r\n\r\n case pages.dashboard.getOwnerGrading.start:\r\n return {\r\n ...state,\r\n ownerGrading: {\r\n loading: true,\r\n list: [],\r\n },\r\n };\r\n\r\n case pages.dashboard.getOwnerGrading.end:\r\n return {\r\n ...state,\r\n ownerGrading: {\r\n ...state.ownerGrading,\r\n loading: false,\r\n list: action.payload.ownerGradingList,\r\n },\r\n };\r\n\r\n case pages.dashboard.getOwnerGrading.error:\r\n return {\r\n ...state,\r\n ownerGrading: {\r\n ...state.ownerGrading,\r\n loading: false,\r\n list: [],\r\n },\r\n };\r\n\r\n case pages.dashboard.downloadOwnerScorecard.start:\r\n return {\r\n ...state,\r\n ownerGrading: {\r\n ...state.ownerGrading,\r\n loadingScorecard: true,\r\n },\r\n };\r\n case pages.dashboard.downloadOwnerScorecard.end:\r\n return {\r\n ...state,\r\n ownerGrading: {\r\n ...state.ownerGrading,\r\n loadingScorecard: false,\r\n },\r\n };\r\n case pages.dashboard.downloadOwnerScorecard.error:\r\n return {\r\n ...state,\r\n currentOwnerGrade: {\r\n ...state.ownerGrading,\r\n loadingScorecard: false,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { pages } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n list: [],\r\n grade: null,\r\n loading: false,\r\n};\r\n\r\nexport default function unofficialGrade(state = initialState, action) {\r\n switch (action.type) {\r\n case pages.dashboard.unofficialGrade.start:\r\n return { ...state, loading: true };\r\n case pages.dashboard.unofficialGrade.end:\r\n return {\r\n ...state,\r\n list: action.payload.list,\r\n grade: action.payload.mark,\r\n loading: false,\r\n };\r\n case pages.dashboard.unofficialGrade.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","// here must be all pages of first level menu like /report, /contractor, /company, /setting\r\nimport { combineReducers } from 'redux';\r\n\r\nimport yesNoQuestionsAll from './yesNoQuestionsAll';\r\nimport dashboard from './dashboard';\r\nimport unofficialGrade from './unofficialGrade';\r\n\r\nexport default combineReducers({ dashboard, yesNoQuestionsAll, unofficialGrade });\r\n","import { combineReducers } from 'redux';\r\n\r\nimport file from './file';\r\n\r\nexport default combineReducers({\r\n file,\r\n});\r\n","import { file } from '../../actionTypes';\r\n\r\nexport default function fileList(state = {}, action) {\r\n switch (action.type) {\r\n case file.get.end:\r\n const updateValue = Object.keys(action.payload).reduce(\r\n (acc, item) => ({\r\n ...acc,\r\n [item]: {\r\n list: action.payload[item],\r\n loading: false,\r\n downloadList: [],\r\n },\r\n }),\r\n {},\r\n );\r\n\r\n return { ...state, ...updateValue };\r\n\r\n case file.download.start:\r\n return {\r\n ...state,\r\n [action.payload.sectionKey]: {\r\n ...state[action.payload.sectionKey],\r\n downloadList: [\r\n ...((state[action.payload.sectionKey] && state[action.payload.sectionKey].downloadList) || []),\r\n action.payload.fileId,\r\n ],\r\n },\r\n };\r\n case file.download.end:\r\n return {\r\n ...state,\r\n [action.payload.sectionKey]: {\r\n ...state[action.payload.sectionKey],\r\n downloadList: state[action.payload.sectionKey].downloadList.filter(\r\n fileId => fileId !== action.payload.fileId,\r\n ),\r\n },\r\n };\r\n case file.download.error:\r\n return {\r\n ...state,\r\n [action.payload.sectionKey]: {\r\n ...state[action.payload.sectionKey],\r\n downloadList: state[action.payload.sectionKey].downloadList.filter(\r\n fileId => fileId !== action.payload.fileId,\r\n ),\r\n },\r\n };\r\n\r\n case file.remove.end:\r\n return {\r\n ...state,\r\n [action.payload.sectionKey]: {\r\n ...state[action.payload.sectionKey],\r\n loading: false,\r\n list: state[action.payload.sectionKey].list.filter(file => !action.payload.fileId.includes(file.id)),\r\n },\r\n };\r\n\r\n case file.add.end:\r\n return {\r\n ...state,\r\n [action.payload.sectionKey]: {\r\n ...state[action.payload.sectionKey],\r\n loading: false,\r\n list: [...state[action.payload.sectionKey].list, ...action.payload.files],\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { filePsmAudit } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n list: [],\r\n downloadList: [],\r\n loading: false,\r\n};\r\n\r\nexport default function fileList(state = initialState, action) {\r\n switch (action.type) {\r\n case filePsmAudit.get.start:\r\n return {\r\n ...state,\r\n list: [],\r\n loading: true,\r\n };\r\n case filePsmAudit.get.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n list: action.payload,\r\n };\r\n case filePsmAudit.get.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n list: [],\r\n };\r\n\r\n case filePsmAudit.download.start:\r\n return {\r\n ...state,\r\n downloadList: [...state.downloadList, action.payload.id],\r\n };\r\n\r\n case filePsmAudit.download.end:\r\n return {\r\n ...state,\r\n downloadList: state.downloadList.filter(id => id !== action.payload.id),\r\n };\r\n\r\n case filePsmAudit.download.error:\r\n return {\r\n ...state,\r\n downloadList: state.downloadList.filter(id => id !== action.payload.id),\r\n };\r\n\r\n case filePsmAudit.remove.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n list: state.list.filter(file => action.payload.id !== file.id),\r\n };\r\n\r\n case filePsmAudit.add.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n list: [...state.list, ...action.payload],\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { archive } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n items: [],\r\n total: 0,\r\n loading: false,\r\n error: null,\r\n};\r\n\r\nexport default function list(state = initialState, action) {\r\n switch (action.type) {\r\n case archive.company.get.start:\r\n return {\r\n ...initialState,\r\n loading: true,\r\n };\r\n case archive.company.get.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n total: action.payload.total,\r\n items: action.payload.list,\r\n };\r\n case archive.company.get.error:\r\n return {\r\n ...state,\r\n error: action.payload.error,\r\n };\r\n\r\n case archive.company.recover.start:\r\n return { ...state, loading: true };\r\n case archive.company.recover.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n total: action.payload.total,\r\n items: action.payload.list,\r\n };\r\n case archive.company.recover.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { archive } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n items: [],\r\n total: 0,\r\n loading: false,\r\n error: null,\r\n};\r\n\r\nexport default function list(state = initialState, action) {\r\n switch (action.type) {\r\n case archive.user.get.start:\r\n return {\r\n ...initialState,\r\n loading: true,\r\n };\r\n case archive.user.get.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n total: action.payload.total,\r\n items: action.payload.list,\r\n };\r\n case archive.user.get.error:\r\n return {\r\n ...state,\r\n error: action.payload.error,\r\n };\r\n\r\n case archive.user.recover.start:\r\n return { ...state, loading: true };\r\n case archive.user.recover.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n total: action.payload.total,\r\n items: action.payload.list,\r\n };\r\n case archive.user.recover.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { combineReducers } from 'redux';\r\n\r\nimport company from './company';\r\nimport user from './user';\r\n\r\nexport default combineReducers({ company, user });\r\n","import { settings } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n loading: false,\r\n data: {},\r\n users: [],\r\n success: false,\r\n error: false,\r\n};\r\n\r\nexport default function settingsReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case settings.configuration.get.start:\r\n return { ...state, loading: true };\r\n\r\n case settings.configuration.get.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n data: action.payload.data,\r\n users: action.payload.users,\r\n };\r\n case settings.configuration.get.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n data: {},\r\n };\r\n case settings.configuration.update.start:\r\n return { ...state, loading: true };\r\n\r\n case settings.configuration.update.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n data: { ...state.data, ...action.payload },\r\n success: true,\r\n error: false,\r\n };\r\n case settings.configuration.update.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n success: false,\r\n error: true,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { settings } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n loading: true,\r\n updating: false,\r\n data: [],\r\n success: false,\r\n error: false,\r\n};\r\n\r\nexport default function BLSDataReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case settings.BLSData.get.start:\r\n return { ...state, loading: true };\r\n\r\n case settings.BLSData.get.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n data: action.payload.data,\r\n };\r\n case settings.BLSData.get.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n data: [],\r\n };\r\n\r\n case settings.BLSData.update.start:\r\n return { ...state, updating: true };\r\n\r\n case settings.BLSData.update.end:\r\n return {\r\n ...state,\r\n updating: false,\r\n data: state.data.filter(x => !action.payload.data.some(y => y.id === x.id)).concat(action.payload.data),\r\n success: true,\r\n error: false,\r\n };\r\n case settings.BLSData.update.error:\r\n return {\r\n ...state,\r\n updating: false,\r\n success: false,\r\n error: true,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { combineReducers } from 'redux';\r\n\r\nimport settings from './settings';\r\nimport BLSData from './BLSData';\r\n\r\nexport default combineReducers({\r\n settings,\r\n BLSData,\r\n});\r\n","import { headerNotification } from '../../../actionTypes';\r\nimport { notificationStatus } from '../../../ui/containers/Header/Notifications/headerNotificationTypes';\r\n\r\nconst initialState = {\r\n items: [],\r\n uploadExpirationItems: [],\r\n sharingLoading: false,\r\n loading: false,\r\n loadingNotificationId: null,\r\n error: null,\r\n};\r\n\r\nexport default function list(state = initialState, action) {\r\n switch (action.type) {\r\n case headerNotification.list.start:\r\n return { ...state, loading: true };\r\n\r\n case headerNotification.list.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n items: action.payload || [],\r\n };\r\n\r\n case headerNotification.list.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n items: [],\r\n };\r\n\r\n case headerNotification.createFollow.start:\r\n return {\r\n ...state,\r\n sharingLoading: true,\r\n };\r\n\r\n case headerNotification.createFollow.end:\r\n return {\r\n ...state,\r\n sharingLoading: false,\r\n };\r\n\r\n case headerNotification.createFollow.error:\r\n return {\r\n ...state,\r\n sharingLoading: false,\r\n };\r\n\r\n case headerNotification.createUnfollow.start:\r\n return {\r\n ...state,\r\n sharingLoading: true,\r\n };\r\n\r\n case headerNotification.createUnfollow.end:\r\n return {\r\n ...state,\r\n sharingLoading: false,\r\n };\r\n\r\n case headerNotification.createUnfollow.error:\r\n return {\r\n ...state,\r\n sharingLoading: false,\r\n };\r\n\r\n case headerNotification.acceptFollow.start:\r\n return {\r\n ...state,\r\n loading: true,\r\n };\r\n\r\n case headerNotification.acceptFollow.end: {\r\n return {\r\n ...state,\r\n loading: false,\r\n items: state.items.map(item =>\r\n item.id === action.payload.notificationId\r\n ? { ...item, userAction: notificationStatus.acceptFollowSuccess }\r\n : item,\r\n ),\r\n };\r\n }\r\n\r\n case headerNotification.rejectFollow.start:\r\n return {\r\n ...state,\r\n loading: true,\r\n };\r\n\r\n case headerNotification.rejectFollow.end: {\r\n return {\r\n ...state,\r\n loading: false,\r\n items: state.items.map(item =>\r\n item.id === action.payload.notificationId\r\n ? { ...item, userAction: notificationStatus.rejectFollowSuccess }\r\n : item,\r\n ),\r\n };\r\n }\r\n\r\n case headerNotification.uploadExpiration.start:\r\n return { ...state, loading: true };\r\n\r\n case headerNotification.uploadExpiration.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n uploadExpirationItems: action.payload || [],\r\n };\r\n\r\n case headerNotification.uploadExpiration.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n error: action.payload.error,\r\n uploadExpirationItems: [],\r\n };\r\n\r\n case headerNotification.delete.start:\r\n return { ...state, loading: true, loadingNotificationId: action.payload.notificationId };\r\n\r\n case headerNotification.delete.end: {\r\n return {\r\n ...state,\r\n loading: false,\r\n loadingNotificationId: null,\r\n items: state.items.map(item =>\r\n item.id === action.payload.notificationId\r\n ? { ...item, userAction: notificationStatus.dismissedSuccess }\r\n : item,\r\n ),\r\n };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { review } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n loading: true,\r\n list: [],\r\n updateList: [],\r\n completerName: '',\r\n completedDate: '',\r\n rejectReason: '',\r\n pqfDocumentStatus: null,\r\n downloadList: [],\r\n};\r\n\r\nexport default function reviewReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case review.get.start:\r\n return initialState;\r\n case review.get.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n list: action.payload.list,\r\n completerName: action.payload.completerName,\r\n completedDate: action.payload.completedDate,\r\n rejectReason: action.payload.rejectReason,\r\n pqfDocumentStatus: action.payload.pqfDocumentStatus,\r\n };\r\n case review.get.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n list: [],\r\n completerName: '',\r\n completedDate: '',\r\n rejectReason: '',\r\n };\r\n\r\n case review.update.start:\r\n return {\r\n ...state,\r\n updateList: [...state.updateList, action.payload.params.id],\r\n };\r\n case review.update.end: {\r\n const listUpdated = action.payload.params.reduce((acc, item) => ({ ...acc, [item.id]: item }), {});\r\n const updateKeys = Object.keys(listUpdated);\r\n return {\r\n ...state,\r\n updateList: state.updateList.filter(id => !updateKeys.includes(`${id}`)),\r\n list: state.list.map(item => (updateKeys.includes(`${item.id}`) ? listUpdated[item.id] : item)),\r\n };\r\n }\r\n case review.update.error: {\r\n const updateKeys = action.payload.params.map(item => item.id);\r\n return {\r\n ...state,\r\n updateList: state.updateList.filter(id => !updateKeys.includes(`${id}`)),\r\n };\r\n }\r\n\r\n case review.save.start:\r\n return {\r\n ...state,\r\n loading: true,\r\n };\r\n case review.save.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n completerName: action.payload.completerName,\r\n completedDate: action.payload.completedDate,\r\n pqfDocumentStatus: action.payload.pqfDocumentStatus,\r\n };\r\n case review.save.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n };\r\n\r\n case review.downloadFile.start:\r\n return {\r\n ...state,\r\n downloadList: [...state.downloadList, action.payload.fileId],\r\n };\r\n case review.downloadFile.end:\r\n return {\r\n ...state,\r\n downloadList: state.downloadList.filter(id => id !== action.payload.fileId),\r\n };\r\n case review.downloadFile.error:\r\n return {\r\n ...state,\r\n downloadList: state.downloadList.filter(id => id !== action.payload.fileId),\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { combineReducers } from 'redux';\r\n\r\nimport addendumFile from './addendumFile';\r\n\r\nexport default combineReducers({\r\n addendumFile,\r\n});\r\n","import { addendumFile } from '../../actionTypes';\r\n\r\nexport default function addendumFileList(state = {}, action) {\r\n switch (action.type) {\r\n case addendumFile.downloadByFormBuilderFieldId.start:\r\n case addendumFile.downloadByFormBuilderFieldAnswerId.start:\r\n return {\r\n ...state,\r\n loading: true,\r\n };\r\n case addendumFile.downloadByFormBuilderFieldId.end:\r\n case addendumFile.downloadByFormBuilderFieldAnswerId.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n };\r\n case addendumFile.downloadByFormBuilderFieldId.error:\r\n case addendumFile.downloadByFormBuilderFieldAnswerId.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { workingHours, workingHourNotes } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n workingHoursSubmitEnabled: false,\r\n workingHours: [],\r\n loading: false,\r\n exporting: false,\r\n canExportWorkingHours: false,\r\n error: null,\r\n};\r\n\r\nexport default function list(state = initialState, action) {\r\n switch (action.type) {\r\n case workingHours.list.start:\r\n return { ...state, loading: true };\r\n\r\n case workingHours.list.end:\r\n return {\r\n ...state,\r\n\r\n loading: false,\r\n workingHours: action.payload.workingHours,\r\n workingHoursSubmitEnabled: action.payload.workingHoursSubmitEnabled,\r\n };\r\n\r\n case workingHours.list.error:\r\n return {\r\n ...state,\r\n error: action.payload.error,\r\n };\r\n\r\n case workingHours.update.start:\r\n return { ...state, loading: true };\r\n\r\n case workingHours.update.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n workingHours: action.payload.workingHours,\r\n success: true,\r\n error: false,\r\n };\r\n\r\n case workingHours.update.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n success: false,\r\n error: true,\r\n };\r\n\r\n case workingHourNotes.update.end:\r\n return {\r\n ...state,\r\n workingHours: state.workingHours.map(\r\n x => x.year === action.payload.year ? { ...x, notes: action.payload.notes } : x,\r\n ),\r\n loading: false,\r\n success: true,\r\n error: false,\r\n };\r\n\r\n case workingHours.exportWorkingHours.start:\r\n return { ...state, exporting: true };\r\n\r\n case workingHours.exportWorkingHours.end:\r\n return {\r\n ...state,\r\n exporting: false,\r\n };\r\n\r\n case workingHours.exportWorkingHours.error:\r\n return {\r\n ...state,\r\n exporting: false,\r\n error: action.payload.error,\r\n };\r\n\r\n case workingHours.canExportWorkingHours.end:\r\n return {\r\n ...state,\r\n canExportWorkingHours: action.payload,\r\n };\r\n\r\n case workingHours.canExportWorkingHours.error:\r\n return {\r\n ...state,\r\n error: action.payload.error,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { combineReducers } from 'redux';\r\n\r\nimport list from './list';\r\n\r\nexport default combineReducers({ list });\r\n","import { workingHourNotes } from '../../actionTypes';\r\n\r\nconst initialState = {\r\n loading: false,\r\n exporting: false,\r\n error: null,\r\n};\r\n\r\nexport default function update(state = initialState, action) {\r\n switch (action.type) {\r\n case workingHourNotes.update.start:\r\n return { ...state, loading: true };\r\n\r\n case workingHourNotes.update.end:\r\n return {\r\n ...state,\r\n loading: false,\r\n success: true,\r\n error: false,\r\n };\r\n\r\n case workingHourNotes.update.error:\r\n return {\r\n ...state,\r\n loading: false,\r\n success: false,\r\n error: true,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { combineReducers } from 'redux';\r\n\r\nimport update from './update';\r\n\r\nexport default combineReducers({ update });\r\n","import { combineReducers } from 'redux';\r\nimport { connectRouter } from 'connected-react-router';\r\n\r\nimport auth from './auth';\r\nimport entity from './entity';\r\nimport company from './company';\r\nimport currentCompany from './currentCompany';\r\nimport pages from './pages';\r\nimport file from './file';\r\nimport filePsmAudit from './filePsmAudit';\r\nimport archive from './archive';\r\nimport settings from './settings';\r\nimport headerNotifications from './header/notifications';\r\nimport review from './review';\r\nimport addendumFile from './addendumFile';\r\nimport workingHours from './workingHours';\r\nimport workingHourNotes from './workingHourNotes';\r\n\r\nconst rootReducer = history =>\r\n combineReducers({\r\n router: connectRouter(history),\r\n auth,\r\n entity,\r\n company,\r\n currentCompany,\r\n pages,\r\n file,\r\n filePsmAudit,\r\n archive,\r\n settings,\r\n headerNotifications,\r\n review,\r\n addendumFile,\r\n workingHours,\r\n workingHourNotes,\r\n });\r\n\r\nexport default rootReducer;\r\n","import { createStore, applyMiddleware, compose } from 'redux';\r\nimport createSagaMiddleware from 'redux-saga';\r\nimport { createBrowserHistory } from 'history';\r\nimport { routerMiddleware } from 'connected-react-router';\r\n\r\nimport rootSaga from './sagas/index';\r\nimport rootReducer from './reducers/index';\r\n\r\nexport const history = createBrowserHistory();\r\n\r\nexport default function() {\r\n const sagaMiddleware = createSagaMiddleware();\r\n const composeEnhancers =\r\n typeof window === 'object' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\r\n ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({\r\n // Specify extension’s options like name, actionsBlacklist, actionsCreators, serialize...\r\n })\r\n : compose;\r\n\r\n const enchancer = composeEnhancers(applyMiddleware(sagaMiddleware, routerMiddleware(history)));\r\n const store = createStore(rootReducer(history), {}, enchancer);\r\n sagaMiddleware.run(rootSaga);\r\n\r\n return store;\r\n}\r\n","import React from 'react';\r\nimport { Provider } from 'react-redux';\r\nimport { ConnectedRouter } from 'connected-react-router';\r\nimport { ThemeProvider } from '@material-ui/styles';\r\nimport { ToastContainer, Zoom } from 'react-toastify';\r\nimport CssBaseline from '@material-ui/core/CssBaseline';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport { MuiPickersUtilsProvider } from '@material-ui/pickers';\r\nimport DateFnsUtils from '@date-io/date-fns';\r\nimport 'typeface-roboto';\r\nimport 'react-phone-input-2/lib/material.css';\r\n\r\nimport Routes from './ui/routes/Routes';\r\nimport { TOAST_AUTOCLOSE } from './utils/constants';\r\nimport theme from './theme';\r\nimport createStore, { history } from './createStore';\r\n\r\nconst store = createStore();\r\n\r\nfunction App() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default App;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\n\r\nimport App from './App';\r\n\r\nReactDOM.render(, document.getElementById('root'));\r\n"],"sourceRoot":""}