{"version":3,"sources":["auth/authProvider.js","components/Home.js","helpers/Constants.js","helpers/api/api.js","helpers/notification/BaseNotification.js","helpers/DateTimePicker.js","components/dailytasks/MyCalendar.js","helpers/jsonschemaform/customwidget/utils.js","components/functions/CompletionStatusTag.js","helpers/PageBreadCrumb.js","helpers/jsonschemaform/DataTableExtention.js","helpers/ComboBox.js","components/dailytasks/AllTheTasks.js","helpers/jsonschemaform/customwidget/CheckboxWidget.js","helpers/jsonschemaform/customwidget/DateWidget.js","helpers/jsonschemaform/customwidget/EmailWidget.js","helpers/jsonschemaform/customwidget/RadioWidget.js","helpers/jsonschemaform/customwidget/SelectWidget.js","helpers/jsonschemaform/customwidget/TextareaWidget.js","helpers/jsonschemaform/customwidget/TextWidget.js","helpers/jsonschemaform/customwidget/URLWidget.js","helpers/jsonschemaform/customwidget/DateTimeWidget.js","helpers/jsonschemaform/customwidget/index.js","helpers/jsonschemaform/customwidget/UpDownWidget.js","helpers/jsonschemaform/JSForm.js","components/common/OnLineOffLine.jsx","helpers/jsonschemaform/JSCrud.js","components/common/AutocompleteInput.js","helpers/ConfirmAlertCustom.js","helpers/DualList.js","components/common/FileDownloadButton.jsx","components/backoffice/ListUsers.js","components/backoffice/WorkSite.js","helpers/authorization/Policies.js","helpers/context/AppContext.js","components/backoffice/ActivityLog.js","components/backoffice/KpiNotApplicable.js","components/backoffice/KpiManualInput.js","helpers/api/CacheStorage.jsx","helpers/api/MeRepository.jsx","helpers/api/AuditRepository.jsx","components/backoffice/DeletedAudit.jsx","components/backoffice/EnergyEmissionJSCrud.js","components/backoffice/index.js","components/common/WFActionModal.js","helpers/api/IncidentRepository.jsx","components/incident/LandingGlobal.js","lib/react-scroll-section/src/scrollContext.js","lib/react-scroll-section/src/ScrollingProvider.js","lib/react-scroll-section/src/Section.js","lib/react-scroll-section/src/SectionLink.js","helpers/scrolling/ScrollingMenuItem.js","helpers/api/ReportRepository.jsx","helpers/MultiComboBox.js","helpers/EmailChips.js","components/common/AttachmentTable.jsx","components/common/FileUpload.jsx","components/incident/IncidentAttachment.js","components/incident/AssestmentLevelTableLegend.jsx","components/incident/AssestmentLevelTable.jsx","components/incident/IncidentTabNotification.js","components/incident/IncidentTabReport.js","components/incident/IncidentEventModal.js","components/common/FindGHRSEmployer.js","components/incident/WitnessPeopleModal.js","components/incident/TeamMemberModal.js","components/incident/InjuredPersonModal.js","components/incident/IncidentTabInvestigation.js","components/incident/IncidentTabCauses.js","helpers/HistoryTable.js","components/incident/NewIncidentReport.js","components/common/FindSaipemCompilers.jsx","components/incident/CARModal.js","components/incident/CARList.js","components/incident/CAModal.js","components/incident/CAList.js","components/incident/CARDetail.js","components/incident/CADetail.js","components/audit/common/WorkSiteMultiSelect.jsx","components/audit/common/ProjectMultiSelect.jsx","components/audit/common/AuditorComboBox.jsx","components/audit/common/CompanyComboBox.jsx","components/audit/common/DivisionComboBox.jsx","components/audit/common/SectionComboBox.jsx","components/audit/common/AuditScopeMultiSelect.jsx","components/audit/common/AuditTypeComboBox.jsx","components/audit/common/AuditTargetDropDown.jsx","components/audit/common/ReasonForSamplingMultiSelect.jsx","components/audit/AuditDetails.jsx","components/audit/common/DivisionsTab.jsx","components/audit/common/AuditStatusComboBox.jsx","components/audit/common/DataApproverComboBox.jsx","components/audit/common/AuditDeleteRequest.jsx","components/audit/common/AuditPlanStatusComboBox.jsx","components/audit/common/OnBehalfDivisionComboBox.jsx","components/audit/common/OnBehalfProjectComboBox.jsx","components/audit/common/CountryMultiSelect.jsx","components/audit/common/ProjectAuditeeMultiSelect.jsx","components/audit/common/AuditRemoteComboBox.jsx","components/audit/common/SubContractorMultiSelect.jsx","components/audit/common/PurchaseOrderMultiSelect.jsx","components/audit/common/AuditMultiSelectDataTable.jsx","components/audit/AuditList.jsx","components/functions/CAROwnerManualInputModal.js","components/audit/AuditCARModal.js","components/audit/AuditCARList.js","components/audit/AuditCAModal.js","components/audit/AuditCAList.js","components/audit/AuditFindingCADetail.jsx","components/audit/AuditCARDetail.js","components/audit/AuditCADetail.js","components/common/Profile.js","components/Module.js","components/functions/Functions.js","helpers/api/InspectionRepository.jsx","components/inspection/inspectionReport/InspectionCARDetail.js","components/common/Notification.js","components/common/BoxProfile.js","helpers/api/HocCardRepository.jsx","helpers/api/TrainingRepository.jsx","helpers/api/DrillRepository.jsx","components/common/Header.js","components/common/Unauthorized.js","helpers/authorization/Authorization.js","components/report/ReportSummaryList.js","components/report/ChangeCompilerModal.jsx","components/report/ConfirmCompilerModal.jsx","components/report/ReportSummaryDetail.js","components/common/WarningModal.js","components/report/Safety.js","components/report/EnergyAccountLeasedAssetModal.js","components/report/EnergyAccountLeasedAssetList.js","components/report/Enviroment.js","components/report/AssetIntegrity.js","components/functions/HocCard.js","components/common/SortIcon.js","components/training/TrainingList.js","components/inspection/common/InspectionTypeComboBox.jsx","components/inspection/common/InspectionSectionComboBox.jsx","components/inspection/common/InspectionWeekHeader.js","components/inspection/common/InspectionWeekBody.js","components/inspection/common/InspectionMonthHeader.js","components/inspection/inspectionReport/common/CalendarSkeleton.js","components/common/AsyncFilterContainer.js","components/inspection/Inspection.js","components/inspection/inspectionReport/common/InspectionInformation.js","components/inspection/inspectionReport/InspectionNotification.js","components/inspection/inspectionReport/InspectionPersonnel.js","components/inspection/inspectionReport/common/CheckListQuestionAnswer.jsx","components/inspection/inspectionReport/common/CheckListRequirement.jsx","components/inspection/inspectionReport/InspectionDistribution.jsx","components/inspection/inspectionReport/InspectionReport.js","components/inspection/inspectionReport/InspectionCarList.js","components/utilities/Support.js","components/audit/common/CheckListQuestionAnswer.jsx","components/audit/common/CheckListRequirement.jsx","components/audit/common/EmployerComboBox.jsx","components/audit/common/AuditPersonnel.jsx","components/audit/common/AuditWorkSiteComboBox.jsx","components/audit/common/AuditImgSignature.jsx","components/audit/common/AuditModalSignature.jsx","components/audit/common/AuditNotificationForm.jsx","components/audit/AuditReport.jsx","components/functions/HocCardAttachments.js","components/functions/HocCardDetail.js","components/common/Combo.js","helpers/WeekSelectorModifyModal.js","helpers/WeekSelector.js","components/emergencydrill/EDrillDetails.jsx","components/common/ConfirmModal.jsx","components/emergencydrill/EDrillMultiSelectDataTable.jsx","components/emergencydrill/DrillFilterModal.js","components/emergencydrill/EDrillPlanModificationModal.js","components/emergencydrill/EDrillWorkSiteAttachmentModal.js","components/emergencydrill/EDLegendBox.jsx","components/emergencydrill/EDLegendTable.jsx","components/emergencydrill/common/EDLegendType.js","components/emergencydrill/EmergencyDrillList.js","components/emergencydrill/report/DrillReportMultiSelectDataTable.jsx","components/emergencydrill/report/DrillReportFilterModal.js","components/emergencydrill/report/reportDetails/DrillReportInformation.js","components/emergencydrill/report/DrillReportList.js","components/emergencydrill/report/reportDetails/common/Timeline.js","components/emergencydrill/report/reportDetails/NewElementTimelineModal.js","components/emergencydrill/report/reportDetails/common/DeleteElementTimelineModal.js","components/emergencydrill/report/reportDetails/DrillReportDetail.js","components/emergencydrill/report/reportDetails/DrillPersonnel.js","components/emergencydrill/report/reportDetails/CheckListQuestionAnswer.jsx","components/emergencydrill/report/reportDetails/CheckListRequirement.jsx","components/emergencydrill/report/reportDetails/DrillReportSummary.js","components/emergencydrill/report/reportDetails/DrillNotificationForm.jsx","components/emergencydrill/report/reportDetails/DrillReportSignedAttachment.js","components/emergencydrill/report/DrillReport.js","components/emergencydrill/report/reportDetails/DrillCARDetail.js","components/emergencydrill/report/reportDetails/DrillCarList.js","components/emergencydrill/AnnualDrillPlanDownload.js","components/training/ModalParticipant.js","components/training/ModalContent.js","components/training/ModalTrainer.js","components/training/ImgSignature.js","components/training/ModalSignature.js","components/training/ModalSignatureParticipant.js","components/training/NewTraining.js","components/common/NewAttachmentTable.jsx","components/audit/common/OnBehalfWorkSiteComboBox.jsx","components/audit/common/ProcessMultiSelect.jsx","components/audit/common/FunctionMultiSelect.jsx","components/audit/common/AuditSubcontractor.jsx","components/audit/AuditProgram.jsx","components/Layout.js","App.js","registerServiceWorker.js","index.js"],"names":["console","log","process","authProvider","MsalAuthProvider","auth","authority","clientId","redirectUri","postLogoutRedirectUri","cache","cacheLocation","storeAuthStateInCookie","scopes","loginType","LoginType","Redirect","Home","className","to","Component","displayName","name","textFormat","r","feedback","getError","error","entity","operation","result","response","status","message","data","getSuccess","undefined","entities","TODO","DYNAMIC_CRUD","TASKS","HOCCARD","ME","REGISTRY","INCIDENT","TRAINING","ACTIVITYLOG","INSPECTION","DRILL","AUDIT","KPI","entitiesLabels","EXPORTAUDITS","EXPORTFINDINGS","CARTEMPLATE","TRAININGPARTICIPANTTEMPLATE","HOCCARDTEMPLATE","HOCCARDSOURCES","HOCCARDSAVAILABLEYEARS","HOCCARD_ATTACHMENTS_AVAILABILITY","WORKSITE","HOCTYPE","HAZARDTYPE","HOCPRIORITY","LIFESAVINGRULEVIOLATION","INFOORIGINATOR","YEAR","PROJECT","USER","APPMODULE","ROLE","DIVISION","MAINDIVISION","COUNTRY","SUBDIVISION","COMPANY","ACTIVITY","WORKSITEPROJECT","WORKSITEPROJECT_QRCODE","WORKSITEGROUP","STATUS","DOCUMENTS","INCIDENT_NOTIFICATION","INCIDENT_REPORT","BODYPART","INJURYCLASS","INJURYSOURCE","INJURYTYPE","CONTRACTTYPE","SHIFDURATION","ACCIDENTSOURCE","SEVERITY","MEASUREUNIT","WORKPROCESS","PROBABILITY","WORKAREA","EQUIPMENT","ATTACHMENT","INPSECTOR","DIRECTCAUSE","DIRECTCAUSEDETAIL","ROOTCAUSE","ROOTCAUSEDETAIL","ROOTCAUSESUBDETAIL","EMPLOYER","ENVIROMENT","REPORTSUMMARY","LEASEDASSET","DISCIPLINE","SUBCONTRACTOR","REPORT","TASK","CAR","CA","FINDING","SECTION","SCOPE","TYPEAUDIT","AUDITOR","INJUREDPEROSN","TARGET","AUDIT_REPORT","AUDIT_PLAN","AUDIT_NOTIFICATION","AUDITCHECKLIST_TEMPLATE","AUDIT_FINDING","ENTITY","TEAMMEMBER","WITNESSPEOPLE","NOTIFICATION","AuditNCClassificationType","PLACE","WORKRELATED","TRANSPORTACCIDENT","PUBLICAUTHORITIES","HISTORYWF","EMERGENCYDRILL","EMERGENCYDRILL_CAR","EMERGENCYDRILL_REQ","EMERGENCYDRILL_NOTIFICATION","EMERGENCYDRILL_REPORT","EMERGENCYDRILL_ANNUALPLAN","EMERGENCYDRILL_PLANNEDWEEKCHANGES","EMERGENCYDRILL_WORKSITEATTACHMENT","FREQUENCY","PLANNEDWEEK","REQUIREMENT","INSPECTION_NOTIFICATION","INSPECTION_REPORT","SEACONDITIONS","LIGHTCONDITIONS","WEATHERCONDITIONS","TRAININGDATA","TRAININGLANGUAGE","TRAININGLOCATION","TRAININGMETHOD","TRAININGASSESSMENTMETHOD","TRAININGCENTER","TRAININGPARTICIPANT","TRAINER","TRAININGCERTIFICATE","KPIMANUALINPUT","INFO","SUCCESS","SYNC","ERROR","WARNING","WITHCODE","REASONFORSAMPLING","GENERICOWNER","EIGHTMEGABYTEMAXSIZE","SELECTNEWFILE","MBAVAILABLE","MAXSUMIMAGESIZE","THREEMEGABYTEMAXSIZE","TENMEGABYTEMAXSIZE","AUDITMASSIVEEXTRACTION_GETCOUNTRIESBUSINESSLINES","AUDITMASSIVEEXTRACTION_GETAUDITS","PURCHASEORDERS","EMERGENCYLEVEL","DRILLSAVAILABLEYEARS","apioperation","POST","UPLOAD","DELETE","PUT","DOWNLOAD","GET","API","TODOS","KPIMI","KPIHSE","ENUM_RoleEntity","ENUM_RoleCode","Draft","Submitted","Approved","Consolidated","FindingSTATUS","Assigned","Open","Closed","Completed","DateFormat","TaskCategory","NotificationModule","LogOperation","sizeFormat","bytes","precision","isNaN","parseFloat","isFinite","number","Math","floor","pow","toFixed","CarType","Code","ShortName","Name","GetCarTypeByCode","code","AuditSection","QUALITY","id","HSE","HSEQ","TEAM_LEADER","Megabyte","PlannedWeekChangeType","source","axios","CancelToken","timeout","setTimeout","cancel","http","create","baseURL","headers","Accept","httpMultiPart","invalidCharactersInterceptor","config","method","findInvalidCharactersInObject","obj","test","Object","entries","key","value","interceptors","request","use","a","getAccessToken","token","Authorization","accessToken","Promise","resolve","reject","api","url","get","o","post","put","delete","responseType","me","audit","incident","idIncident","training","inspection","drill","getAll","year","kpi","getWithParam","geToChange","hoccard","idWorksite","params","cancelToken","then","clearTimeout","registry","tasks","fileUpload","activityLog","dynamic","defaultOptions","insert","container","animationIn","animationOut","dismiss","duration","onScreen","pauseOnHover","waitForAnimation","click","touch","base","inline","type","title","caption","store","addNotification","content","BaseNotification","subtitle","showNotification","custom","success","warning","info","props","warn","kind","lowContrast","iconDescription","style","width","marginTop","defaultProps","DateTimePicker","renderInput","openCalendar","invalid","readOnly","disabled","placeholder","aria-label","onClick","role","validateDate","inputValue","today","moment","disableFutureDate","isBefore","disablePastDate","isAfter","nextProps","nextState","isEqual","this","alt","utc","_dateFormat","_timeFormat","dateFormat","timeFormat","onChange","length","date","format","isValid","closeOnSelect","isValidDate","React","CalendarTasks","deleteTask","setState","prevState","isLoad","mainTasks","filter","x","overdueTasks","updateState","inputName","objName","statusCopy","assign","state","tabSelected","events","Dayz","EventsCollection","currentDate","Date","month","onDateChanged","bind","onEventClick","getTasks","formatEvents","flagApproval","flagCompilation","i","ci","task","category","slice","find","assignedDate","push","range","clone","colorIndex","t","page","pageSize","itemList","main","overdue","catch","finally","isLoading","ev","d","_d","row","linkToEntity","el","reference","isDisabled","display","dayEventHandlers","Tabs","selected","tabContentClassName","Tab","tabIndex","label","TableContainer","Table","TableBody","map","TableRow","TableCell","toLowerCase","module","size","asNumber","n","Number","valid","guessType","Array","isArray","switchDateFormat","jsonDate","mode","toJSON","CompletionStatusTag","Tag","PageBreadCrumb","linkTo","linkText","titleLeft","titleCenter","titleRight","batchActions","showButtonHistory","fill","HeaderNavigation","StatusTag","isDraft","includes","ret1","replace","ret2","ret3","ret4","RenderDataTableCell","cell","header","isExt","isBool","allowedTags","allowedAttributes","html","local","NoRecordsPlaceholder","colSpan","labelText","ComboBox","items","disableClear","initProps","selectedItem","searchProp","dueDate","dueDateFrom","AllTheTasks","handleChangeSearch","target","handleChangeCombo","handleClickSearch","e","preventDefault","getTaskList","handleClickCancelSearch","toggleSearchForm","searchModel","handleChangeDPInput","s","split","dd","mm","yy","handleChangeDP","date2","handleChangeDPInput2","handleChangeDP2","handleChangePaging","event","taskCompleted","Button","renderIcon","CheckmarkOutline16","taskDone","validator","SimpleReactValidator","isLoadingDate","currentPage","rowCount","xStatus","spinner","stateDivDownload","taskModel","renderSearchform","renderDataTable","oldState","isOpenSearchForm","param","allValid","showMessages","forceUpdate","diffduedate","isSameOrAfter","validations","Form","autoComplete","onSubmit","FormGroup","legendText","FormLabel","TextInput","itemToString","item","initialSelectedItem","duedate","headersDataTable","skeletonRowCount","getTaskColor","ChevronRight16","TableToolbar","tooltipPosition","tooltipAlignment","hasIconOnly","Data16","divDownload","DataTable","rows","useZebraStyles","render","getHeaderProps","getRowProps","DataTableSkeleton","zebra","compact","TableHead","TableHeader","cells","totalItems","pageSizes","headersDataTable2","Loading","onSelectionChange","index","selectTab","prefix","schemaRequiresTrueValue","schema","const","enum","anyOf","oneOf","allOf","some","CheckboxWidget","readonly","autofocus","onBlur","onFocus","required","Checkbox","indeterminate","checked","hideLabel","wrapperClassName","autoFocus","DateWidget","Error","JSON","stringify","options","rawErrors","formContext","inputProps","inputType","step","EmailWidget","TextWidget","widgets","RadioWidget","random","toString","enumOptions","enumDisabled","RadioButtonGroup","defaultSelected","valueSelected","orientation","labelPosition","option","itemDisabled","indexOf","RadioButton","nums","Set","processValue","has","every","getValue","multiple","call","SelectWidget","emptyValue","Select","light","newValue","default","SelectItem","text","TextareaWidget","TextArea","maxLength","helperText","multipleOf","minimum","min","maximum","max","URLWidget","DateTimeWidget","UpDownWidget","NumberInput","JSForm","forwardedRef","rest","fields","rte","RTEField","customWidgets","customFormats","validate","formData","errors","validSince","validUntil","parse","addError","liveValidate","showErrorList","transformErrors","ref","showButton","inBrowser","navigator","channel","window","BroadcastChannel","OnLineOffLine","online","onLine","goOnline","goOffline","onMessageReceived","addEventListener","serviceWorker","removeEventListener","callOnChangeHandler","Online","children","Offline","handleResponse","JSCrud","confirmDelete","idToDelete","confirmModal","isDeleting","renderAlertModal","loading","isSubmitted","ComposedModal","open","isOpenAlertModal","onClose","active","withOverlay","description","margin","isOpenModal","submit","datiForm","urlSchema","baseUrl","isEditModal","getItemList","handleSearchFormSubmit","handleInputChange","val","search","handleSubmit","handlePaging","onCloseConfirm","setParent","originalFormData","insertSchema","uiSchema","isLoadingSchema","isLoadingModal","isRecursive","idParent","parentHistory","isReadOnly","isExportLoading","isViewSubContractor","getSchema","arrlength","list","element","backToFirstParent","concat","parent","sch","$schema","properties","depthLevel","insSch","def","definitions","k","filterEnum","enumNames","inUse","j","getInsertSchema","view","nullableEnumProperty","hasOwnProperty","nameItem","deleteItem","res","Blob","csvURL","URL","createObjectURL","tempLink","document","createElement","href","nomefile","setAttribute","body","appendChild","show","descr","propsC","buttonOnClick","toggleModal","createRef","danger","showLoading","getTime","onError","current","tab","confirmAlertCustom","Breadcrumb","BreadcrumbItem","backToPrevParent","getTableProps","Search","placeHolderText","downloadFile","Download16","addNew","Add16","getForEdit","Document16","Edit16","Delete16","Fork16","crudModal","AutocompleteInput","wrapperStyle","getItemValue","onSelect","renderMenu","renderItem","ConfirmAlertCustom","DualListWidget","idRole","onFilter","filterInput","division","RegExp","arr1","arr2","arraysEqual","canFilter","simpleValue","filterCallback","filterPlaceholder","icons","moveLeft","moveAllLeft","moveRight","moveAllRight","moveDown","moveUp","download","blob","fileName","msSaveBlob","link","visibility","removeChild","FileDownLoadButton","onDownLoadStart","postBody","apiUrl","file","onDownLoadEnd","startDownLoad","buttonProps","user","email","ListUsers","getUserDivision","isLoadingMeDivision","getLabelName","appMeDivision","groupBy","array","reduce","currentValue","getUsersList","fullName","enabled","handleChangeModel","handleChangeAppModule","oldUserAppModules","userModel","userAppModules","idAppModule","newelement","idUser","newUserAppModules","clearInsertForm","selectedSwitchIndex","selectedRoleEntity","autocompleteEmail","handleSubmitInsert","userRoles","setSelectedEntityRoles","idUserEdit","isOpenInsertModal","isOpenDeleteModal","handleToggleCA","handleChangeDualList","handleChangeRoleSwitch","roleEntity","isLoadingWorkSite","getWorkSite","isLoadingDivision","getDivision","newSelectedRoleEntity","amUser","match","path","onChangeAutocomplete","onSelectAutocomplete","appModuleList","appRoleList","appDivision","appWorksites","isLoadingList","isLoadingModules","isLoadingRoles","isLoadingUserData","autocompleteUsers","autocompleteLoadingUsers","getAppModule","getRoles","isNowEntered","Email","FullName","Enabled","getSelectedEntityRoles","keys","appRoles","idConsolidator","findIndex","outResult","idDivision","newUserRoles","selectedEntity","surname","givenName","users","_appModules","_selectedAppModules","onOpen","viewType","position","mail","isHighlighted","showDualList","closeInsertForm","medivision","worksites","selectedRole","selectedIndex","_appRoles","isCorporateAdmin","toUpperCase","roleAdministrator","canEditRoles","SwitchCustom","SkeletonPlaceholder","renderInsertForm","addNewUser","getUserForEdit","View16","aria-selected","worksite","idWorkSiteGroup","isEnabledForEnvironment","isOffshore","isSaipem","start","end","workSiteProjects","workSiteProjectItem","comments","idWorkSite","idProject","idSubDivision","idCompany","idActivity","idCountry","isRegisteredOffice","hseConsolidated","workSiteProjectsDTHeaders","WorkSite","getWorkSiteList","handleChangeAsset","worksiteModel","hideMessages","validatorWP","idWorkSiteEdit","getNameById","handleChangeWksProjModel","addNewWorkSitePrj","workSiteProjectModel","isEditModalWorkSitePrj","getWorkSitePrjForEdit","saveWorkSitePrj","dateFStart","dateFEnd","dateWStart","dateWEnd","isSameOrBefore","project","appProject","country","appCountry","subDivision","appSubDivision","company","appCompany","oldWorkSiteProjects","indexElement","newWorkSiteProjects","newid","uuid","appMainDivision","appWorkSiteGroup","appActivity","hasDuplicate","isLoadingMainDivision","isLoadingProject","isLoadingCountry","isLoadingSubDivision","isLoadingCompany","isLoadingActivity","isLoadingWorkSiteGroup","isLoadingWorkSiteData","getMainDivision","getWorkSiteGroup","getProject","getCountry","getAllSubDivision","getCompany","getAllActivity","consolidatedProject","endAfterStart","asset","assetPortfolio","startLimit","endLimit","consProj","_appProject","listSubDivision","listActivity","cols","addNewWorkSite","getWorkSiteForEdit","renderWorkSiteProjectForm","IsInRole","User","Role","roles","hasUserProfile","IsEnabled","Module","modules","IsEditable","Process","Status","SectionOrField","Resource","workflows","policies","workflow","p","policy","sections","_FindingSTATUS","_STATUS","propertyName","requireResource","CanExecuteAction","ActionType","OptionalResource","action","actions","AppContext","createContext","referenceEntity","property","occurredAtFrom","occurredAtTo","ActivityLog","handleChangeComboEntity","tableDisplayName","handleChangeCombo2","getEntityFiltered","getActivityLog","DetailsForm","DetailModalId","isOpenDetailsModal","closeDetailsForm","isLoadingEntity","getEntityActivityLog","idx","entityList","xmodule","xentity","idX","obb","modalHeader","Details","entityId","relatedEntityCode","occurredAt","filterItems","occuredAtTo","occuredAtFrom","xoperation","purgeFields","Consumer","renderDetailsForm","getSelectionProps","selectedRows","getBatchActionProps","idKpi","quarter","listWorkSite","modelProp","KpiNotApplicable","getKPINotApplicable","f","join","kpis","sort","b","codeA","codeB","getKPIAI","asst","kpiAI","getListKPIAINotApplicable","listKpiNotApplicable","getListKPI","listKpi","getWorksite","listWorkSites","insertKpiNotApplicable","model","oldIdKpi","oldYear","oldQuarter","selectedItems","onChangeSearch","handleChangeComboSearch","handleChangeComboQuarter","listWSkpinotApplicable","ws","filterWs","y","handleChangeModelSearch","updateStateSearch","selectedItemsSearch","kpiToChange","direction","MultiSelect","Filterable","elem","initialSelectedItems","editingDisabled","getKPIForEdit","allDivisions","kpiValue","quarters","KpiManualInput","getAllHseKpis","getAllDivisions","divisions","getPagedFilteredManualInputKpis","kpiManualInputListPaged","getAllManualInputKpis","kpiManialInputListAll","openAddNewModal","isUpdateMode","isEditModalOpen","closeEditModal","oldIdDivision","isSearchFormExpanded","stateCopy","handleChangeQuarterSearch","handleChangeYearSearch","handleChangeModelKpi","handleChangeModelNumeric","handleChangeModelQuarter","handleChangeModelDivision","insertKpiManualInput","getKpiForEdit","isDeleteModalOpen","renderSearchForm","dataTableHeaders","itemToDelete","h","iv","sjcl","codec","hex","toBits","salt","encrypt","plainText","cryptoObj","base64","fromBits","v","iter","ks","ts","adata","cipher","encryptedObj","ct","decrypt","encryptedText","encryptedArray","aes","utf8String","ccm","putCache","caches","Response","CacheStorage","ready","swRegistration","sync","register","cachedResponse","cryptedResponse","decryptedResponse","MeRepository","getDivisions","getCompanies","getProjects","projects","w","getWorkSites","preFetch","AuditRepository","updateCachedAuditList","clearOldYear","cacheStorage","getFromCache","unshift","updateCache","newItems","years","forEach","referenceYear","splice","updateCachedCarList","updateCAList","idAudit","idAnswer","auditCAR","answer","checkList","answers","car","cars","c","idCompiler","idApprover","idDivisionManager","resultCas","pageCount","updateCachedCaList","toDelete","idAuditCAR","cacheResult","ca","updateCachedCaDetails","updateCachedAuditCount","getCachedAuditCount","totalAudits","updateCachedAuditFilter","getCachedAuditsFilter","getCachedAudits","count","getCachedTypes","getCachedScopes","getCachedStatuses","getCachedTargets","getCachedWorkSites","getCachedEmployees","getCachedSection","getCachedAuditors","getCachedNCClassificationTypes","getCachedLevels","getAudit","getAuditCount","getDeletedAuditCount","getAuditYearAsync","getAuditCountByMonth","getAudits","skip","take","getDeletedAudits","getAuditors","getCachedAuditor","getCachedReasonForSampling","getCachedCountries","getCachedProjects","getCachedDivisions","getCachedCompanies","getTypes","section","types","idAuditSection","getScopes","getProcesses","getCountries","getFunctions","functions","getSubcontractors","getPurchaseOrders","getStatuses","getTargets","getSections","getNCClassificationTypes","getLevels","getDivisionAuditors","getEmployees","fetchDivisionsAuditors","getReasonForSampling","reasons","getProgramDistributionList","fetchAudit","getFullYear","from","DeletedAudit","repository","getItems","audits","updatedOn","toLocaleDateString","deleteRequest","requestOn","getCellValue","planningName","reportingName","userRequestFrom","auditCancellationReason","reasonForChange","isBack","history","location","totAudits","isSortable","subkey","EnergyEmissionJSCrud","toggleShowOutOfView","showOutOfView","updateFormState","getSelectComboItem","arr","handleChangeEnergyEmittedSubstance","validators","datePicker","rule","locale","enumValue","EnergyEmittedSubstanceAsEnum","idEnergyEmittedSubstance","idEnergySourceType","idEnergyUsageType","outOfScope","coefficient","selectedItemCombo","substance","usageType","EnergyUsageTypeAsEnum","sourceType","EnergySourceTypeAsEnum","validationsCrudModal","DatePicker","datePickerType","short","handleChangeValidSince","DatePickerInput","pattern","handleChangeValidUntil","invalidText","RenderList","tabsArray","selectedTab","tag","onChangeTab","Accordion","AccordionItem","ArrowRight16","BackOffice","handleChangeTab","hash","exact","component","deleted","outcomeDescription","updateOnBlur","notes","uniqueItems","WFActionModal","approverRole","months","trimesters","withApproverAndWarning","withApprover","approverWarning","onCancel","isLoadingOptions","approverOptions","itemToElement","onApproverSelect","approvalNotesRequired","approvalNotes","onApprovalNotesChange","withTimeApproval","onApprovalYearChange","approvalTimeIntervalType","onApprovalTrimesterChange","trimester","onApprovalMonthChange","m","validationMessages","onConfirm","approver","isLoadingOperation","updateCachedIncident","tabNotifications","updateCachedIncidentList","createCachedIncidentCAR","updateCachedIncidentCAR","incidentCAR","updateCachedTabCausesIncidentCAR","tabCauses","createCachedIncidentCARDatail","idCar","updateCachedIncidentCA","updateCachedCAOnIncidentCARList","updateReportFilter","updateReport","getBackPaged","IncidentRepository","fetchIncident","getBodyParts","parts","LandingGlobal","incidentReportId","idStatus","idPrj","idMainDivision","investigationLevel","compiler","dataApprover","divisionManager","getIncidentList","isNotBack","getIncidentListFilter","getPrj","prj","getStatus","isLoadingStatus","maindivision","getUserWorksite","isLoadingWorksite","updateStateDP","handleApproverSelect","handleCloseApprovalModal","isApprovalModalOpen","clearApprovalForm","handleApprovalNotesChange","handleConfirmApprovalModal","approvalModalAction","apiEndpoint","approvalEndpoint","ids","selectedData","owner","workflowNotes","incidentCode","incidentReportIdCode","incidentNum","isLoadingWFOperation","getUsersInRole","idEntity","IdEntity","includeAdmins","approvers","isLoadingApproverOptions","getIncident","getStatusId","idRow","getIncidentNotificationCode","getIncidentReportCode","approvalStartDate","approvalEndDate","approvalValidationMessages","isLoadingNotificationFile","isLoadingReportFile","appWorkSiteName","xType","xInUse","investigation","IsRowSelectable","idActionStatus","tableRow","selectableIncident","selectableState","selectableDivision","selectableWorksite","incidentId","actionKey","actionName","Add20","TableToolbarContent","TableBatchActions","TableBatchAction","Send16","batchActionClick","Error16","TableSelectRow","DocumentExport16","Provider","ScrollingProvider","refList","handleScroll","acc","top","getBoundingClientRect","differenceFromTop","abs","debounceScroll","debounce","debounceDelay","registerRef","newRef","scrollTo","behavior","scrollBehavior","sectionRef","offsetTop","Section","SectionLink","isSelected","Menu","data-progress","data-progress-current","Item","data-floating-menu-direction","data-avoid-focus-on-open","styled","getCachedSubDivision","getCacheBackPaged","getCachedActivity","getCachedCountry","getCachedStatus","getCachedSubcontractors","getCachedEnvironmentSchema","getCachedReportEnvironment","getCachedReportSafety","getCachedReportAssetIntegrity","geCachedLeasedAssetReportData","idReport","ReportRepository","getSubDivision","getActivity","getListLeasedAssetReportData","getLeasedAssetById","idRport","getEnvironmentSchema","getSafetyComputedField","idSubContractor","computedField","subContractor","averageManpower","workedManhours","fatalAccidents","lostTimeInjuries","workRestrictedCases","medicalTreatments","firstAidCases","nearMissHS","nearMissENV","daysLost","restrictedWorkDays","commutingInjuries","roadTrafficAccidents","kmDriven","hseTrainingHours","jobSafetyAnalysis","toolBoxTalks","seniorManagementHSEVisits","hseInspections","hseMeetings","drillHS","drillENV","drillHSPlanned","drillENVPlanned","hazardObservationCards","getReportEnvironment","getReportSafety","getReportAssetIntegrity","updateCachedReportList","updateCachedEnvironment","dataCached","oilSpillNumberEnvSampling","oilSpillRecoveredVolum","oilSpillExistentOilResponse","chemicalSpillNumberEnvSampling","chemicalSpillRecoveredVolum","bottleWater","waterSourceReportData","waterDischargedReportData","waterReusedReportData","wasteHazReportData","wasteNonHazReportData","energySourceReportData","oilSpillReportData","chemicalSpillReportData","wasteMonetizationReportData","waterSourceNotes","waterDischargedReusedNotes","waterHazNotes","waterNonHazNotes","energySourceNotes","oilSpillNotes","chemicalSpillNotes","wasteMonetizationNotes","updateCachedSafety","safetyData","updateCachedAssetIntegrity","assetIntegrity","updateReportDetail","discipline","leasedAssetReportData","vsc","scEq","scc","scp","scEqPS","sccps","scpps","scEqPSES","sccpses","vscActionsOverdue","vscActionsRaised","closedMoC","totalMoC","overdueAIAudits","plannedAIAudits","overdueWOSafetyCriticalEquipment","plannedWOSafetyCriticalEquipment","scEqFailures","sccCoveredByMT","missingOrExpiredMT","totalExpectedMT","sccConveredByCompetence","sctCoveredBySCPOrTFC","totalSCT","updatedEmergencyPlan","updateLeasedAssetReportData","updateCachedLeasedAssetReportData","createLeasedAssetReportData","deleteLeasedAssetReportData","EmailChips","handleChange","evt","clearInput","setError","convertItems","outType","isInList","isEmail","handleSave","onKeyDown","trim","onPaste","emails","clipboardData","getData","toBeAdded","handleDelete","attachmentTablePrivacyText","AttachmentTable","appStatus","remove","onDeleteFile","onUpload","fileIdentifier","fileType","onUploadFIle","sumAttachmentSize","onlyImage","attachment","contentType","sum","prevSum","maxUploadDocument","singleFileSizeLimit","customSingleFileSizeLimit","accept","acceptedFile","customMainDescription","acceptDescription","customDescription","maxSingleSizeErrorLabel","sumImageAttachmentSize","totalFilesSizeLimit","customTotalFilesSizeLimit","maxTotalSizeErrorLabel","Container","StoragePath","storagePath","isDocumentTypeSpecified","documentType","renderUploadFile","apiDownloadUrl","FileUpload","clearFiles","fileUploader","canUpload","isFileValid","validationErrorTitle","validationErrorSubTitle","isTotalFilesSizeExceeded","isImagefile","totalImageSizeLimitExceeded","totalFilesSizeLimitExceeded","isSingleFileSizeExceeded","onFileUploadChange","statusUpload","files","availableImageAttachmentSize","anyError","Boolean","inputFile","FormData","append","identifier","blobName","sizeLimit","sumOfImageAttachedSize","createCustomDescriptionForImage","availableImageSize","returnDescription","notification","hideCloseButton","notificationType","onCloseButtonClick","FileUploader","node","buttonKind","buttonLabel","filenameStatus","labelDescription","labelTitle","uploadIcon","AttachmentTypes","AttachmentTypesNotification","IncidentAttachment","clearAttachment","initialState","attachmentTypes","flagNotificationTab","addAttachment","downloadAttachment","last","pop","addNewAttachment","removeAttachment","calculateImageAttachmentSize","attachments","prev","cur","AssestmentLevelTableLegend","AssestmentLevelTable","handleChangeRadio","handleChangeRadioAssestmentLevel","outcomeModel","idOutcome","renderMatrixCell","idTable","appMatrixCell","idSeverity","idInvestigationLevelPotentialConsequenceSeverity","idProbability","idInvestigationLevelPotentialConsequenceProbability","idRealConsequenceSeverity","idInvestigationLevelRealConsequenceSeverity","backgroundColor","appMatrixColor","lvlReal","disableLevelRealConsequence","appProbabilities","prob","lvlPot","handleChangeInvestigationLvlPotCons","1","2","3","4","5","appSeveritiesInvestigation","automaticallyCalculated","rowSpan","TooltipIcon","align","tooltipText","getTooltip","incidentTabNotificationsModel","occurrenceDate","occurrenceTime","idWorkSiteProject","idCustomer","customer","outcomeAsset","outcomeEnvironmental","outcomeHarm","realOutcomeAsset","realOutcomeEnvironmental","realOutcomeHarm","incidentOutcomes","emergencyClass","publicAuthoritiesAndEntitiesInvolved","specifyOther","transportAccident","transportAccidentEquipped","infoOriginator","workRelated","place","companyVehicleProvided","briefDescription","immediateActionsTaken","idPotentialConsequenceSeverity","lifeSavingRules","lsrNote","mailTo","mailCc","mailBody","mailSubject","attachmentNotifications","filterByDate","INCIDENT_OUTCOME_ENUM","IncidentTabNotification","listWorksitesPrj","flagTime","showConsequenceLegend","outcomeTab","incidentModel","incidentEditModel","getFirstActiveOutcomeTab","dateTime","convertOccurrenceDate","oldattachment","newItem","idAttachment","newattachment","oucomePropertyNames","out","outcomeObj","isTheOnlyOneActive","alreadyExistingOut","activeOutcomeIds","outName","updateStatesTime","validatorTime","handleChangeTitle","loadRelatedProperties","getWorksitesPrj","handleChangeMultiCombo","wksprj","idWorksitePrj","handleChangeOutcome","realOutcomeRadio","outcomeId","existOutcome","outcome","severityProbabilityPair","handleChangePubAutEntInv","selectedValue","oldvalues","newvalues","handleChangeLifeSavingRules","oldValues","idLifeSavingRule","savingRule","appLifeSavingRule","isExclusive","newValues","setlifeSavingRules","getIncidentType","valore","isAccident","isCheckedPubAutEntInv","getLifeSavingRuleByCategory","idCategory","idLifeSavingRuleCategory","idNoViolationLifeSavingRule","renderIncidentLegenda","saveTabNotification","send","isEdit","atta","resp","idIncidentReport","notificationDateIncidentReport","notificationDate","caManagementName","carManagementName","updateCacheIncidentModel","idInvestigation","injuredPersonCount","injuredPeople","updateAutoOpenInjuredPerson","updateEditMode","isLifeSavingRulesDisabled","idSavingRule","selectedLifeSavingRules","isSomeExlusiveSelected","isThisSelected","appAllWorksites","appAllWorksitePrj","severities","appSeveritiesConsequences","real","potential","outcomeTitle","typeIncident","showSpecifyOther","subContractorsByInfo","subContractors","appTransportAccident","appInfoOriginator","appWorkRelated","appPlace","showTransportAccidentEquipped","showIsWorkRelatedCommunting","outcomeProperty","outcomeName","selectedOutcome","NoViolationLSR","StructuredList","head","legend","appPublicAuthoritiesAndEntitiesInvolved","shouldFilterItem","currentOutcome","isRealOutcome","appLifeSavingRuleCategory","toSubmit","marginBottom","startsWith","print","incidentTabReportModel","noInjured","eventCause","mailBodyReport","mailSubjectReport","IncidentTabReport","keyModal","editModel","addNewPerson","editModal","handleSaveModal","oldinjuredPeople","newinjuredPeople","dataObj","toSave","getInjuryTypeName","appInjuryType","saveTabReport","getContractType","getShiftDuration","getInjurySource","getInjuryClass","getBodyPart","setMailSubject","appBodyPart","appInjuryClass","appInjurySource","appContractType","appShiftDuration","fullname","submitReport","IncidentEventModal","incidentEventModel","anomaly","handleToggle","save","autoForceUpdate","time","Toggle","labelA","labelB","toggled","onToggle","FindGHRSEmployer","initState","badgeNumber","selectedRow","handleClickOk","employersList","selectedId","employer","participantAlreadyAdded","participants","idEmployer","onOk","handleClearSearch","getEmployeesFromApi","employees","filterItem","ghrS_ID","DTRows","radio","scope","WitnessPeopleModal","incidentWitnessPeopleModel","witnessStatement","idInvolvedPerson","involvedPerson","nationalID","handleChangeComboType","handleChangeMode","setEmployer","national_ID","appType","TeamMemberModal","incidentTeamMemberModel","isTeamLeader","String","InjuredPersonModal","idBodyParts","incidentInjuredPersonModel","nationality","idInjuryType","idContractType","employmentDate","prjJoiningDate","experienceYears","experienceMonths","idShiftDuration","daysFromShiftStart","hoursFromShiftStart","drugAlchoolTest","lastSafetyMeeting","lastMedicalCheckAvailable","lastMedicalCheck","lastMedicalCheckStatus","otherInfo","dateFit","restrictedActivity","injuryRecurrent","idInjurySource","idInjuryClass","GuidBodyPart","handleChangeComboName","appNationality","countryId","dati","isWorkRestricedCase","saveInjuredPerson","updateAutoOpenInjuredPersonTI","updateHarmedPeople","returnBodyParts","incidentInjuredPersonBodyPart","idsSelectedBodyParts","autoInjuredPersonModalFromNotification","selectedBodyParts","typology","openUp","incidentTabInvestigationModel","sourceAccident","spillLakeUM","spillLakeNumericValue","spillRiverUM","spillRiverNumericValue","spillSeaUM","spillSeaNumericValue","spillSoilUM","spillSoilNumericValue","spillSubstanceReleased","uncontrolledReleaseLakeUM","uncontrolledReleaseLakeNumericValue","uncontrolledReleaseRiverUM","uncontrolledReleaseRiverNumericValue","uncontrolledReleaseSeaUM","uncontrolledReleaseSeaNumericValue","uncontrolledReleaseSoilUM","uncontrolledReleaseSoilNumericValue","uncontrolledReleaseSubstanceReleased","uncontrolledReleaseDescription","spillDescription","isUsedSpillKit","isInPlaceProcedure","airPollUM","airPollSubstanceReleased","airPollQuantityReleased","isFloraImpacted","isFaunaImpacted","incidentEvents","idWorkArea","idWorkProcess","idEquipment","idWorkProcessType","idWorkAreaType","idEquipmentType","specifyOtherWorkArea","specifyOtherWorkProcess","specifyOtherEquipment","lightOrigin","wheather","sea","temperature","temperatureType","windSpeed","noWitness","witnessPeople","investigationTeamMembers","isSpill","isUncontrolledRelease","isFloraFaunaDamage","isAirPollutio","isOther","idAssetDamageType","certification","safetyDeviceRemoved","safetyCritial","cmms","uncontrolledCategories","spillCategories","spillOrUncontrolledDictionary","IncidentTabInvestigation","keyModalWitness","editModelWitness","isEditModalWitness","isOpenModalWitness","idToDeleteWitness","keyModalTeamMember","editModelTeamMember","isEditModalTeamMember","isOpenModalTeamMember","idToDeleteTeamMember","appAccidentSource","appMeasureUnit","appWorkProcessType","appWorkAreaType","appEquipmentType","appWorkProcess","appWorkArea","appEquipment","appSea","assetdamagetype","isInNewInjuredPerson","isInjuredPersonsComplete","lastDateInspection","isEditModalIJ","isOpenModalIJ","editModelIJ","confirmDeleteInjPerson","idInjurePerson","deleteItemInjuredPerson","deleteI","getWorkProcess","getWorkArea","getEquipment","saveTabInvestigation","toggleEventModal","addNewEvent","editEventModal","handleEventSaveModal","oldincidentEvents","newincidentEvents","toggleWitnessModal","addWitness","editWitnessModal","handleWitnessSaveModal","oldwitnessPeople","newwitnessPeople","confirmWitnessDelete","deleteItemWitness","toggleTeamMemberModal","addTeamMember","editTeamMemberModal","handleTeamMemberSaveModal","oldTeamMemberPeople","newTeamMemberPeople","confirmTeamMemberDelete","deleteItemTeamMember","getAssetdamagetype","substanceReleased","impactOn","all","_sortBy","appAllWorkProcess","appAllWorkArea","appAllEquipment","autoInjuredPersonModal","injPersonsComplete","rowsEvents","rowsWitness","rowsTeamMember","incidentEventModalProps","incidentWitnessModalProps","getNameWitnessById","incidentTeamMemberModalProps","injuredPersonModalProps","getNameTeamMemberById","appMeasureUnitForSpill","usedInSpill","appMeasureUnitForAirPollution","usedInAirPollution","spillContainedUM","uncontrolledReleaseContainedUM","showOtherWorkArea","showOtherWorkProcess","showOtherEquipment","tempIsValid","parseInt","temperatureHot","outcomeEnviroment","airPollution","spillContainedNumericValue","uncontrolledReleaseContained","uncontrolledReleaseContainedNumericValue","floraFaunaDamageImpactOn","floraFaunaDamageSpeciesAffected","safetyDevicesRemoved","specify","assetTagNumber","safetyCriticalEquipment","floraFaunaDamageDescription","otherDescription","IncidentTabCausesModel","investigationCriticalFactors","returnOfExperience","IncidentTabCauses","saveTabCauses","isLoadingIncident","ownerSaipem","incidentCARCode","HistoryTable","getHistoryWF","DTHeaders","nextApproverMail","idIncidentEdit","isHistoryModalOpen","NewIncidentReport","Information16","openModalHistory","closeModalHistory","getLifeSavingRule","getInjuryType","setStaticObject","isLoadingSubContractorOptions","appSeverities","revision","A","B","C","updateType","incidentDTO","idDataApprover","progressiveId","carListModel","isAutoOpenInjuredPerson","getStatusActions","handleNotificationChange","getIncidentForEdit","stateIcon","stateTabs","isDisabledAll","getAllWorkSite","getAllWorkSitePrj","currentIdProject","currentProject","tabNotificationProps","tabReportProps","tabReport","tabInvestigationProps","tabInvestigation","noInjuredPerson","tabCausesProps","maxWidth","FindSaipemCompilers","getCompilers","CARModal","incidentCARModel","directCauseSubCategory","idDirectCause","rootCauseSubCategory","idRootCause","idOwner","idOwnerSaipem","idDirectCauseSubCategory","idRootCauseSubCategory","idRootCauseSubCategoryDetail","rootCauseSubCategoryDetail","handleChangeComboTypeRoot","handleChangeComboTypeRootSub","getRootCauseSubCategory","appRootCauseSubCategory","getDirectCauseSubCategory","appDirectCauseSubCategory","getRootCauseSubCategoryDetail","setSaipemOwner","closedOn","onUploadFiles","onRemoveFile","appDirectCause","appRootCause","appRootCauseSubCategoryDetail","incidentCompiler","idRootCauseDetail","CARList","keyModalCAR","editModelCAR","isEditModalCAR","isOpenModalCAR","toggleModalCAR","addCar","editModalCAR","updateCacheList","carDetail","handleSaveModalCAR","getCARs","confirmDeleteCAR","deleteItemCAR","getCanEditResourceId","canEditResource","canApproveCAR","canCloseCAR","getIncidentReportCompiler","getCauses","sequence","statusIncident","carCode","carOwnerInvolved","closedCa","CARModalProps","getNameCARById","CAModal","idIncidentCAR","caImplemented","dueDateChangeNotes","immediateThreatment","deleteEmployer","fieldValid","appRecommendation","optionToExclude","filteredArray","class","Close16","excludeOption","CAList","keyModalCA","editModelCA","isEditModalCA","isOpenModalCA","getCAs","detailCA","toggleModalCA","addCA","editModalCA","incidentCA","handleSaveModalCA","incidentCACode","confirmDeleteCA","deleteItemCA","getType","CAModalProps","getNameCAById","statusCar","CARDetail","getCAR","listCas","updateActualCompletion","_","actualDateCompletition","idincident","keyCAList","CAListProps","listCa","defaultValue","directCause","rootCause","justifyContent","flexWrap","CADetail","getCA","saveCA","goBack","idCa","idIncidentCompiler","keyCA","isClose","WorkSiteMultiSelect","loadAll","ProjectMultiSelect","AuditorComboBox","itemsDivision","uniqueTags","itemsToExclude","deletedId","itemId","CompanyComboBox","DivisionComboBox","SectionComboBox","AuditScopeMultiSelect","AuditTypeComboBox","Map","set","AuditTargetDropDown","ReasonForSamplingMultiSelect","AuditDetails","monthToString","monthNumber","monthToNumber","monthName","onSelectCompanyChange","newAudit","onSelectDivisionChange","distributionList","toList","address","recipientType","emailAddress","ccList","auditor","mailCC","onSelectAuditTypeChange","onSelectSectionChange","onSelectWorkSiteChange","onSelectProjectChange","onSelectAuditorChange","selectedAuditor","compilerChanged","Audit","teamLeader","reasonsForChange","checkListCompilerChanged","onSelectTargetChange","onSelectDistributionListChange","onSelectMailCCChange","onSelectReasonChange","reasonsForSampling","otherHSEIssues","onOtherHSEIssuesTextChange","onReasonForChangeChange","handleSelectedMonth","handleSelectedYear","onSelectScopeChange","renderLoadingModal","saveAudit","auditCode","updateAudit","newAuditDTO","referenceMonth","idAuditType","auditType","auditSection","idAuditTarget","workSites","auditors","createdBy","createdOn","updatedBy","shift","uniqAuditors","idCheckList","reportSummary","additionalNotes","startDate","endDate","newCarManagement","onUpdate","onSave","helpers","testRegex","statuses","editingAuditorDisabled","editingDateDisabled","question","DivisionsTab","onSelectedTab","li","data-target","aria-controls","tabs","divisionTabs","totalElement","ceil","startIndex","endIndex","rowItems","separator","slide","data-tabs","focusable","preserveAspectRatio","willChange","xmlns","height","viewBox","aria-hidden","AuditStatusComboBox","DataApproverComboBox","userName","AuditDeleteRequest","reasonForAuditCancellationOptions","onReasonForAuditCancellationSelect","AuditPlanStatusComboBox","OnBehalfDivisionComboBox","getMyDivision","OnBehalfProjectComboBox","CountryMultiSelect","ProjectAuditeeyMultiSelect","AuditRemoteComboBox","componentDidMount","AuditMultiSelectDataTable","renderFilters","showFilters","onChangeSectionFilter","selectedSection","selectedScopes","selectedTarget","selectedAuditType","onSelectPlanStatusChange","selectedPlanStatus","onSelectStatusChange","selectedStatus","selectedWorkSites","selectedReasons","onChangeLeadAuditorFilter","selectedLeadAuditor","onChangeDivisionLeadAuditorFilter","selectedDivisionLeadAuditor","onChangeCompanyLeadAuditorFilter","selectedCompanyLeadAuditor","onChangeProjectLeadAuditorFilter","selectedProjectLeadAuditor","onCompilerFilter","selectedCompiler","onPlanCompilerFilter","selectedPlanCompiler","onApproverFilter","selectedApprover","onSelectAuditRemoteChange","selectedAuditRemote","onSelectProjectAuditeeChange","selectedProjectsAuditee","onSelectCountryChange","selectedCountries","onSelectSubContractorChange","selectedSubContractors","onSelectPurchaseOrderChange","selectedPurchaseOrder","onCodeFilter","selectedCode","onProjectAuditCodeFilter","selectedProjectAuditCode","onFindingCodeFilter","selectedFindingCode","onProjectFindingCodeFilter","selectedProjectFindingCode","onSearchClear","onSearch","renderDeleteModal","modalDeleteVisible","handleDeleteClose","handleDeleteSubmit","renderSubmitModal","modalSubmitVisible","handleStatusSubmitClose","onSelectDataApproverChange","handleStatusSubmit","onTypeFilter","onReasonFilter","onCountryFilter","onProjectAuditeeFilter","onSubContractorFilter","onPurchaseOrderFilter","onScopeFilter","onTargetFilter","onStatusFilter","onPlanStatusFilter","onAuditRemoteFilter","onWorkSiteFilter","onMonthFilter","currentTarget","handleReasonForAuditCancellationSelect","handleCloseDeleteRequestModal","isDeleteRequestModalOpen","clearDeleteRequestForm","handleConfirmDeleteRequestModal","onRefreshData","getReasonForAuditCancellation","reasonForAuditCancellation","getAuditCode","getAuditReportCode","getAuditor","au","getAuditReport","getReportStatusId","getNewCarManagement","isRequestCancellationPending","canSubmit","notificationForm","sendedOn","allQstAnswered","isAllRequestCancellationPending","isMyRequestCancellationPending","idUserRequestTo","isAllMyRequestCancellationPending","renderMonthsHeader","selectedMonth","itemsInMonths","openMassiveExtractionModal","modalMassiveExtractionVisible","getCountriesBusinessLines","closeMassiveExtractionModal","isLoadingModalMassiveExtraction","isLoadingTableMassiveExtraction","isLoadingDownloadMassiveExtraction","selectedCountriesMassiveExtraction","selectedBusinessLinesMassiveExtraction","countriesMassiveExtraction","businessLinesMassiveExtraction","auditsMassiveExtraction","validatorCountriesMassiveExtraction","validatorBusinessLinesMassiveExtraction","currentPageMassiveExtractionTable","totalAuditsMassiveExtractionTable","pageSizeMassiveExtractionTable","countries","businessLines","searchAuditsForMassiveExtractionModal","checkValidatorMassiveExtraction","totCount","hanldeChangeMassiveExtraction","selectedBusinessLine","handleChangePagingMassiveExtractionTable","downloadMassiveExtraction","ifMaximumLimit","input","isSingle","currentdate","getMonth","getDate","getHours","getMinutes","getSeconds","renderMassiveExtractionModal","headersMassiveExtractionTable","multiCombo","businessLine","MassiveExtractionTable","isLoadingFile","auditId","selectableAudit","rowStateRep","selectableStateRep","statewf","onShowFilters","filters","countriesAuditee","projectsAuditee","purchaseOrders","idTarget","idPlanStatus","planCompiler","findingCode","projectAuditCode","projectFindingCode","auditRemote","idSection","idLeadAuditor","idDivisionLeadAuditor","idCompanyLeadAuditor","idProjectLeadAuditor","Task16","deleteActionClick","Archive16","TooltipDefinition","Printer","selectedYear","DocumentDownload16","onNewAudit","TableSelectAll","ExportDoc16","Report16","onItemDelete","selectedDivisionManager","AuditList","getHashtagYear","decodeURIComponent","substring","getHashtag","renewFilter","getFilters","getItemsFromCache","handleSearchClear","filteredAuditScopes","filteredAuditReasons","filteredAuditCountries","filteredAuditProjectsAuditee","filteredAuditSubContractors","filteredAuditType","filteredMonth","filteredTarget","filteredStatus","filteredPlanStatus","filteredAuditRemote","filteredWorkSites","filteredPlanCompiler","filteredPurchaseOrder","filteredApprover","filteredManager","filteredCompiler","refreshData","lastFilter","filteredYear","itemsObj","onDelete","filteredCode","filteredTab","filteredDivision","filteredFindingCode","filteredProjectAuditCode","filteredProjectFindingCode","filteredSection","filteredAuditor","filteredDivisionAuditor","filteredCompanyAuditor","filteredProjectAuditor","targert","companies","userDivision","onAuditTypeFilter","remote","onAuditScopeFilter","onAuditReasonFilter","onAuditCountryFilter","onAuditProjectAuditeeFilter","onAuditSubContractorFilter","purchaseOrder","onDivisionManagerFilter","manager","divisionAuditor","companyAuditor","projectAuditor","newAuditAdded","modalAuditVisible","auditUpdated","auditPlan","showAddAudit","showEditAudit","onDivisionTabSelected","onYearChange","auditToModify","allYearFilteredItems","originalItems","yearsArray","monthsCount","yearsList","Dropdown","onEditAudit","onStatusChange","CAROwnerManualInputModal","genericOwnerTemplate","AuditCARModal","auditCARModel","idGenericOwner","genericOwner","findingsCode","findingsLevel1","findingsLevel2","findingsLevel3","findingsLevel4","inefficiency","referenceDocuments","carType","getLevel","levels","appTypes","lv","l","appACTList2","getNCClassificationTypesByParent","appACTList3","appACTList4","setGenericOwner","appACTList1","renderCAR","nccList1","nccList2","nccList3","nccList4","idLevel1","idLevel2","idLevel3","dueDateIsValid","AuditCARList","idAuditEdit","isNewCarManagement","newMng","auditEditModel","isLoadingFindingFile","isOpenModalUploadTemplate","auditModel","postBackUrl","auditCARCode","downloadCARTemplate","uploadCARTemplate","isImportfunction","isImportCAR","importDanger","nome","toggleModalUploadTemplate","isImportHC","__filename","renderUploadModal","divMessaggImportHC","itemCa","canSubmitCAR","canSubmitFinding","causeOfInefficiency","canOpenFinding","canCloseFinding","explain","canCompleteFinding","getUrlDetailCar","getUrlExportCar","setCarType","getCloseCaValue","carItem","selectableAnswer","findingName","recommendedAction","buttonTextSFI","ariaLabel","triggerHref","Export16","AuditCAModal","immediateTreatmentNC","isAdequate","evidencesAttached","checkEffectiveness","dateCheck","isCorrectiveActionsSuitable","validatorReminder","appCorrectiveActionsSuitable","immediateThreatmentNC","validationsReminder","editEffectiveness","AuditCAList","addCountItems","auditCA","IdEmployer","BadgeNumber","Id","backendBaseUrl","updatePagination","AuditFindingCADetail","CAModel","showCADefinition","showCASolution","validationsSolution","isDisabledCAManagement","idFinding","onUploadFile","validationsEffectiveness","AuditCARDetail","setPreviousCAItem","previousCAItem","isSavePendingBeforeSubmit","updateCar","caModel","updateStateCarCA","getBackUrl","isNotSFISTR","leadAuditorResource","validatorSolutions","saveNewMng","validatorEffectiveness","onDeleteFileCA","onUploadFileCA","statusAuditReport","validationsCA","validationCASolution","validationsEffectivenessCA","FindingCADetailProps","AuditCADetail","auditCACode","emailCompilerAuditReport","Profile","getUserEdit","profile","getModules","allModules","isLoadModules","divRole","firstrole","columnCount","filterRole","divGeneralSkeleton","divGeneralInfoProfile","divModuleSkeleton","divModules","divTableSkeleton","divTableRole","getModule","multiline","isExternal","Functions","fetchYears","fetchDivisionWorkSiteProject","updateCachedInspection","updateCachedInspectionList","idInspection","inspectionReport","inspectionCode","inspectionCAR","getInspectionType","updateInspectionFilter","updateInspectionCalendarFilter","InspectionRepository","getBackPagedCalendar","InspectionCARDetail","validationsCar","correctiveAction","idInspectionEdit","updateActualCompletitionDate","completationDate","onCauseofInefficiencyChange","onCorrectiveActionChange","onImmediateTreatmentChange","immediateTreatment","validationCar","inspectionCARCode","cARSimplifiedName","requirement","carSimplifiedName","detailsOfInefficiency","Save16","Notification","getNotifications","notifications","deletenotification","isDeleted","isOpenNotification","getColorModule","moduleName","isOpen","LoadNotification","NoRecordsNotification","originatingUser","BoxProfile","logout","isUser","hiddenBox","getCachedWorkSiteProject","HocCardRepository","updateCachedList","dataList","updateCachedDetail","getWorkSiteProject","updateHocCardFilter","updateCachedTraining","updateCachedTrainingList","TrainingRepository","fetchTraining","updateCachedDrill","updateCachedDrillList","plannedYear","idDrillReport","drillCheckListRequirementAnswers","idDrillCheckListRequirementAnswer","idDrillCar","drillCAR","drillReport","drillCode","drillReportCode","getCachedDrillList","drills","updateDrillFilter","updateDrillCalendarFilter","DrillRepository","updateReportDrillFilter","updateReportDrillCalendarFilter","getReportBackPaged","getBackReportPagedCalendar","Head","infoMsg","warnMsg","errMsg","sucMsg","queueLength","offlineQueue","synching","minRetriesLeft","totalQueueSizeKB","renderFetchModal","modalFetchDataVisible","modalFetchData","handleConfirmFetchData","showProfile","toggleNavbar","auditRepository","collapsed","userAccount","isSideNavigationExpanded","isOpenProfile","onClickSideNavExpand","onGoOnline","getUserRole","context","flushQueue","account","Header","HeaderGlobalAction","isActive","HeaderName","src","HeaderGlobalBar","SideNav","expanded","defaultExpanded","SideNavItems","SideNavMenuItem","isSideNavExpanded","contextType","Unauthorized","WrappedComponent","Scope","Value","IsPage","ReportSummaryList","handleFilterChange","newState","showDivFilter","isOpenFilter","divFiterAudit","workSiteOptions","companyOptions","projectOptions","divisionOptions","countryOptions","subDivisionOptions","activityOptions","getReportSummaries","getPagedWithfilter","getFilterOptions","Activity","getWorkSiteProjectQrCodeUrl","getWorkSiteProjectQrCodeFileName","workSite","onQrCodeDownloadError","isLoadingQrCodeFile","yearsOptions","activity","FolderDetail16","ChangeCompilerModal","ConfirmCompilerModal","ReportSummary","handleApprovalStartDateChange","validateApproval","approvalValidationEnabled","handleApprovalEndDateChange","handleCloseChangeCompilerModal","isChangeRequestModalOpen","clearChangeCompilerForm","handleCloseConfirmCompilerModal","isConfirmRequestModalOpen","handleConfirmCompilerModal","getReportSummary","handleChangeCompilerModal","handleYearSelect","handleMonthSelect","handleTrimesterSelect","validateIntervalCoverage","reports","report","interleavedReports","reportEnd","add","valueOf","latestInterleavedReport","isValidationEnabled","selectedReportIds","reportsFiltered","sortedObj","fk","sortedArr","minDate","maxDate","validationDate","d1","getUTCFullYear","getUTCMonth","setMinutes","getTimezoneOffset","showDivInfo","isOpenInfo","showDivInfoDetail","isOpenInfoDetail","toggleDivCreateReport","isReportFormOpen","clearNewReportForm","divFormReport","disciplineOptions","handleDisciplineChange","newReportStart","handleStartDateChange","newReportEnd","handleEndDateChange","handleCreateReport","isCreateButtonDisabled","newReportDiscipline","newReportDisciplineName","validationmessages","monthOffset","getYearQuarter","newReport","idReportDiscipline","idReportSummary","summary","compiledBy","codeFilter","getDisciplineOptions","confirmChangeCompilerRequest","changesRequests","requestComplete","isRequestChangeCompilerPending","isReportCompiler","getReport","compilerFilter","dataApproverFilter","divisionManagerFilter","divFiterReport","buildFilter","filtered","reportCode","overallProjectWorkedManhours","overallWorksiteWorkedManhours","prjActivityWorkedManhours","selectableReport","selectableDiscipline","divInfo","confirmCompilerActionClick","UserAdmin16","changeCompilerActionClick","Collaborate16","WarningModal","Safety","sortEmployers","nameA","nameB","toggleEmployerModal","isSubContractorsDropdownVisible","isEmployerModalOpen","isEmployerSelected","showSearchSubC","selectNoSubcontractor","onSubContractorSelected","isCreateSafetyDataDisabled","handleCreateSafetyData","subContractorsSelected","safetyDataList","precompiledFields","geq","geqValidator","selectedSafetyData","subContractorOptions","newSafetyDataEntries","refresh","isLoadingReport","deleteReportSafetyData","reportSafetyData","getSubContractors","getInfoOriginators","infoOriginators","valueToRemove","selectedPersonell","itemToRemoveIndex","handleSafetyDataChange","onInputChange","field","safetyDataIndex","newSafetyData","updateInvalidFormsList","messagesShown","invalidEmployerForms","getEmployerName","handleConfirmSubmit","isWarningModalOpen","toggleWarningModal","submitImmediate","fillEmptyFields","reportDataList","safetyDataModel","laggingIndicatorFormModel","leadingIndicatorFormModel","fieldRef","isLoadingSubmitted","sd","renderIndicatorForm","formModel","precompiled","renderTabs","renderSubContractorItem","validationCode","confirmDelProps","InlineLoading","divModal","EnergyAccountLeasedAssetModal","onUpdateInputChange","nameLeasedAssetValidation","leasedAssetRows","leasedAssetHeaders","round","leasedAssetMatrix","onRowColInputChange","leasedAssetValidations","grandTotal","leasedAssetInformativeRows","leasedAssetInformativeHeaders","EnergyAccountLeasedAssetList","keyModalLeasedAsset","editModelLeasedAsset","isEditModalLeasedAsset","isOpenModalLeasedAsset","leasedAssetList","getListLeasedAssetReportDataFromReport","updateListLeasedAssetReportData","idReportEnvironment","onSaveModalLeasedAsset","toggleModalLeasedAsset","addLeasedAsset","initializeLeasedAsset","leasedAssetData","buildTwoLevelStructure","leasedAssetSchema","leasedAsset","informativeonly","getItem","editModalLeasedAsset","col","newRow","newStateEntry","leasedAssetMatrixDestructure","destructureLeasedAssetMatrix","confirmDeleteLeasedAssetReportData","onCloseDeleteConfirm","deleteItemLeasedAssetReportData","req","containsEmptyFields","key1","key2","idLeasedAssetReportData","total","unit","LeasedAssetModalProps","getNameLeasedAssetReportDataById","Enviroment","Info16","init","buildThreeLevelStructure","subCols","getEnvironmentReport","waterBySource","waterDischarged","waterReused","hazardousWaste","nonHazardousWaste","energyBySource","energyAccounting","oilSpill","chemicalSpill","wasteMonetization","idWaterSourceType","idWaterUsageType","valueM3","idWaterDischargeType","idWaterDischargeTreatment","idWasteType","idWasteTreatment","m3","valueT","idSpillValueRange","idSpillDestination","valueN","idWasteMonetization","euro","valueEuro","onSimpleInputChange","onReportNotesChange","handleRadioChange","onAutoConvertingInputChange","density","conversionCoefficient","targetUnit","onRowColSubcolInputChange","subcol","renderWaterBySourceTab","waterBySourceHeaders","waterBySourceRows","renderWaterDischargedReusedTab","waterDischargedHeaders","waterDischargedRows","grandTotalDischarged","waterDischargedSubHeaders","flat","waterReusedHeaders","waterReusedRows","grandTotalReused","waterDischargedValidations","waterReusedValidations","Fragment","renderHazardousWasteTab","wasteHazHeaders","wasteHazRows","units","wasteHazSubHeaders","hazardousWasteValidations","u","renderNonHazardousWasteTab","wasteNonHazHeaders","wasteNonHazRows","wasteNonHazSubHeaders","nonHazardousWasteValidations","renderWasteMonetizationTab","wasteMonetizationHeaders","hWasteMonetizationRows","idWasteHazardousType","nhWasteMonetizationRows","hWasteMonetizationSubHeaders","nhWasteMonetizationSubHeaders","wasteMonetizationValidations","renderEnergyBySourceTab","energyBySourceHeaders","energyBySourceRows","energyBySourceInformativeHeaders","energyBySourceInformativeRows","energyAccountingValidations","renderOilSpillTab","oilSpillHeaders","idSpillType","oilSpillRows","oilSpillSubHeaders","totals","secondaryTableHeaders","existentOfOilResponsePlan","oilSpillValidations","renderChemicalSpillTab","chemicalSpillHeaders","chemicalSpillRows","chemicalSpillSubHeaders","chemicalSpillValidations","isInvalid","destructureWaterData","destructureThreeLevelsData","destructureWasteData","destructureWasteMonetizationData","destructureEnergyData","destructureSpillData","standaloneFields","dto","stateDivForm","key3","AssetIntegrity","updateInvalidProperties","invalidProperties","oldAssetIntegrity","assetIntegrityFormModel","HocCard","completionStatusList","hocCardModel","hocCardCAR","nameEmployer","selectEmployer","hoCardProps","idHocType","idHazardType","idHocPriority","idInfoOriginator","immediateActions","additionalInfo","userReportedBy","idHocCardCar","localId","nameEmp","xCar","hocHandledByMe","hocCarAssignedToMe","idHocCardSource","completionStatus","clearTemplate","isOpenModalExportTemplate","validatorworksite","updateStateCAR","handleChangeComboStatusModel","IsStatus","handleChangeComboBool","handleChangeHocCardSourceFilter","handleChangeCompletionStatusFilter","handleChangeComboOwner","handleChangeComboCarOwner","handleChangeComboStatus","handleChangeComboWorksite","getProjectbyWorkSite","handleChangeComboSearchWorkSite","updateStateDPCAR","handleChangeModelCar","handleChangeWorksite","getHocType","hoctype","isLoadingHocType","getHazardType","hazardtype","isLoadingHazardType","getHocPriority","hocpriority","isLoadingHocPriprity","getLSR","lifesavingrule","isLoadingLifeSavingRule","getInfoOriginator","infooriginator","isLoadingInfoOriginator","getAllProject","allProject","getHocCardSources","isLoadingHocCardSources","hocCardSources","getHocCardsYears","toggleModalExportTemplate","getTemplateExcelForEdit","isExportfunction","revokeObjectURL","toggleModalUploadEditTemplate","isOpenModalUploadEditTemplate","isImportEditHC","uploadHocTemplate","isImportHoc","getHocCard","uploadHocEditTemplate","isImportEditfunction","isImportEditHoc","hazardType","reportBy","hocType","isCar","isOpneNewHoc","clearFilter","isOpenFilterHoc","isLoadingElement","selectEmployer2","isStatus","hocHandledByMeOptions","hocCarAssignedToMeOptions","carValidator","downloadHocTemplate","showNewHocCard","showEditModal","ele","xCarValue","statusValue","hocHandledByMeValue","hocCarAssignedToMeValue","Import16","divFiterHocCard","SortIcon","isOrderDescending","defaultOrderBy","orderByField","TrainingList","getTrainingList","courseCode","getTrainingListFilter","getTrainingYears","trainingYear","isLoadingYear","stato","getTraining","handleChangeDropDownYear","handleChangeMonth","handleOrderByChange","selectableTraining","trainingItem","rowsTrainings","trainingCentre","trainingCenter","fileDownLoadButtonProps","InspectionTypeComboBox","idInspectionSection","InspectionSectionComboBox","InspectionWeekHeader","numberweekstart","numberweek","numberweekend","InspectionWeekBody","draft","statusDraft","approved","statusApproved","statusSubmitted","planned","statusPlanned","isDrill","submitted","InspectionMonthHeader","calendar","formonth","monthsSelected","monthsNumber","onSelectMonth","weeksList","week","weekNumber","weeksSelected","onSelectWeek","startWeek","endWeek","keyweek","CalendarSkeleton","inspectionName","inspectionType","idMonths","AsyncFilterContainer","onMount","check","typeEXT","Inspection","inpsectionProps","idInspectionType","inspectors","plannedWeek","projectArea","onlyExt","notExt","emailCompiler","emailDataApprover","emailDivisionManager","idStatusReport","plannedWeeks","monthNumbers","clearModalInspection","inspectionModel","isOpenModalInspection","emailChipsKey","CBChipsKey","getAllDivision","needToChange","getInspections","inputValueName","getInspectors","onChangeInspector","handleChangeComboForFilter","inspectionSection","handleChangeComboDate","getWeekYears","handleApproveReportCheck","inspector","onSelectInspectionTypeChange","handleChangeComboDateWeek","filterByWeek","isfilterByWeek","filterByMonths","getInspectorsWS","isLoadingInspectors","insepctorUser","worksitesFilter","getAllProjectsForWorksite","projectsFilter","getAllProjects","getYears","setLoading","isFinally","isLoadingCalendar","back","stateFilter","weeks","weekInt","monthInt","calendarfilter","fourMonthsList","getInspectionsFilter","insertNewInspection","IdSection","inspectionPlannedWeeks","quantity","isRowOfExtInspection","inspections","getInspection","getCompilerRow","ins","getCompiler","getInspectionReport","getCanEditResource","isLoadingWeeksItems","isLoadingInspectionType","isOpenCalendar","isOpenModalInspectiondetail","weeksItems","appAllInspectors","inspecionType","getInspectionSection","showDivModaleInspection","showDivModaleInspectionDetail","toogleCalendar","weeksInYear","startOf","endOf","listWeek","yearNow","weekNum","weekStart","weekFinish","weekNow","isoWeek","inpsectionId","yearsNew","isLoadingInspectionSection","listOfWeeks","listOfYears","YearList","listWorksite","getWorksiteFiltered","listProject","getWorksitePrjFiltered","listInspectors","getInspectorFiltered","modalTitle","Close20","canSelectReporting","canSelect","selectableInspection","selectableStateReporting","inspectionHeader","weeekPeriod","getWeekPeriod","statusReport","Calendar16","divFilter","modalNewInspection","getInspectionCode","getInspectionReportCode","getInspectionEdit","InspectionInformation","updateMainInformation","inspectionInfo","renderMainInformationTitle","tabsLoading","SkeletonText","checkstartDate","onStartDateChange","onDateChange","isProjectAreaDisabled","editingDisabledCheck","validationsL","startdate","enddate","mainInformationOpened","onHeadingClick","onMainInformationAccordionClick","Tile","onProjectAreaChange","InspectionNotification","notificaFormProps","inspectionNotificationFormProp","responsibleEmail","inspectionNotificationFormDocumentProps","inspectionReportActivityProps","saveNotificationForm","inspectionNotificationFormModel","validationsNotifications","sendNotification","updateDistributionList","handleChangeModelNotificationForm","handleChangeModelActivity","handleChangeModelDocuments","addActivities","validationsActivity","inspectionReportActivityModel","activities","addActivity","showModalActivity","deletedeleteActivities","deleteActivity","updateActivity","copy","addDocuments","validationsDocuments","inspectionNotificationFormDocumentModel","documents","addDocument","showModalDocument","updateDocuments","deleteDocuments","deleteDocument","isOpenModalActivity","isOpenModalDocuments","onActivityDateChange","diffFromTo","timeEnd","timeStart","diff","minutes","asMinutes","hours","asHours","messages","diffTIme","isUpdateDocument","headersDoc","activirty","dateA","dateB","hA","hB","setHours","activitymodal","maininformation","newActivity","newDocuments","isDisabledSave","Email16","isDisabledSendButton","Entity","InspectionPersonnel","setSaipemUser","inspectedInspectorModal","addinspectedsSaipem","addInspectorSaipem","newSaipemUser","inspectorS","inspectorsNoSaipem","showUserModal","inspectedS","inspecteds","inspectedNoSaipem","inspectedsSaipem","getUser","isOpenUserModalInspector","getInspectorsFilteredByWs","onChangeSaipemUser","savePersonnel","inspectorsGHRS","plan","loadInspectionInspector","deleteInspector","saipemInspector","inspectorselect","isGhrs","inspectorGHRS","inspectorNS","modalInspectorsDeleteVisible","deleteInspecteds","InspectedsGHRS","inspected","inspectedselect","inspectedNS","modalInspectedsDeleteVisible","lisInspectors","renderDeleteInspectedsModal","handleDeleteInspectedsModal","renderDeleteInspectorModal","closeModalDeleteInspector","setInspectedEmployer","setInspectorEmployer","oldInspectionDocument","newinspectioDocument","employermodel","isOpenModalGHRS","addManualInspectorInspected","noSaipemModel","isInspected","newPerson","IdInspection","isOpenManualInput","openInspectedInspectorModal","entityType","handleManualInputChangeModel","renderModal","onCloseModal","renderManualInputModal","validateEmail","renderInspecteds","renderInspector","handleDeleteInspectorModal","disabledSavePersonnel","inspectorModel","inspectionInspectors","loadInspectionInspected","inspectedModel","inspectedNew","isLoadingInspected","inspectionInspecteds","modalNewInspectedsVisible","showUserModalInspector","getInspectorsInspection","getInspectedsInspection","handleChangeGHRSModal","closeAccordion","inspectorsws","selectedUser","modalNewInspector","CheckListQuestionAnswer","questionCode","isCustom","onUpdateCustomRequirement","onDeleteCustomRequirement","onAnswerChange","onNoteChange","note","CheckListRequirement","isUpdating","saveRequirement","updateRequirement","idCheckListAnswer","newCheckListAnswer","idRequirement","newRequirement","idInspectionCheckList","CheckList","idInspectionCheckListTemplateSection","idInspectionCheckListTemplate","Template","template","onCodeTextChange","onQuestionTextChange","Requirement","InspectionDistribution","sendDistribution","subject","InspectionReport","carModelProps","carOwner","ownerModelprops","ownerModel","carModel","showModalCar","sectionCode","inspectionkey","idInspectionReport","isOpenModalCar","showModalUpdateCar","saveCar","isSaveCar","qa","closemodalCar","inspectionCar","showGHRS","updateStateActivity","updateStateInspectors","updateCheckList","showRequirment","isLoadtemplate","getTemplate","toggleActiveTemplateQuestions","idCheckListTemplate","updatedAnswer","copyOfInspection","idTemplate","ranking","getQuestionAnswer","reA","reN","aA","bA","aN","bN","getRequirementAnswer","inspectionReportModel","mainInfoDateChange","notifKey","mainInfoProjectAreaChange","notificationform","isSaveNotifiication","sendedBy","isDisabledSend","documentsList","oldInspectionActivitys","newinspectioActivity","activitiesList","inspectorList","updateConsideration","downloading","fileA","getAttachmentUrl","getAttachmentName","getAttachmentAnswerUrl","idAnswerAttachment","getAttachmentAnswerName","downloadAttachmentAnswer","showAddRequirement","modalAddRequirementVisible","addRequirementTemplate","addRequirementSection","showModifyRequirement","modalUpdateRequirementVisible","requirementToModify","checkListRequirementToModify","checkListRequirementUpdated","newCheckListRequirementAdded","handleRequirementDeleteCancel","modalDeleteRequirementVisible","requirementToDelete","handleRequirementDelete","isDeletingReq","renderRequirementDeleteModal","idAnswerToDelete","onDeleteCar","inspectionKey","showModalAttachment","isOpenModalAttachment","closeModalAttachment","modalCar","modalAttachment","updateDocument","inspectionsinspector","idPlan","getCar","Attachment16","showDeleteRequirement","onReportSummaryChange","onAdditionalNoteChange","onDeleteAttachment","isSendNotifications","onUploadAnswer","onDetailsOfInefficiencyChange","newAttach","attach","idInspectionCheckListAnswer","fileBytes","onDeleteAttachmentAnswer","inspectionItem","InspectionCarList","handleCarDeleteCancel","getCarList","confirmDeleteCar","deleteCAR","carList","inspectionCarModel","getIsEditable","isLoadCar","idanswer","updateCAR","Support","validationAnswer","idAuditCheckList","idAuditCheckListTemplateSection","idAuditCheckListTemplate","allItems","Personnel","auditees","newAuditees","selectedAuditees","onAuditeesAdd","modalNewAuditeesVisible","modeAuditees","renderAuditees","handleChangeModeAuditees","renderDeleteAuditorModal","modalAuditorDeleteVisible","handleDeleteAuditorModal","onAuditorsDeleteConfirm","renderDeleteAuditeesModal","modalAuditeesDeleteVisible","handleDeleteAuditeesModal","onAuditeesDeleteConfirm","renderNewAuditorModal","modalNewAuditorVisible","CloseAuditorModal","onAuditorsChange","modelNoSaipem","onAuditorsGHRSConfirm","onAuditorsChangeConfirm","renderNewAuditeesModal","CloseAuditeeModal","modelAuditeesNoSaipem","onAuditeesChangeConfirm","renderAuditors","validatorAuditors","validationsAuditors","handleNewAuditorModal","onAuditorsDelete","validatorAuditees","validationsAuditee","handleNewAuditeesModal","onAuditeesDelete","modelAuditees","onAuditeesChange","handleChangeGHRSModalOpen","onAuditorAdd","onAuditorDelete","AuditWorkSiteComboBox","AuditImgSignature","auditNotification","signatureAttachment","AuditModalSignature","updateSignature","flagSignature","clearImage","showCanvas","saveableCanvas","clear","saveImage","canvas","canvasContainer","isCanvasBlank","toDataURL","fileAsBlob","base64toBlob","blobAsFile","File","canvasDraw","loadTimeOffset","lazyRadius","brushRadius","brushColor","catenaryColor","gridColor","hideGrid","canvasWidth","canvasHeight","imgSrc","saveData","immediateLoading","hideInterface","Erase16","base64Data","byteCharacters","atob","bytesLength","slicesCount","byteArrays","sliceIndex","begin","offset","charCodeAt","Uint8Array","getContext","getImageData","AuditNotificationForm","closeEditNotificationEmailModal","editNotificationEmailVisible","editNotificationEmailModal","modalSignatureProps","notificationData","canEdit","editNotificationEmail","onSend","showMessageFor","renderDeleteActivitiesModal","modalActivityDeleteVisible","handleDeleteActivityModal","onActivityDelete","renderDeleteRelatedDocumentModal","modalDeleteRelatedDocumentVisible","handleDeleteRelatedDocumentModal","onRelatedDocumentDelete","renderRelatedDocumentDetailModal","validationsModal","selectedDocument","modalRelatedDocumentDetailsVisible","handleRelatedDocumentModalVisibility","onDocumentNameChange","onSubmitRelatedDocument","renderNewActivityModal","selectedActivity","modalActivityDetailVisible","handleActivityDetailVisibility","onAuditorChanged","onWorkSiteChanged","onActivityChanged","onSubmitActivity","renderRelatedDocumentsDataTable","NotificationFormData","validateSend","onDistributionListModify","onResponsibleEmailModify","onTimeToChanged","onTimeFromChanged","onMailCCModify","onMailBodyModify","idNotificationForm","notact","setActivitiesData","savedOn","AuditReport","CanUserEdit","CanAuditorEdit","onAuditRemoteChange","onUploadReportSigned","selectedAttachment","reportAttachments","onDeleteAttachmentReportSigned","modalDeleteReportAttachmentVisible","deleteReportAttachment","handleDeleteReportAttachmentModalVisibility","renderDeleteReportAttachmentModal","ifManageReportAttachment","DownloadAuditZipAction","submitReportAction","orderResult","defaultTemplate","noDefaultTemplate","copyOfAudit","auditorsNoSaipem","auditeeNoSaipem","refreshAudit","deleteAttachment","handleDeleteAttachmentModalVisibility","renderDeleteAttachmentModal","modalDeleteAttachmentVisible","renderTitle","renderHeader","updateCachedAudit","updatePersonnel","checkActivityValidDate","validDate","activitiesData","activityDate","updateNotificationData","validationSend","sendNotificationData","notificationItem","uploadAnswerAttachment","openAt","validationDateSend","introduction","onIntroductionChange","checklistTemp","validationsAnswer","pathname","checklistTemplates","onEndDateChange","validationSendNotification","emailduplicate","emailduplicateNoSaipem","external","auditItem","imageFileExtensions","fileExtensions","HocCardAttachments","idHocCard","buttonClick","onAttachmentSync","Renew16","HocCardDetail","completionStatuses","hocCardProps","isLoadingWorksites","isLoadingHocTypes","hoctypes","isLoadingHazardTypes","hazardtypes","isLoadingHocPriorities","hocpriorities","isLoadingLifeSavingRules","lifesavingrules","isLoadingInfoOriginators","infooriginators","getHOCCARDForEdit","queryAttachmentAvailability","handleChangeComboCompletionStatusModel","stateModelCopy","handleChangeModal","openModal","hocCardId","backToMainSection","handleCancel","oldAttachments","newAttachments","setAttachmentStatus","att","attachmentItem","checkAttachmentAvailability","openDeleteHocCardConfirmModal","renderMainForm","idDisableStatus","isDisable","projectIsDisable","HocCreated","carEmployer","carDescription","carDueDate","emailCarOwnerGHRS","idCarOwnerSaipem","emailCarOwnerGeneric","filteredInfoOriginators","hocCardSource","handleTextAreaChange","stopWorkAuthority","fiveStars","hocCardHeader","Combo","retriveItems","retrivedItems","dropUp","WeekSelectorModifyModal","modalVisible","handleModalVisibility","onElementSubmitted","selectableItems","selectedQuantity","renderWeek","useState","amount","setAmount","currWeek","setCurrWeek","addButtonDisabled","setAddButtonDisabled","useEffect","sItem","selectedItemNew","onChangeTextInput","oldWeekNumber","oldQuantity","oldWeekStart","oldWeekFinish","WeekSelector","getKey","currentWeekNumber","addPlannedWeek","weekS","weekF","prevPlannedWeeks","prevWeeks","onSubmitPlannedWeekChange","idDrillPlannedWeekChangeType","handleModify","mWeeks","modifyingWeeks","modifyModalVisible","handleModifyPlannedWeek","prevItemIdx","diffQuantity","weekCurrent","isFull","setWeeks","weeksForYear","curState","EDrillDetails","getAllDrillType","appAllDrillType","getAllDrillTypeDT","isLoadingDrillTypeDT","appAllDrillTypeDT","getAllEmergencyLevel","isLoadingEmergencyLevel","appAllEmergencyLevel","getSelectedProjects","newEDrill","saveEDrill","itemtoSubmit","updateEDrill","editingPlannedDisabled","onDrillPlannedUpdate","deletedPlannedWeek","addedPlannedWeek","updatedPlannedWeek","newEDrillDTO","newDrillTypeDetail","drillPlannedWeeks","participant","drillProjects","IdDrill","IdProject","drillType","drillTypeDetail","frequency","drillEmergencyLevel","idParticipant","defaultGuid","idDrillType","idDrillTypeDetail","idFrequency","idEmergencyLevel","newEmergLevManagement","EDrill","drillModifiedPlannedWeekSets","listDrillTypeDetail","getDrillTypeDetailFiltered","drillPlannedWeek","prjs","initialWeeksSelected","plnW","plnWeek","prevWeek","ConfirmModal","contentMessage","confirmBtnText","fontSize","EDrillMultiSelectDataTable","toogleFilterModal","buildNoMonthFilter","filteredEDrills","handleCloseModifiedPlannedWeekApprovalModal","isModifiedPlannedWeekApprovalModalOpen","modifiedPlannedWeekApprovalModalMessage","onWaitingSubmit","handleConfirmModifiedPlannedWeekApprovalModal","Ids","eDrills","getEDrill","getEDrillor","eDrillors","getEDrillReport","getIsInReport","isInReport","getIsModificationWeeksDataApprover","canViewReports","applyFilters","textInput","selectableEDrill","eDrillId","eDrillCode","onBatchClick","DownloadEDrillNotification","DownloadEDrillReport","onEditEDrill","paginationInfo","DrillFilterModal","appAllProjects","isLoadingDrillType","handleSearch","handleClose","handleChangeCode","compilerEmail","dataApproverEmail","drillerEmail","listProjects","getProjectFiltered","EDrillPlanModificationModal","onShow","plannedWeekToDelete","onUpdateReasonForChange","plannedWeekToUpdate","toUpdate","plannedWeekToAdd","toAdd","EDrillWorkSiteAttachmentModal","onCloseWorkSiteAttachmentModal","selectedWorksite","showWorkSiteAttachmentModal","initialWorksiteAttachment","setModalDeleteAttachmentVisible","selectedDeleteAttachment","setSelectedDeleteAttachment","downloadingItemId","setDownlodingItemId","worksiteAttachments","setWorksiteAttachements","setSubmitted","showDeleteAttachmentModal","EDLegendBox","legendCode","version","SvgClassName","cx","cy","text-anchor","font-size","font-family","dy","Text","EDLegendTable","arrLegend","LegendType","RED_PLAN","ORANGE_PLAN","GREEN_PLAN","RED_REPORT","ORANGE_REPORT","GREEN_REPORT","EmergencyDrillList","modifiedPlannedWeekSet","itemsA","itemA","itemsU","itemU","itemsD","itemD","getModifiedPlannedWeekSetCompiler","func","isLoadingModifiedPlannedWeekSetCompiler","getApprovers","getCalendar","selectYear","getDPWorksites","smRefYear","smCalRefYear","calendarInfo","isLoadingDPWorksites","dpWorksites","getDPProjects","isLoadingDPProjects","dpProjects","toggleIsSubmitted","toggleWorksiteModal","isWorksiteModalOpen","toggleDownloadAnnualReportModal","isDownloadAnnualReportOpen","closeWorksiteModal","closeDownloadAnnualReportModal","selectedDPWorksite","selectedDPProject","onConfirmWorksiteModal","getWorkSiteAttachment","toggleEDrillWorkSiteAttachmentModal","onConfirmDownloadAnnualDrillPlanModal","DownloadAnnualDrillPlan","isBackVar","toFilter","isLoadingTable","entityInfo","IdCompany","IdDivision","IdWorkSite","IdDrillType","IdDrillTypeDetail","DistributionList","PlannedYear","IdFrequency","IdParticipant","CompilerEmail","DataApproverEmail","DrillerEmail","IdStatus","ReferenceYear","PlannedWeeks","MonthNumbers","NeedToChange","Weeks","Months","getDrillListFilter","searchDrills","currentSearchModal","infoFilter","cancelFilters","closeFilters","filteredItems","checkItem","apply","showEditEDrillWarning","warningMessage","eDrillToModify","handleConfirmWarningModal","modalEDrillVisible","handleChangeDPWorksite","handleChangeDPProject","renderWorksiteSelectionModal","renderDownloadAnnualDrillPlanModal","selectedDPItemCombo","isLoadingDPWorksite","isEDrillWorkSiteAttachmentModalOpen","renderEDrillWorkSiteAttachmentModal","isDownloadingAnnualDrillPlanFile","showAddEDrill","showEditEDrill","newEDrillAdded","eDrillUpdated","eDrillPlannedUpdated","onCancelEDrillPlannedModification","onSaveEDrillPlannedModification","idEDrill","modalEDrillPlanModificationVisible","currentModifiedPlannedWeekSetCompiler","modifiedPlannedWeekSetData","idDrillPlan","drillModifiedPlannedWeeks","eDrillPlan","reqUrl","filterToCache","eDrillToEdit","changedPlannedWeek","checkBack","onNewEDrill","onStatusChanged","onSelectEDrillTypeChange","getCompilerById","isInPlannedWeek","prop","prototype","allYearEDrills","itemToSubmit","drillReportId","DrillReportFilterModal","getEmergencyLevels","dateOfOccurence","divisionManagerEmail","DrillReportInformation","drillPlanPrjs","idSelected","idProjectSelected","drillReportProjects","IdDrillReport","IdDrillPlan","deliveryDate","is4ASingleReport","isProjectsLoaded","prevProps","drillPlan","selectionFeedback","isSendedNotification","plannedWeekWithDate","DrillReportList","getDrillReportFilter","DrillReport","showAddDrillReport","showEditDrillReport","newDrillReportAdded","modalDrillReportVisible","onNewDrillReport","onEditDrillReport","Timeline","timelineHeader","dataRows","timelineTblTitle","validationTimelines","handleNewElementModal","handleDeleteElementModal","NewElementTimelineModal","modalNewElementVisible","selectedTimeline","onSubmitElementTimeline","timelineActive","setTimelineActive","setFlagTime","useRef","validationModal","activityDescription","timeFrom","onFormCancel","getErrorMessages","remarks","onRemarksChanged","DeleteElementTimelineModal","confirmationMessage","handleDeleteModal","onElementDelete","DrillReportDetail","updateStateInvolved","getFilterUnitsInvolved","unitsInvolved","filterunitsInvolved","getRadioButtonLight","lightCondition","onreadystatechangeL","getRadioButtonSea","seaCondition","onreadystatechangeS","getRadioButtonWeather","weatherCondition","onreadystatechangeW","idLightCondition","idSeaCondition","weather","idWeatherCondition","renderTab","ui","lcuReference","isLcuReferenceMandatory","scenarioDescription","referenceProcedure","overallAssessmentNotes","equipmentUsed","isSatisfactory","needsToRepeat","timelines","unitinv","TempScale","temperatureScale","timelinesSorted","DRILLEMERGENCYLEVEL","emergencylevel","StrictMode","handleNewElementTimelineVisibility","handleDeleteElementTimelineVisibility","modalNewElementTimelineVisible","selectedElementTimeline","onElementTimelineSubmit","modalDeleteElementTimelineVisible","onElementTimelineDelete","UNITSINVOLVED","poB_BOS","color","genNotesStrengthPoints","pointsOfStrength","flagItemsUI","updateParent1","drillRep","filterUnitsInv","filterUnitsInvId","updatedTimeline","idDrillReports","timeline","DrillPersonnel","renderDeletePeopleModal","modalPersonDeleteVisible","handleDeletePersonModal","onPersonDelete","renderNewPersonModal","selectedPerson","modalPersonDetailVisible","handlePersonDetailVisibility","onPersonChanged","onSubmitPerson","people","person","idDrillChecklistTemplate","DrillReportSummary","drillCARCode","findingDescription","identifiedCorrectiveAction","drillCheckListRequirementAnswer","updateAnswers","idDrillCheckListTemplate","drillCheckListTemplate","copyOfDrillReport","downloadAnswerAttachment","getNewCAR","newCar","drillCarCode","drillCar","requirementCode","getCarOwnerMail","getCarOwnerFullName","showModifyRequirementTemplate","templateId","checkListRequirementToModifyTemplate","requirementDelete","getRequirementAnswerTemplate","renderContent","idQuestion","onFindingDescriptionChange","dclra","deleteAnswerAttachment","deliveryDat","DrillNotificationForm","DrillReportSignedAttachment","deleteSignedAttachment","signedAttachmentsArray","signedAttachments","setSignedAttachements","getDrillReport","DRILLREPORT","isLoadingDrillReport","getWeatherConditions","validation","drillNotificationForm","validationDeliveryDate","reportEdited","newDrillReportDetails","onDownload","downloadSignedAttachment","signedAttachment","work","onUploadAttachment","onUploadSignedAttachment","signedAttachement","statusText","DrillCARDetail","emailOwner","getUrlBack","DrillCarList","drillKey","drillCarModel","getOwner","dataInput","headersArr","rowsArr","AnnualDrillPlanDownload","hver","ModalParticipant","initModalParticipant","idTraining","birthDate","validatorEmail","participantBadgeFound","participantMailFound","participantNameFound","participantPositionFound","ModalContent","initModalContent","handleChangeContent","titleAlert","ModalTrainer","initModalTrainer","organization","ImgSignature","ModalSignature","ModalSignatureParticipant","isAbsent","string","knowledgeAssessment","appKnowledgeAssessment","thereIsImage","NewTraining","initModel","certificateValidityMonths","validityDate","idLanguage","idMethod","idTrainingAssessmentMethod","specifyOtherAssessmentMethod","idTrainingData","remedialActionsForFailure","idTrainingCenter","idTrainer","trainer","trainingContents","trainingParticipant","certifiedDuration","language","trainingAssessmentMethod","downloadTemplateLoading","isImportTemplateModalOpen","checkValidHours","handleChangeCertificateValidityPeriod","str","rawValue","modelCopy","originalValidityDate","handleChangeDate","returnValidTrainingData","selectedStartDate","getTrainingData","appTrainingData","getTrainingLanguage","appLanguage","getTrainingMethod","appMethod","getTrainingAssessmentMethod","appAssessmentMethod","getTrainingCenters","appTrainingCenters","saveTraining","validDuration","newtrainingParticipants","updateCacheTrainingModel","invalidCertifiedDuration","addContent","isOpenModalContent","idToEditContent","keyModalContent","editContent","handleSaveModalContent","oldtrainingContents","newtrainingContents","confirmDeleteContent","idToDeleteParticipant","idToDeleteTrainer","idToDeleteContent","deleteItemContent","addParticipant","isOpenModalParticipant","idToEditParticipant","keyModalParticipant","editParticipant","handleSaveModalParticipant","oldtrainingParticipants","confirmDeleteParticipant","deleteItemParticipant","editTrainer","isOpenModalTrainer","keyModalTrainer","handleSaveModalTrainer","confirmDeleteTrainer","deleteItemTrainer","editTrainerSign","isOpenModalTrainerSign","keyModalTrainerSign","handleSaveModalTrainerSign","editParticipantsSign","isOpenModalParticipantsSign","idToEditParticipantsSign","keyModalParticipantsSign","handleSaveModalParticipantsSign","showDownloadSingleCert","decimal","getTrainingParticipants","uploadTemplate","isImportTemplate","isLoadingTraining","gtzValidator","gtz","trainingParticipants","PaintBrushAlt16","CertificateCheck16","showOtherAssessment","modalContentProps","fromCharCode","modalParticipantProps","modalTrainerProps","modalParticipantsSignatureProps","fileDownLoadAllProps","showModalSignature","peopleLearnigCode","substr","renderParticipants","OnBehalfWorkSiteComboBox","ProcessMultiSelect","FunctionMultiSelect","lengthProcesses","processes","idAuditProcess","elA","elB","AuditSubcontractor","addSubcontractors","isExsist","auditSubContractor","auditSubcontractors","selectedSubContractor","idPurchaseOrder","subcontractors","refreshSubContractor","refreshPurchaseOrder","itemsId","addManualSubcontractors","isSAPExsist","handleOnCloseModal","localeCompare","idSubcontractor","handleOnChangeSubContractor","handleOnChangePurchaseOrder","isVisibleModal","handleOnOpenModal","minHeight","marginLeft","AuditProgram","onBehalfCompanyChange","onBehalfCompany","onBehalfProject","onBehalfDivisionChange","onBehalfDivision","onBehalfWorkSite","onBehalfWorkSiteChange","onBehalfProjectChange","onProjectAuditCodeChange","onSelectSubContractorsChange","onSelectProcessChange","onSelectFunctionChange","updateCachedAuditPlan","onBehalfIdCompany","onBehalfIdDivision","onBehalfIdWorkSite","onBehalfIdProject","auditScopeAndObjective","planAttachments","onAuditScopeObjectiveChange","editingPlanAttachmentDisabled","editingWorkSiteDisabled","renderForm","Layout","ReportSummaryDetail","App","settings","LayoutAuthorized","isLocalhost","hostname","registerValidSw","swUrl","registration","activeWorker","postMessage","appVer","onupdatefound","installingWorker","installing","onstatechange","controller","onSuccess","ex","ReactDOM","provider","forceLogin","basename","getElementById","publicUrl","origin","react_app_api_url","_config","REACT_APP_API_URL","URLSearchParams","env","fetch","unregister","reload","checkValidServiceWorker","registerServiceWorker"],"mappings":"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","file":"static/js/main.5369d9c3.chunk.js","sourcesContent":["import { MsalAuthProvider, LoginType } from 'react-aad-msal';\r\n\r\nconsole.log(process.env);\r\n\r\nconst config = {\r\n auth: {\r\n authority: process.env.REACT_APP_AD_AUTHORITY,\r\n clientId: process.env.REACT_APP_AD_CLIENT_ID,\r\n redirectUri: process.env.REACT_APP_AD_REDIRECT_URI,\r\n postLogoutRedirectUri: 'https://login.microsoftonline.com/common/oauth2/logout',\r\n },\r\n cache: {\r\n cacheLocation: 'localStorage',\r\n storeAuthStateInCookie: false,\r\n },\r\n};\r\nconst authenticationParameters = {\r\n scopes: [process.env.REACT_APP_AD_SCOPE_API],\r\n};\r\nexport const authProvider = new MsalAuthProvider(\r\n config,\r\n authenticationParameters,\r\n { loginType: LoginType.Redirect }\r\n);\r\nexport { authProvider as default };\r\n","import React, { Component } from 'react';\r\nimport Calendar32 from '@carbon/icons-react/lib/calendar/32';\r\nimport Thumbnail32 from '@carbon/icons-react/lib/thumbnail--2/32';\r\nimport Task32 from '@carbon/icons-react/lib/task/32';\r\nimport Help32 from '@carbon/icons-react/lib/help/32';\r\nimport { Link, } from 'react-router-dom'\r\n\r\nexport class Home extends Component {\r\n static displayName = Home.name;\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n

Daily Tasks

\r\n

My pending daily activities

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

Modules

\r\n

Incident, Audit, Report, HOC, Inspection Management, Emergency Drill, Training, Insight Data, Group Dashboard

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

Support

\r\n

Do you need help?

\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n );\r\n }\r\n}\r\n","function textFormat(r) {\r\n return `/${r}/`;\r\n}\r\n\r\nexport const feedback = {\r\n '200_POST': ' created successfully',\r\n '200_PUT': ' edited successfully',\r\n '200_DELETE': ' deleted successfully',\r\n '200_CLONE': ' cloned successfully',\r\n '200_UPLOAD': ' uploaded successfully',\r\n '200_Submit': ' submitted successfully',\r\n '200_Approve': ' approved successfully',\r\n '200_Consolidate': ' consolidated successfully',\r\n '200_RejectConsolidate': ' rejected consolidate successfully',\r\n '200_Reject': ' rejected successfully ',\r\n '200_Close': ' closed successfully',\r\n '200_Open': ' opened successfully',\r\n\r\n '400_ERROR': 'Entity data fields are invalid ',\r\n '401_ERROR': 'Authentication Failed',\r\n '403_ERROR': 'You are not authorized to perform this operation',\r\n '404_ERROR': 'Not exists ',\r\n '404_DELETE': 'An error occurred while deleting the entity ',\r\n '404_PUT': 'An error occurred while editing the entity ',\r\n '409_ERROR': 'User is already exists into database',\r\n\r\n '500_POST': 'Error while creating the ',\r\n '500_PUT': 'Error while editing the ',\r\n '500_DELETE': 'Error while deleting the ',\r\n '500_ERROR': 'An error occurred while retrieving ',\r\n '500_UPLOAD': 'An error occurred while uploading ',\r\n\r\n '501_POST': 'Error while creating the ',\r\n '501_GET': 'Error while retrieving the ',\r\n '501_PUT': 'Error while editing the ',\r\n '501_DELETE': 'Error while deleting the ',\r\n '501_ERROR': 'An error occurred while retrieving ',\r\n '501_UPLOAD': 'An error occurred while uploading ',\r\n '501_DOWNLOAD': 'An error occurred while downloading ',\r\n '503_GET': 'Something has gone wrong, cannot access to requested page. Seems you are offline and you never accessed this resource before, or you are offline and this resource is not available in offline mode',\r\n};\r\n\r\nexport const getError = (error, entity, operation) => {\r\n let result = null;\r\n if (error.response) {\r\n const { status } = error.response;\r\n const message = error.response.data || '';\r\n if (error.response.status === 400 && (operation === 'POST' || operation === 'PUT')) {\r\n result = `${feedback[`400_${operation}`] + entity} (${status})`;\r\n }\r\n if (error.response.status === 400 && !(operation === 'POST' || operation === 'PUT')) {\r\n result = `${feedback['400_ERROR']}(${status})`;\r\n }\r\n if (error.response.status === 404 && operation !== 'DELETE' && operation !== 'PUT') {\r\n result = `${feedback['404_ERROR'] + entity} (${status})`;\r\n }\r\n if (error.response.status === 404 && (operation === 'DELETE' || operation === 'PUT')) {\r\n result = error.response.data || `${feedback[`404_${operation}`]} (${status}) `;\r\n }\r\n if (error.response.status === 500) {\r\n result = `${feedback[`500_${operation}`] + entity} (${status})`;\r\n }\r\n if (error.response.status === 500 && operation !== 'PUT') {\r\n result = `${feedback['500_ERROR'] + entity} (${status})`;\r\n }\r\n if (error.response.status === 409) {\r\n result = `${feedback['409_ERROR']} (${status})`;\r\n }\r\n if (error.response.status === 403) {\r\n result = `${feedback['403_ERROR']} (${status})`;\r\n }\r\n if (error.response.status === 401) {\r\n result = `${feedback['401_ERROR']} (${status})`;\r\n }\r\n if (error.response.status === 501) {\r\n result = `${feedback[`501_${operation}`] + entity} (${status})`;\r\n }\r\n if (error.response.status === 500) {\r\n result = `${feedback[`500_${operation}`] + entity} (${status})`;\r\n }\r\n if (error.response.status === 409 && message === 'UniqueException') {\r\n result = `Duplicates are not allowed (${status})`;\r\n }\r\n if (error.response.status === 409 && operation === 'DELETE') {\r\n result = `Unable to delete ${entity} because associated with an entity (${status})`;\r\n }\r\n if (error.response.status === 501 && message === 'Wrong Approver') {\r\n result = `Wrong Approver (${status})`;\r\n }\r\n if (error.response.status === 503 && operation === 'GET') {\r\n result = `${feedback[`503_${operation}`]}`;\r\n }\r\n if (operation === 'DOWNLOAD') {\r\n result = `File operation error (${status})`;\r\n }\r\n if (error.response.status === 439) {\r\n result = message;\r\n }\r\n } else if (error.message) {\r\n result = error.message;\r\n } else {\r\n result = error;\r\n }\r\n \r\n return result;\r\n};\r\n\r\nexport const getSuccess = (entity, operation) => {\r\n let result = null;\r\n result = (entity === undefined ? '' : entity) + feedback[`200_${operation}`];\r\n return result;\r\n};\r\n\r\nexport const errors = {\r\n 401: 'Forbidden',\r\n};\r\n\r\nexport const entities = {\r\n TODO: 'todos',\r\n DYNAMIC_CRUD: 'admin',\r\n TASKS: 'tasks',\r\n HOCCARD: 'hoccard',\r\n ME: 'me',\r\n REGISTRY: 'registry',\r\n INCIDENT: 'incident',\r\n TRAINING: 'training',\r\n ACTIVITYLOG: 'activitylog',\r\n INSPECTION: 'inspection',\r\n DRILL: 'drill',\r\n AUDIT: 'audit',\r\n KPI: 'kpi',\r\n};\r\n\r\nexport const entitiesLabels = {\r\n EXPORTAUDITS: 'Audits Export',\r\n EXPORTFINDINGS: 'Findings Export',\r\n CARTEMPLATE: 'CAR Template',\r\n TRAININGPARTICIPANTTEMPLATE: 'Training Participant Template',\r\n HOCCARDTEMPLATE: 'HOC Template',\r\n HOCCARD: 'HOC',\r\n HOCCARDSOURCES: 'HOC Sources',\r\n HOCCARDSAVAILABLEYEARS: 'HOC filter available years',\r\n HOCCARD_ATTACHMENTS_AVAILABILITY: 'HOC Attachment Availability',\r\n WORKSITE: 'Worksite',\r\n HOCTYPE: 'Hoctype',\r\n HAZARDTYPE: 'Hazard Type',\r\n HOCPRIORITY: 'Hoc Priority',\r\n LIFESAVINGRULEVIOLATION: 'Life Saving Rule Violation',\r\n INFOORIGINATOR: 'HOC raised by',\r\n YEAR: 'Year',\r\n PROJECT: 'Project',\r\n USER: 'Users',\r\n APPMODULE: 'App Module',\r\n ROLE: 'Role',\r\n// DIVISION: 'Division',\r\n DIVISION: 'Business Line', //RITM0945977\r\n// MAINDIVISION: 'Main Division', //RITM0945977\r\n MAINDIVISION: 'Main Business Line',\r\n COUNTRY: 'Country',\r\n// SUBDIVISION: 'Sub Division', //RITM0945977\r\n SUBDIVISION: 'Sub-Business Line',\r\n COMPANY: 'Company',\r\n ACTIVITY: 'Activity',\r\n WORKSITEPROJECT: 'Worksite Project',\r\n WORKSITEPROJECT_QRCODE: 'Worksite Project QR Code',\r\n WORKSITEGROUP: 'WorkSite GROUP',\r\n STATUS: 'Status',\r\n INCIDENT: 'Incident',\r\n DOCUMENTS: 'Documents',\r\n INCIDENT_NOTIFICATION: 'Incident Notification',\r\n INCIDENT_REPORT: 'Incident Report',\r\n BODYPART: 'Body Part',\r\n INJURYCLASS: 'Injury Class',\r\n INJURYSOURCE: 'Injury Source',\r\n INJURYTYPE: 'Injury Type',\r\n CONTRACTTYPE: 'Contract Type',\r\n SHIFDURATION: 'Shif Duration',\r\n ACCIDENTSOURCE: 'Accident Source',\r\n SEVERITY: 'Severity',\r\n MEASUREUNIT: 'Measure Unit',\r\n WORKPROCESS: 'Work Process',\r\n PROBABILITY: 'Probability',\r\n WORKAREA: 'Work Area',\r\n EQUIPMENT: 'Equipment',\r\n ATTACHMENT: 'Attachment',\r\n INSPECTION: 'Inspection',\r\n INPSECTOR: 'Inspector',\r\n DIRECTCAUSE: 'Direct Cause ',\r\n DIRECTCAUSEDETAIL: 'Direct Cause Detail',\r\n ROOTCAUSE: 'Root Cause',\r\n ROOTCAUSEDETAIL: 'Root Cause Detail',\r\n ROOTCAUSESUBDETAIL: 'Root Cause Sub Detail',\r\n EMPLOYER: 'Employer',\r\n ENVIROMENT: 'Enviroment',\r\n REPORTSUMMARY: 'Report Summary',\r\n LEASEDASSET: 'Leased Asset',\r\n DISCIPLINE: 'Discipline',\r\n SUBCONTRACTOR: 'Sub Contractor',\r\n REPORT: 'Report',\r\n TASK: 'Task',\r\n CAR: 'Car',\r\n CA: 'CA',\r\n FINDING: 'Finding',\r\n SECTION: 'Section',\r\n SCOPE: 'Scope',\r\n TYPEAUDIT: 'Type of Audit',\r\n AUDITOR: 'Auditor',\r\n INJUREDPEROSN: 'Injured Person',\r\n TARGET: 'Target',\r\n AUDIT: 'Audit',\r\n AUDIT_REPORT: 'Audit report',\r\n AUDIT_PLAN: 'Audit plan',\r\n AUDIT_NOTIFICATION: 'Audit notification',\r\n AUDITCHECKLIST_TEMPLATE: 'Audit CheckList Template',\r\n AUDIT_FINDING: 'Audit finding',\r\n ENTITY: 'Entity',\r\n TEAMMEMBER: 'Team Member',\r\n WITNESSPEOPLE: 'Witness Peolple',\r\n NOTIFICATION: 'Notification',\r\n AuditNCClassificationType: 'Classification Type',\r\n PLACE: 'Place',\r\n WORKRELATED: 'WorkRelated',\r\n TRANSPORTACCIDENT: 'TransportAccident',\r\n PUBLICAUTHORITIES: 'PublicAuthoritiesAndEntitiesInvolved',\r\n HISTORYWF: 'History',\r\n ACTIVITYLOG: 'Activity Log',\r\n EMERGENCYDRILL: 'Emergency Drill',\r\n EMERGENCYDRILL_CAR: 'Emergency Drill CAR',\r\n EMERGENCYDRILL_REQ: 'Emergency Drill Requiremnt',\r\n EMERGENCYDRILL_NOTIFICATION: 'Emergency Drill Notification',\r\n EMERGENCYDRILL_REPORT: 'Emergency Drill Report',\r\n EMERGENCYDRILL_ANNUALPLAN: 'Annual Drill Plan Document',\r\n EMERGENCYDRILL_PLANNEDWEEKCHANGES: 'Emergency Drill Planned Week Changes',\r\n EMERGENCYDRILL_WORKSITEATTACHMENT: 'Emergency Drill Worksite related Documentation',\r\n FREQUENCY: 'Frequency',\r\n PLANNEDWEEK: 'Planned Week',\r\n REQUIREMENT: 'Requirement',\r\n INSPECTION_NOTIFICATION: 'Inspection Notification',\r\n INSPECTION_REPORT: 'Inspection Report',\r\n SEACONDITIONS: 'Sea Conditions',\r\n LIGHTCONDITIONS: 'Light Conditions',\r\n WEATHERCONDITIONS: 'Weather Conditions',\r\n TRAINING: 'Training',\r\n TRAININGDATA: 'Training Data',\r\n TRAININGLANGUAGE: 'Training Language',\r\n TRAININGLOCATION: 'Training Location',\r\n TRAININGMETHOD: 'Training Method',\r\n TRAININGASSESSMENTMETHOD: 'Training Assessment Method',\r\n TRAININGCENTER: 'Training Center',\r\n TRAININGPARTICIPANT: 'Training Participant',\r\n TRAINER: 'Trainer',\r\n TRAININGCERTIFICATE: 'Training Certificate',\r\n KPIMANUALINPUT: 'Kpi Manual Input',\r\n INFO: 'Information',\r\n SUCCESS: 'Well Done!',\r\n SYNC: 'Synching',\r\n ERROR: 'Error!',\r\n WARNING: 'Warning!',\r\n WITHCODE: 'with Code:',\r\n REASONFORSAMPLING: 'Reason For Sampling',\r\n GENERICOWNER: 'Generic owner',\r\n EIGHTMEGABYTEMAXSIZE: '8MB max file size',\r\n SELECTNEWFILE: 'Please select a new file and try again',\r\n MBAVAILABLE: 'MB available',\r\n MAXSUMIMAGESIZE: 'The sum of images size must be 3MB or less',\r\n THREEMEGABYTEMAXSIZE: '3MB max file size',\r\n TENMEGABYTEMAXSIZE: '10MB max file size',\r\n\r\n // #region RITM0646764 Estrazione Massiva Audit\r\n AUDITMASSIVEEXTRACTION_GETCOUNTRIESBUSINESSLINES: 'Get Countries and Business Lines',\r\n AUDITMASSIVEEXTRACTION_GETAUDITS: 'Get Audits',\r\n // #endregion\r\n PURCHASEORDERS: 'Purchase Orders', // RITM0646764\r\n EMERGENCYLEVEL: 'Emergency levels',\r\n //RITM0958089 & RITM0963328 - Drill Year Filter Fix\r\n DRILLSAVAILABLEYEARS: 'Emergency Drill filter available years', \r\n //End \r\n};\r\n\r\nexport const apioperation = {\r\n POST: 'POST',\r\n UPLOAD: 'UPLOAD',\r\n DELETE: 'DELETE',\r\n PUT: 'PUT',\r\n DOWNLOAD: 'DOWNLOAD',\r\n GET: 'GET',\r\n};\r\n\r\nexport const API = {\r\n TODOS: textFormat(entities.TODOS),\r\n TASKS: textFormat(entities.TASKS),\r\n DYNAMIC_CRUD: textFormat(entities.DYNAMIC_CRUD),\r\n HOCCARD: textFormat(entities.HOCCARD),\r\n ME: textFormat(entities.ME),\r\n TRAINING: textFormat(entities.TRAINING),\r\n REGISTRY: textFormat(entities.REGISTRY),\r\n INCIDENT: textFormat(entities.INCIDENT),\r\n INSPECTION: textFormat(entities.INSPECTION),\r\n ACTIVITYLOG: textFormat(entities.ACTIVITYLOG),\r\n DRILL: textFormat(entities.DRILL),\r\n KPI: textFormat(entities.KPI),\r\n KPIMI: textFormat(`${entities.KPI}/manual-input`),\r\n KPIHSE: textFormat(`${entities.KPI}/hse`),\r\n AUDIT: textFormat(entities.AUDIT),\r\n};\r\n\r\nexport const ENUM_RoleEntity = {\r\n None: 0,\r\n Worksites: 1,\r\n Division: 2,\r\n};\r\n\r\nexport const ENUM_RoleCode = {\r\n Compiler: 1,\r\n DataApprover: 2,\r\n DivisionManager: 3,\r\n Administrator: 4,\r\n};\r\n\r\nexport const STATUS = {\r\n Draft: 1,\r\n Submitted: 2,\r\n Approved: 3,\r\n Consolidated: 4,\r\n};\r\n\r\nexport const FindingSTATUS = {\r\n Draft: 1,\r\n Assigned: 2,\r\n Submitted: 3,\r\n Open: 4,\r\n Closed: 5,\r\n Completed: 6\r\n};\r\n// export const DateFormat = 'DD-MM-YYYY';\r\n// formato data e ora per Front End\r\nexport const DateFormat = 'DD/MM/YYYY';\r\nexport const TimeFormat = 'hh:mm A';\r\n\r\n// formato data e ora per Back End\r\nexport const BEDateFormat = 'YYYY-MM-DD';\r\nexport const BETimeFormat = 'hh:mm A';\r\n\r\nexport const TaskCategory = {\r\n CATEGORY_APPROVAL: 'Approval',\r\n CATEGORY_COMPILATION: 'Compilation',\r\n};\r\nexport const NotificationModule = {\r\n ModuleAudit: 'Audit',\r\n ModuleReport: 'Report',\r\n ModuleIncident: 'Incident',\r\n ModuleHocCards: 'Hoc Card',\r\n ModuleInspection: 'Inspection',\r\n ModuleTraining: 'Training',\r\n ModuleDrill: 'Drill',\r\n};\r\n\r\nexport const LogOperation = {\r\n OPERATION_LOG_UPDATE: 'UPDATE',\r\n OPERATION_LOG_DELETE: 'DELETE',\r\n OPERATION_LOG_INSERT: 'INSERT',\r\n};\r\nexport const LogModule = {\r\n MODULE_LOG_INCIDENT: 'Incident',\r\n MODULE_LOG_AUDIT: 'Audit',\r\n MODULE_LOG_REPORT: 'Report',\r\n MODULE_LOG_BACKOFFICE: 'Back Office',\r\n MODULE_LOG_HOCCARD: 'HOC Card',\r\n};\r\n\r\nexport function sizeFormat(bytes, precision) {\r\n if (isNaN(parseFloat(bytes)) || !isFinite(bytes)) return '-';\r\n if (typeof precision === 'undefined') precision = 1;\r\n const units = ['bytes', 'kB', 'MB', 'GB', 'TB', 'PB'];\r\n const number = Math.floor(Math.log(bytes) / Math.log(1024));\r\n\r\n if (bytes === '0') return '0 bytes';\r\n\r\n return `${(bytes / Math.pow(1024, Math.floor(number))).toFixed(precision)} ${units[number]}`;\r\n}\r\n\r\nexport const CarType = {\r\n NC: { Code: 1, ShortName: 'NC', Name: 'Non Conformity' },\r\n OBS: { Code: 2, ShortName: 'OBS', Name: 'Observation' },\r\n SFI: { Code: 3, ShortName: 'SFI', Name: 'Suggestion For Improvement' },\r\n Strength: { Code: 4, ShortName: 'STR', Name: 'Strength' },\r\n};\r\n\r\nexport function GetCarTypeByCode(code) {\r\n switch (code) {\r\n case 1:\r\n return CarType.NC;\r\n case 2:\r\n return CarType.OBS;\r\n case 3:\r\n return CarType.SFI;\r\n case 4:\r\n return CarType.Strength;\r\n default:\r\n return CarType.NC;\r\n }\r\n}\r\n\r\nexport const AuditSection = {\r\n QUALITY: { id: 'C3A92266-C9A0-4776-BD60-7A91233BFA5F', name: 'Quality Section' },\r\n HSE: { id: '922E131F-2AD1-4536-8F41-9AAE128F4927', name: 'HSE Section' },\r\n HSEQ: { id: '8191ACFE-D277-4ED5-ABB2-33AD1FEE1588', name: 'HSEQ Section' }\r\n};\r\n\r\nexport const TEAM_LEADER = 'Team Leader - Lead Auditor';\r\nexport const Megabyte = {\r\n ONEMEGABYTE: 1048576,\r\n THREEMEGABYTE: 3145728,\r\n FOURMEGABYTE: 4194304,\r\n TENMEGABYTE: 10485760,\r\n};\r\n\r\nexport const PlannedWeekChangeType = {\r\n ToAdd: 1,\r\n ToChange: 2,\r\n ToDelete: 3\r\n};\r\n","import axios from 'axios';\r\nimport { authProvider } from '../../auth/authProvider';\r\nimport { API } from '../Constants';\r\n\r\n//RITM0958798 - HOC Download Fix\r\nconst CancelToken = axios.CancelToken;\r\nconst source = CancelToken.source();\r\nconst timeout = setTimeout(() => {\r\n source.cancel();\r\n // Timeout Logic\r\n}, 1800000);\r\n//End\r\n\r\nconst http = axios.create({\r\n // withCredentials: false,\r\n baseURL: `${process.env.REACT_APP_API_URL}api`, // 'http://localhost:5000/api',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json',\r\n 'Ocp-Apim-Subscription-Key': process.env.REACT_APP_API_GATEWAY_SUBSCRIPTION\r\n // 'Cache-Control': 'no-cache',\r\n // Pragma: 'no-cache',\r\n // Expires: '0'\r\n },\r\n});\r\n\r\nconst httpMultiPart = axios.create({\r\n // withCredentials: false,\r\n timeout: 600000, // Set a timeout of 5 seconds\r\n baseURL: `${process.env.REACT_APP_API_URL}api`, // 'http://localhost:5000/api',\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n 'Ocp-Apim-Subscription-Key': process.env.REACT_APP_API_GATEWAY_SUBSCRIPTION\r\n },\r\n});\r\n\r\nconst findInvalidCharactersInObject = (obj) => {\r\n if (obj == null) return;\r\n\r\n if (typeof obj === 'string') {\r\n const hasInvalidCharacters = /[\\u0000-\\u0008\\u000b-\\u000c\\u000e-\\u001f\\u007f]+/.test(obj);\r\n return hasInvalidCharacters;\r\n }\r\n\r\n if (typeof obj === 'object') {\r\n for (const [key, value] of Object.entries(obj)) {\r\n const result = findInvalidCharactersInObject(value);\r\n if (result === true) {\r\n console.log('Invalid characters are in field: ', key, ' with value: ', value);\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n};\r\n\r\nconst invalidCharactersInterceptor = (config) => {\r\n if (config?.method !== 'put' && config?.method !== 'post') return;\r\n\r\n const hasInvalidCharacters = findInvalidCharactersInObject(config.data);\r\n if (hasInvalidCharacters) {\r\n console.log('The submitted data contains invalid characters', config?.data);\r\n throw { message: 'The submitted data contains invalid characters. Please check and try to submit again.' };\r\n }\r\n};\r\n\r\nhttp.interceptors.request.use(\r\n async (config) => {\r\n invalidCharactersInterceptor(config);\r\n const token = await authProvider.getAccessToken();\r\n if (token){\r\n config.headers.Authorization = `Bearer ${token.accessToken}`;\r\n config.headers['Authorization'] = `Bearer ${token.accessToken}`;\r\n } \r\n return Promise.resolve(config);\r\n },\r\n (error) => Promise.reject(error)\r\n);\r\n\r\nhttpMultiPart.interceptors.request.use(\r\n async (config) => {\r\n invalidCharactersInterceptor(config);\r\n const token = await authProvider.getAccessToken();\r\n if (token) {\r\n config.headers.Authorization = `Bearer ${token.accessToken}`;\r\n config.headers['Authorization'] = `Bearer ${token.accessToken}`;\r\n }\r\n return Promise.resolve(config);\r\n },\r\n (error) => Promise.reject(error)\r\n);\r\n\r\n// API URL Parametrico\r\nexport const api = {\r\n get: (url, id) => http.get(url + id),\r\n getAll: (url) => http.get(url),\r\n post: (url, o) => http.post(url, o),\r\n put: (url, o, id) => http.put(`${url}${id || ''}`, o),\r\n delete: (url, id) => http.delete(url + id),\r\n deleteData: (url, data) => http.delete(url, { data }),\r\n getWithParam: (url, o) => http.get(url, o),\r\n upload: (url, data) => httpMultiPart.post(url, data),\r\n getBlob: (url) => http.get(url, { responseType: 'blob' }),\r\n postBlob: (url, o) => http.post(url, o, { responseType: 'blob' }),\r\n};\r\n\r\n// API URL Specifico\r\nexport const todos = {\r\n get: (id) => http.get(API.TODOS + id),\r\n getAll: () => http.get(API.TODOS),\r\n post: (o) => http.post(API.TODOS, o),\r\n put: (o, id) => http.put(API.TODOS + id, o),\r\n delete: (id) => http.delete(API.TODOS + id),\r\n};\r\n\r\nexport const me = {\r\n get: (url, id) => http.get(API.ME + url + id),\r\n getAll: (url) => http.get(API.ME + url),\r\n getMe: () => http.get(API.ME),\r\n post: (url, o) => http.post(API.ME + url, o),\r\n put: (url, o, id) => http.put(API.ME + url + id, o),\r\n delete: (url, id) => http.delete(API.ME + url + id),\r\n getWithParam: (url, o) => http.get(API.ME + url, o),\r\n};\r\n\r\n// API UTL Audit\r\nexport const audit = {\r\n getAll: (url) => http.get(API.AUDIT + url),\r\n getWithParam: (url, o) => http.get(`${API.AUDIT + url}`, o),\r\n put: (url, o, id) => http.put(API.AUDIT + url + id, o),\r\n post: (url, o) => http.post(API.AUDIT + url, o),\r\n deleteAttach: (url) => http.delete(url),\r\n downloadReport: (url) => http.get(url),\r\n};\r\n// API URL Incident\r\nexport const incident = {\r\n getAttachment: (idIncident, o) => http.get(`${API.INCIDENT + idIncident}/attachment`, o),\r\n getAll: () => http.get(API.INCIDENT),\r\n getWithParam: (o) => http.get(API.INCIDENT, o),\r\n downloadNotification: (idIncident, o) => http.get(`${API.INCIDENT}notification/${idIncident}`, o),\r\n downloadReport: (idIncident, o) => http.get(`${API.INCIDENT}report/${idIncident}`, o),\r\n};\r\n// API URL Training\r\nexport const training = {\r\n // getAttachment: (idIncident, o) => http.get(`${API.INCIDENT + idIncident}/attachment`, o),\r\n get: (url, id) => http.get(API.TRAINING + url + id),\r\n getAll: () => http.get(API.TRAINING),\r\n getWithParam: (o) => http.get(API.TRAINING, o),\r\n // downloadNotification: (idIncident, o) => \r\n // http.get(`${API.INCIDENT}notification/${idIncident}`, o),\r\n downloadCertificate: (idTraining, o) => http.get(`${API.TRAINING}certificate/${idTraining}`, o),\r\n};\r\nexport const inspection = {\r\n // getAttachment: (idIncident, o) => http.get(`${API.INCIDENT + idIncident}/attachment`, o),\r\n get: (id) => http.get(API.INSPECTION + id),\r\n getAll: () => http.get(API.INSPECTION),\r\n put: (o, id) => http.put(API.INSPECTION + id, o),\r\n\r\n getWithParam: (o) => http.get(`${API.INSPECTION}calendarPaged/`, o),\r\n getCalendar: (o) => http.get(`${API.INSPECTION}calendar/`, o),\r\n\r\n getInspectors: (id) => http.get(`${API.INSPECTION}inspectors/${id}`),\r\n post: (o) => http.post(API.INSPECTION, o),\r\n deleteAttach: (url) => http.delete(url),\r\n // downloadNotification: (idIncident, o) => \r\n // http.get(`${API.INCIDENT}notification/${idIncident}`, o),\r\n // downloadReport: (idIncident, o) => http.get(`${API.INCIDENT}report/${idIncident}`, o)\r\n};\r\n\r\nexport const drill = {\r\n get: (id) => http.get(API.DRILL + id),\r\n getAll: () => http.get(API.DRILL),\r\n getCalendar: (o) => http.get(`${API.DRILL}calendar/`, o),\r\n\r\n put: (o, id) => http.put(API.DRILL + id, o),\r\n post: (o) => http.post(API.DRILL, o),\r\n deleteAttach: (url) => http.delete(url),\r\n\r\n getReport: (id) => http.get(`${API.DRILL}report/${id}`),\r\n getReportCalendar: (o) => http.get(`${API.DRILL}reports/calendar/`, o),\r\n\r\n getAllWorksiteAttachments: (id) => http.get(`${API.DRILL}${id}/alldrillplanbyworksiteattachments`),\r\n //RITM0958089 & RITM0963328 - Drill Year Filter Fix\r\n drillYears: {\r\n getAll: () => http.get(`${API.DRILL}drillYears`)\r\n },\r\n getDrillsWorksites: (year) => http.get(`${API.DRILL}drillsWorksites/${year}`),\r\n getDrillsProjects: (year) => http.get(`${API.DRILL}drillsProjects/${year}`),\r\n //End\r\n};\r\nexport const kpi = {\r\n get: (id) => http.get(API.KPI + id),\r\n getAll: () => http.get(`${API.KPI}all/`),\r\n getWithParam: (o) => http.get(API.KPI, o),\r\n geToChange: (o) => http.post(`${API.KPI}entity/`, o),\r\n put: (o) => http.post(`${API.KPI}edit/`, o),\r\n post: (o) => http.post(API.KPI, o),\r\n delete: (o) => http.post(`${API.KPI}delete/`, o),\r\n mi: {\r\n get: (id) => http.get(API.KPIMI + id),\r\n getAll: () => http.get(`${API.KPIMI}all/`),\r\n getWithParam: (o) => http.get(API.KPIMI, o),\r\n geToChange: (o) => http.post(`${API.KPIMI}entity/`, o),\r\n put: (o) => http.post(`${API.KPIMI}edit/`, o),\r\n post: (o) => http.post(API.KPIMI, o),\r\n delete: (o) => http.post(`${API.KPIMI}delete/`, o),\r\n },\r\n hse: {\r\n getAll: () => http.get(`${API.KPIHSE}all/`),\r\n },\r\n};\r\n\r\n// API URL Specifico\r\nexport const hoccard = {\r\n get: (id) => http.get(API.HOCCARD + id),\r\n getAll: () => http.get(API.HOCCARD),\r\n post: (o) => http.post(API.HOCCARD, o),\r\n put: (o, id) => http.put(API.HOCCARD + id, o),\r\n delete: (id) => http.delete(API.HOCCARD + id),\r\n getWithParam: (o) => http.get(API.HOCCARD, o),\r\n getWithParamYear: (o, year) => http.get(`${API.HOCCARD}`, o),\r\n downloadTemplate: (idWorksite, o) => http.get(`${API.HOCCARD}template/${idWorksite}`, o),\r\n //RITM0958798 - HOC Download Fix\r\n //downloadEditTemplate: (data) => http.get(\"hoccard/excel/\", {params: data.params, responseType:'blob'}),\r\n downloadEditTemplate: (data) => http.get('hoccard/excel/', { params: data.params, responseType: 'blob', cancelToken: source.token }).then((result) => {\r\n // Clear The Timeout\r\n clearTimeout(timeout);\r\n \r\n // Handle your response\r\n return result;\r\n }),\r\n //End\r\n // uploadTemplate: (data) =>\r\n // axios({\r\n // url: `${process.env.REACT_APP_API_URL}api${API.HOCCARD}template/`,\r\n // method: 'POST',\r\n // data,\r\n // headers: {\r\n // 'Content-Type': 'multipart/form-data'\r\n // }\r\n // })\r\n uploadTemplate: (data) =>\r\n httpMultiPart.post(`${process.env.REACT_APP_API_URL}api${API.HOCCARD}template/`, data),\r\n uploadEditTemplate: (data) =>\r\n httpMultiPart.post(`${process.env.REACT_APP_API_URL}api${API.HOCCARD}importeditexcel/`, data),\r\n sources: {\r\n getAll: () => http.get(`${API.HOCCARD}hocCardSources`)\r\n },\r\n years: {\r\n getAll: () => http.get(`${API.HOCCARD}years`)\r\n }\r\n};\r\n// API URL Specifico\r\nexport const registry = {\r\n get: (id) => http.get(API.REGISTRY + id),\r\n getAll: (url) => http.get(API.REGISTRY + url),\r\n post: (o) => http.post(API.REGISTRY, o),\r\n put: (o, id) => http.put(API.REGISTRY + id, o),\r\n delete: (id) => http.delete(API.REGISTRY + id),\r\n};\r\n\r\nexport const tasks = {\r\n getByMonth: (month) =>\r\n http.get(API.TASKS, {\r\n params: { month },\r\n }),\r\n getWithParam: (o) => http.get(`${API.TASKS}paged`, o),\r\n put: (id) => http.put(API.TASKS + id),\r\n get: (id) => http.get(API.TASKS + id),\r\n};\r\nexport const fileUpload = {\r\n post: (data) => httpMultiPart.post('storage/UploadAsync', data),\r\n};\r\nexport const activityLog = {\r\n getWithParam: (o) => http.get(`${API.ACTIVITYLOG}paged`, o),\r\n getEntity: () => http.get(`${API.ACTIVITYLOG}entity`),\r\n getfilteredEntity: (o) => http.get(`${API.ACTIVITYLOG}entityfiltered`, o),\r\n};\r\n// API URL JSCrud\r\nexport const dynamic = {\r\n get: (url, id) => http.get(API.DYNAMIC_CRUD + url + id),\r\n getAll: (url, o) => http.get(API.DYNAMIC_CRUD + url, o),\r\n getCalendar: (url, o) => http.get(API.DYNAMIC_CRUD + url, o),\r\n post: (url, o) => http.post(API.DYNAMIC_CRUD + url, o),\r\n put: (url, o) => http.put(API.DYNAMIC_CRUD + url, o),\r\n delete: (url, id) => http.delete(API.DYNAMIC_CRUD + url + id),\r\n};\r\n","import React from 'react';\r\nimport { InlineNotification, ToastNotification } from 'carbon-components-react';\r\nimport { store } from 'react-notifications-component';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst defaultOptions = {\r\n insert: 'top',\r\n container: 'top-right',\r\n animationIn: ['animated', 'fadeIn'],\r\n animationOut: ['animated', 'fadeOut'],\r\n dismiss: {\r\n duration: 5000,\r\n onScreen: false,\r\n pauseOnHover: true,\r\n waitForAnimation: false,\r\n // showIcon: true,\r\n click: true,\r\n touch: true,\r\n },\r\n};\r\n// type =\r\n// \"success\"\r\n// \"info\"\r\n// \"warning\"\r\n// \"error\"\r\nfunction base(inline, type, title, message, caption) {\r\n return store.addNotification({\r\n ...defaultOptions,\r\n content: (\r\n \r\n ),\r\n });\r\n}\r\n\r\nfunction error(title, subtitle) {\r\n return base(true, 'error', title || 'error', subtitle || ' ');\r\n}\r\n\r\nfunction success(title, subtitle) {\r\n return base(true, 'success', title || 'success', subtitle || ' ');\r\n}\r\n\r\nfunction warning(title, subtitle) {\r\n return base(true, 'warning', title || 'warning', subtitle || ' ');\r\n}\r\n\r\nfunction info(title, subtitle) {\r\n return base(true, 'info', title, subtitle || ' ');\r\n}\r\n\r\nexport const showNotification = {\r\n custom: base,\r\n success,\r\n error,\r\n warning,\r\n info,\r\n};\r\n\r\nfunction BaseNotification(props) {\r\n const { inline, type, title, subtitle, caption } = props;\r\n const message = 'BaseNotification: ' + type + ' - ' + title + ' - ' + subtitle;\r\n if (type === 'warning') {\r\n console.warn(message);\r\n } else if (type === 'error') {\r\n console.error(message);\r\n } else {\r\n console.log(message);\r\n }\r\n \r\n if (inline) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n}\r\nBaseNotification.propTypes = {\r\n inline: PropTypes.bool.isRequired,\r\n type: PropTypes.string.isRequired,\r\n title: PropTypes.string.isRequired,\r\n subtitle: PropTypes.string,\r\n caption: PropTypes.string,\r\n};\r\nBaseNotification.defaultProps = { subtitle: '', caption: '' };\r\nexport default showNotification;\r\n","import React, { Component } from 'react';\r\nimport * as Datetime from 'react-datetime';\r\nimport moment from 'moment';\r\nimport isEqual from 'lodash.isequal';\r\nimport Calendar16 from '@carbon/icons-react/lib/calendar/16';\r\nimport { DateFormat, TimeFormat, BEDateFormat, BETimeFormat } from './Constants';\r\n\r\nexport default class DateTimePicker extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n shouldComponentUpdate(nextProps, nextState) {\r\n return !isEqual(nextProps, this.props);\r\n }\r\n\r\n renderInput = (props, openCalendar) => {\r\n return (\r\n
\r\n \r\n { } : openCalendar}\r\n role=\"img\">\r\n \r\n
\r\n );\r\n }\r\n\r\n validateDate = (inputValue) => {\r\n const today = moment();\r\n if(this.props.disableFutureDate) return inputValue.isBefore(today)\r\n if(this.props.disablePastDate) return inputValue.isAfter(today);\r\n return true\r\n }\r\n\r\n render() {\r\n const {\r\n name,\r\n alt,\r\n className\r\n } = this.props;\r\n\r\n let value = \"\";\r\n if (this.props.value) {\r\n\r\n if (this.props.type == \"date\") {\r\n value = moment.utc(this.props.value, BEDateFormat);\r\n } else if (this.props.type == \"time\") {\r\n value = moment.utc(this.props.value, BETimeFormat);\r\n } else {\r\n value = moment.utc(this.props.value);\r\n }\r\n }\r\n\r\n const _dateFormat = (this.props.type == \"date\" || this.props.type == \"datetime\" || !this.props.type) ? DateFormat : false;\r\n const _timeFormat = (this.props.type == \"time\" || this.props.type == \"datetime\" || !this.props.type) ? TimeFormat : false;\r\n\r\n const _onChange = (value) => {//value substring 3: if < 9 add 0\r\n if(this.props.type == \"time\" && typeof value === \"string\"&& value.length===7){\r\n const time = moment(value, \"h:mm a\"); \r\n date = time.format(BETimeFormat); \r\n this.props.onChange(name, date, alt);\r\n return; \r\n } \r\n if (!value) {\r\n this.props.onChange(name, null, alt);\r\n return;\r\n }\r\n try {\r\n if (!value.isValid()) return;\r\n var date = '';\r\n if (this.props.type == \"date\") {\r\n date = value.format(BEDateFormat);\r\n } else if (this.props.type == \"time\") {\r\n date = value.format(BETimeFormat);\r\n } else {\r\n date = value.format();\r\n }\r\n this.props.onChange(name, date, alt);\r\n return;\r\n }\r\n catch {\r\n if (this.props.type == \"time\" || this.props.type == \"datetime\") {\r\n return this.props.onChange(name, false, alt);\r\n } else {\r\n console.error(\"_onChange: unsupported type: \", this.props.type);\r\n return null;\r\n }\r\n }\r\n };\r\n\r\n return (\r\n \r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport Dayz from 'dayz';\r\nimport moment from 'moment';\r\nimport { Link } from 'react-router-dom';\r\nimport 'dayz/dayz.scss';\r\nimport { me } from '../../helpers/api/api';\r\nimport {\r\n Tabs,\r\n Tab,\r\n Table,\r\n TableContainer,\r\n TableBody,\r\n TableRow,\r\n TableCell,\r\n} from 'carbon-components-react';\r\nimport { ChevronRight16, Close16 } from '@carbon/icons-react';\r\nimport Calendar20 from '@carbon/icons-react/lib/calendar/20';\r\nimport ArrowR20 from '@carbon/icons-react/lib/arrow--right/16';\r\nimport { api } from '../../helpers/api/api';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport {\r\n getError,\r\n entitiesLabels,\r\n apioperation,\r\n DateFormat,\r\n} from '../../helpers/Constants';\r\nimport DateTimePicker from '../../helpers/DateTimePicker';\r\nexport default class CalendarTasks extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n tabSelected: 0,\r\n tasks: [],\r\n mainTasks: [],\r\n overdueTasks: [],\r\n events: new Dayz.EventsCollection([]),\r\n currentDate: moment(new Date(moment().year(), moment().month(), moment().date())),\r\n };\r\n\r\n this.onDateChanged = this.onDateChanged.bind(this);\r\n this.onEventClick = this.onEventClick.bind(this);\r\n this.getTasks = this.getTasks.bind(this);\r\n this.formatEvents = this.formatEvents.bind(this);\r\n this.deleteTask = this.deleteTask.bind(this);\r\n\r\n this.getTasks(moment().month() + 1);\r\n }\r\n\r\n formatEvents(tasks) {\r\n var events = [];\r\n var flagApproval = false;\r\n var flagCompilation = false;\r\n for (var i = 0; i < tasks.length; i++) {\r\n var task = tasks[i];\r\n var ci;\r\n switch (task.category) {\r\n case 'Approval':\r\n if (flagApproval === true && tasks.slice(0,i).find(x=>x.assignedDate == task.assignedDate)) continue;\r\n flagApproval = true;\r\n ci = '1';\r\n break;\r\n case 'Compilation':\r\n if (flagCompilation === true && tasks.slice(0,i).find(x=>x.assignedDate == task.assignedDate)) continue;\r\n flagCompilation = true;\r\n ci = '2';\r\n break;\r\n default:\r\n ci = '3';\r\n }\r\n events.push({\r\n content: task.content,\r\n range: moment.range(moment(task.assignedDate).clone(), moment(task.assignedDate).clone()),\r\n colorIndex: ci,\r\n });\r\n }\r\n return new Dayz.EventsCollection(events);\r\n }\r\n\r\n\r\n\r\n deleteTask = async (id) => {\r\n this.setState((prevState) => ({\r\n isLoad: true,\r\n mainTasks: prevState.mainTasks.filter((x) => x.id !== id),\r\n overdueTasks: prevState.overdueTasks.filter((x) => x.id !== id)\r\n }));\r\n\r\n api.delete('/tasks/', id).then((response) => {\r\n this.setState(\r\n { isLoad: false }\r\n );\r\n });\r\n };\r\n\r\n\r\n getTasks(month) {\r\n var t = this;\r\n\r\n const data = {\r\n params: {\r\n page: 0,\r\n pageSize: 1000,\r\n month: month,\r\n },\r\n };\r\n\r\n me.getWithParam('tasks', data)\r\n .then((response) => {\r\n var tasks = response.data.itemList;\r\n var main = tasks.filter(\r\n (x) =>\r\n x.status !== 'Expired' &&\r\n moment(x.assignedDate).date() === moment(this.state.currentDate).date()\r\n );\r\n var overdue = tasks.filter((x) => x.status === 'Expired');\r\n this.setState({\r\n events: t.formatEvents(tasks),\r\n tasks: tasks,\r\n mainTasks: main,\r\n overdueTasks: overdue,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.TASK, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoading: false,\r\n tabSelected: 0,\r\n });\r\n });\r\n }\r\n\r\n onDateChanged(inputName, inputValue, objName) {\r\n this.setState({\r\n currentDate: moment(inputValue),\r\n });\r\n this.getTasks(moment(inputValue).month() + 1);\r\n }\r\n\r\n onEventClick(ev, date) {\r\n var d = moment(date._d);\r\n\r\n if (d.month() !== this.state.currentDate.month()) {\r\n this.getTasks(d.month() + 1);\r\n this.setState({\r\n currentDate: moment(new Date(d.year(), d.month(), d.date())),\r\n });\r\n } else {\r\n var main = [];\r\n var overdue = [];\r\n for (var i = 0; i < this.state.tasks.length; i++) {\r\n if (moment(this.state.tasks[i].assignedDate).date() === d.date()) {\r\n if (this.state.tasks[i].status !== 'Expired') {\r\n main.push(this.state.tasks[i]);\r\n }\r\n }\r\n }\r\n this.setState({\r\n currentDate: moment(new Date(d.year(), d.month(), d.date())),\r\n mainTasks: main\r\n });\r\n }\r\n }\r\n updateState = (inputName, inputValue, objName) => {\r\n let statusCopy = Object.assign({}, this.state);\r\n statusCopy[objName][inputName] = inputValue;\r\n this.setState(statusCopy);\r\n };\r\n\r\n render() {\r\n const row = this.state.tasks || [];\r\n\r\n function linkToEntity(id) {\r\n let entity = row.find((el) => el.id === id);\r\n\r\n if (entity != null && entity.reference != null) {\r\n return (\r\n \r\n \r\n \r\n );\r\n } else return '';\r\n }\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Daily Tasks\r\n

\r\n \r\n
\r\n All Tasks\r\n
\r\n {' '}\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n {this.state.currentDate.format('MMMM')} {this.state.currentDate.year()}\r\n \r\n {/*\r\n \r\n */}\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Sun
\r\n
Mon
\r\n
Tue
\r\n
Wed
\r\n
Thu
\r\n
Fri
\r\n
Sat
\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n {this.state.mainTasks.length > 0 ? (\r\n \r\n \r\n \r\n {this.state.mainTasks.map((t) => (\r\n \r\n \r\n
{t.category}
\r\n
\r\n {t.module}\r\n {t.content}\r\n \r\n {linkToEntity(t.id)}\r\n \r\n \r\n this.deleteTask(t.id)}\r\n key={`delete-${t.id}`}\r\n size=\"small\"\r\n iconDescription=\"Edit\"\r\n kind=\"ghost\"\r\n />\r\n \r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n ) : (\r\n

No Main Tasks Found

\r\n )}\r\n
\r\n
\r\n\r\n \r\n
\r\n {this.state.overdueTasks.length > 0 ? (\r\n \r\n \r\n \r\n {this.state.overdueTasks.map((t) => (\r\n \r\n \r\n
{t.category}
\r\n
\r\n {t.module}\r\n {t.content}\r\n {linkToEntity(t.id)}\r\n \r\n \r\n this.deleteTask(t.id)}\r\n key={`delete-${t.id}`}\r\n size=\"small\"\r\n iconDescription=\"Edit\"\r\n kind=\"ghost\"\r\n />\r\n \r\n \r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n ) : (\r\n

No Overdue Tasks Found

\r\n )}\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 moment from 'moment';\r\nimport { DateFormat, TimeFormat, BEDateFormat, BETimeFormat } from '../../Constants';\r\n\r\nexport function asNumber(value) {\r\n if (value === '') {\r\n return undefined;\r\n }\r\n if (value === null) {\r\n return null;\r\n }\r\n if (/\\.$/.test(value)) {\r\n // \"3.\" can't really be considered a number even if it parses in js. The\r\n // user is most likely entering a float.\r\n return value;\r\n }\r\n if (/\\.0$/.test(value)) {\r\n // we need to return this as a string here, to allow for input like 3.07\r\n return value;\r\n }\r\n const n = Number(value);\r\n const valid = typeof n === 'number' && !Number.isNaN(n);\r\n\r\n if (/\\.\\d*0$/.test(value)) {\r\n // It's a number, that's cool - but we need it as a string so it doesn't screw\r\n // with the user when entering dollar amounts or other values (such as those with\r\n // specific precision or number of significant digits)\r\n return value;\r\n }\r\n\r\n return valid ? n : value;\r\n}\r\n\r\n// In the case where we have to implicitly create a schema, it is useful to know what type to use\r\n// based on the data we are defining\r\nexport const guessType = function guessType(value) {\r\n if (Array.isArray(value)) {\r\n return 'array';\r\n }\r\n if (typeof value === 'string') {\r\n return 'string';\r\n }\r\n if (value == null) {\r\n return 'null';\r\n }\r\n if (typeof value === 'boolean') {\r\n return 'boolean';\r\n }\r\n if (!isNaN(value)) {\r\n return 'number';\r\n }\r\n if (typeof value === 'object') {\r\n return 'object';\r\n }\r\n // Default to string if we can't figure it out\r\n return 'string';\r\n};\r\n\r\nexport function pad(num, size) {\r\n let s = String(num);\r\n while (s.length < size) {\r\n s = `0${s}`;\r\n }\r\n return s;\r\n}\r\n\r\n// /jsonDate deve essere una data o una stringa in formato iso o json\r\nexport function switchDateFormat(jsonDate, mode) {\r\n if (!jsonDate) {\r\n return '';\r\n }\r\n\r\n const date = moment.utc(jsonDate);\r\n\r\n if (!date.isValid()) {\r\n return '';\r\n }\r\n\r\n switch (mode) {\r\n case 'datepicker':\r\n case 'ddMMyyyy': {\r\n return date.format('DD-MM-YYYY');\r\n }\r\n case 'datetime': {\r\n return date.format(`${DateFormat} ${TimeFormat}`);\r\n }\r\n case 'JSdate': // Json Schema form validation\r\n case 'yyyyMMdd': {\r\n return date.format('YYYY-MM-DD');\r\n }\r\n case 'JSdatetime': {\r\n return date.format('YYYY-MM-DD[T]HH:mm:ss.SSS'); // `${yyyy}-${MM}-${dd}T${hh}:${mm}:${ss}.${SSS}`;\r\n }\r\n case 'date': {\r\n return date.format(DateFormat);\r\n }\r\n case 'eng':\r\n return date.format('MM/DD/YYYY');\r\n default: {\r\n return date.toJSON();\r\n }\r\n }\r\n\r\n // const date = new Date(jsonDate);\r\n\r\n // const yyyy = pad(date.getFullYear(), 4);\r\n // const MM = pad(date.getMonth() + 1, 2);\r\n // const dd = pad(date.getDate(), 2);\r\n // const hh = pad(date.getHours(), 2);\r\n // const mm = pad(date.getMinutes(), 2);\r\n // const ss = pad(date.getSeconds(), 2);\r\n // const SSS = pad(date.getMilliseconds(), 3);\r\n\r\n // switch (mode) {\r\n // case \"datepicker\":\r\n // case \"ddMMyyyy\": {\r\n // return `${dd}-${MM}-${yyyy}`;\r\n // }\r\n // case \"JSdate\"://Json Schema form validation\r\n // case \"yyyyMMdd\": {\r\n // return `${yyyy}-${MM}-${dd}`;\r\n // }\r\n // case \"datetime\": {\r\n // return `${yyyy}-${MM}-${dd}T${hh}:${mm}:${ss}.${SSS}`;\r\n // }\r\n // default: {\r\n // return date.toJSON();\r\n // }\r\n // }\r\n}\r\n","import React from 'react';\r\nimport { Tag } from 'carbon-components-react';\r\n\r\nexport function CompletionStatusTag(props) {\r\n\r\n let completionStateToColorMap = {\r\n 'not reviewed': 'green',\r\n 'reviewed': 'red'\r\n };\r\n\r\n const value = props.value;\r\n if (!value) return null;\r\n\r\n return (\r\n \r\n {value}\r\n \r\n );\r\n}","import React, { Component } from 'react';\r\nimport { Button, HeaderName, HeaderNavigation, SkeletonText, Tag } from 'carbon-components-react';\r\nimport { CompletionStatusTag } from '../components/functions/CompletionStatusTag';\r\nimport { ChevronLeft16 } from '@carbon/icons-react';\r\nimport { Link } from 'react-router-dom';\r\n\r\nexport default function PageBreadCrumb(props) {\r\n const {\r\n linkTo,\r\n linkText,\r\n titleLeft,\r\n titleCenter,\r\n titleRight,\r\n batchActions,\r\n showButtonHistory,\r\n isDisabled,\r\n } = props;\r\n const handleClick = () => {\r\n if (props.onClick) {\r\n props.onClick();\r\n }\r\n };\r\n return (\r\n
\r\n \r\n handleClick()}\r\n className=\"bx--header__name\"\r\n >\r\n \r\n
{linkText || ''}
\r\n \r\n
\r\n \r\n <>\r\n
  • \r\n

    {titleLeft || ''}

    \r\n

    {titleCenter || ''}

    \r\n
    \r\n {Array.isArray(titleRight) ? (\r\n <>\r\n \r\n {titleRight[1] ? : null}\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
  • \r\n \r\n
    \r\n
    \r\n
    \r\n {batchActions != null || showButtonHistory ? (\r\n
    \r\n
    \r\n {Array.isArray(titleRight) ? (\r\n <>\r\n \r\n {titleRight[1] ? : null}\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n\r\n
    \r\n \r\n <>\r\n {batchActions && (\r\n
  • {batchActions}
  • \r\n )}\r\n {showButtonHistory}\r\n \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n ''\r\n )}\r\n \r\n );\r\n}\r\nexport function StatusTag(props) {\r\n const value = props.value;\r\n if (!value) return null;\r\n\r\n switch (value.toLowerCase()) {\r\n case '1':\r\n case 'draft':\r\n case 'opened':\r\n case 'assigned':\r\n case 'insert':\r\n return (\r\n \r\n {value}\r\n \r\n );\r\n case 'dev':\r\n case 'insert':\r\n return (\r\n \r\n {value}\r\n \r\n );\r\n case '2':\r\n case 'submitted':\r\n return (\r\n \r\n {value}\r\n \r\n );\r\n case '3':\r\n case 'approved':\r\n case 'update':\r\n return (\r\n \r\n {value}\r\n \r\n );\r\n case '4':\r\n case 'consolidated':\r\n case 'planned':\r\n case 'completed':\r\n case 'closed':\r\n case 'delete':\r\n return (\r\n \r\n {value}\r\n \r\n );\r\n // RITM0623664\r\n case 'ext-draft':\r\n case 'ext-planned':\r\n const isDraft = value.toLowerCase().includes(\"draft\")\r\n return (\r\n \r\n Ext\r\n \r\n );\r\n //FINE RITM0623664\r\n case 'drillplanned':\r\n case 'drillcompleted':\r\n const ret1 = value.replace('drill','')\r\n return (\r\n \r\n {ret1}\r\n \r\n );\r\n case 'drilldraft':\r\n case 'drillopened':\r\n const ret2 = value.replace('drill','')\r\n return (\r\n \r\n {ret2}\r\n \r\n );\r\n case 'drillsubmitted':\r\n const ret3 = value.replace('drill','')\r\n return (\r\n \r\n {ret3}\r\n \r\n );\r\n case 'drillapproved':\r\n const ret4 = value.replace('drill', '')\r\n return (\r\n \r\n {ret4}\r\n \r\n );\r\n default:\r\n return (\r\n \r\n {value}\r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport { TableRow, TableCell, Pagination as CarbonPagination } from 'carbon-components-react';\r\nimport { Checkmark24 } from '@carbon/icons-react';\r\nimport SanitizedHTML from 'react-sanitized-html';\r\nimport { switchDateFormat } from '../../helpers/jsonschemaform/customwidget/utils';\r\nimport isEqual from 'lodash.isequal';\r\nimport moment from 'moment';\r\nimport { StatusTag } from '../../helpers/PageBreadCrumb';\r\nimport { CompletionStatusTag } from '../../components/functions/CompletionStatusTag';\r\n\r\nexport function RenderDataTableCell(props) {\r\n // const isBool = (item) => { //controlla il contenuto di cell.value\r\n // return typeof item === 'boolean' ||\r\n // (typeof item === 'object' && item !== null && typeof item.valueOf() === 'boolean');\r\n // }\r\n\r\n const { cell, className, header, isExt } = props;\r\n\r\n const isBool = () => (header != null && header.type === \"bool\") || false;\r\n\r\n //if separato per la colonna inUse perchè ha uno style diverso\r\n if (cell.info.header === 'inUse') {\r\n return (\r\n \r\n {\r\n cell.value && \r\n }\r\n \r\n );\r\n }\r\n\r\n //colonne html, type == html\r\n if (header != null && header.type === \"html\") {\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n }\r\n //Date\r\n if (header != null && header.type === \"date\") {\r\n return (\r\n \r\n {\r\n switchDateFormat(cell.value, 'date')\r\n }\r\n \r\n );\r\n\r\n }\r\n //Date\r\n if (header != null && header.type === \"datetime\") {\r\n return (\r\n \r\n {\r\n \r\n switchDateFormat( moment.utc(cell.value, 'YYYY-MM-DD HH:mm').local().format('YYYY-MMM-DD h:mm A') , 'datetime')\r\n \r\n }\r\n \r\n );\r\n\r\n }\r\n //Status\r\n if (header != null && header.type === \"status\") {\r\n return (\r\n \r\n {/* RITM0623664 */}\r\n {}\r\n {/* FINE RITM0623664 */}\r\n\r\n \r\n );\r\n\r\n }\r\n\r\n // HSE Review Status\r\n if (header != null && header.type === \"completionStatus\") {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n //default\r\n return (\r\n \r\n {\r\n isBool(cell.value) ?\r\n (cell.value && )\r\n :\r\n cell.value\r\n }\r\n \r\n );\r\n\r\n}\r\n\r\nexport function NoRecordsPlaceholder(props) {\r\n return (\r\n \r\n \r\n
    \r\n

    {props.labelText || \"No Result Found\"}

    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport class Pagination extends React.Component {\r\n\r\n shouldComponentUpdate(nextProps, nextState) {\r\n return !isEqual(nextProps, this.props);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { ComboBox as CarbonComboBox } from 'carbon-components-react';\r\nimport isEqual from 'lodash.isequal';\r\n\r\nexport class ComboBox extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n shouldComponentUpdate(nextProps, nextState) {\r\n return !isEqual(nextProps, this.props);\r\n }\r\n\r\n render() {\r\n const {\r\n name,\r\n alt,\r\n onChange,\r\n id,\r\n items,\r\n disableClear,\r\n ...initProps\r\n } = this.props;\r\n\r\n const _onChange = ({ selectedItem }) => {\r\n\r\n //props.onChange(inputName, selectedItem, objName);\r\n return this.props.onChange(name, selectedItem, alt);\r\n };\r\n\r\n return (\r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport {\r\n DatePickerSkeleton,\r\n TableHeader,\r\n DataTableSkeleton,\r\n TableHead,\r\n TextInput,\r\n Button,\r\n DataTable,\r\n Form,\r\n TableToolbar,\r\n FormGroup,\r\n FormLabel,\r\n Pagination,\r\n Tabs,\r\n Tab,\r\n Table,\r\n TableContainer,\r\n TableBody,\r\n TableRow,\r\n TableCell,\r\n Loading,\r\n} from 'carbon-components-react';\r\nimport {\r\n RenderDataTableCell,\r\n NoRecordsPlaceholder,\r\n} from '../../helpers/jsonschemaform/DataTableExtention';\r\nimport '../../scss/custom.scss';\r\nimport Data16 from '@carbon/icons-react/lib/data--1/16';\r\nimport moment, { invalid } from 'moment';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport {\r\n getSuccess,\r\n getError,\r\n entitiesLabels,\r\n apioperation,\r\n DateFormat,\r\n} from '../../helpers/Constants';\r\nimport { tasks, me } from '../../helpers/api/api';\r\nimport { TaskCategory } from '../../helpers/Constants.js';\r\nimport { CheckmarkOutline16, ChevronRight16 } from '@carbon/icons-react';\r\nimport { ComboBox } from '../../helpers/ComboBox';\r\nimport { Link, Route } from 'react-router-dom';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport DateTimePicker from '../../helpers/DateTimePicker';\r\n\r\n// Setup the localizer by providing the moment (or globalize) Object\r\n// to the correct localizer.\r\n\r\nconst searchProp = {\r\n category: null,\r\n module: null,\r\n content: null,\r\n status: null,\r\n dueDate: null,\r\n dueDateFrom: null,\r\n};\r\nexport default class AllTheTasks extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator();\r\n\r\n this.state = {\r\n isLoading: true,\r\n isLoadingDate: false,\r\n currentPage: 1,\r\n pageSize: 10,\r\n rowCount: 0,\r\n itemList: [],\r\n xStatus: ['Pending', 'Expired'],\r\n spinner: false,\r\n stateDivDownload: false,\r\n\r\n searchModel: {\r\n ...searchProp,\r\n },\r\n taskModel: {\r\n category: undefined,\r\n module: undefined,\r\n content: undefined,\r\n status: undefined,\r\n dueDate: undefined,\r\n assignedDate: undefined,\r\n reference: undefined,\r\n },\r\n };\r\n this.taskDone = this.taskDone.bind(this);\r\n this.taskCompleted = this.taskCompleted.bind(this);\r\n this.getTaskList = this.getTaskList.bind(this);\r\n this.renderSearchform = this.renderSearchform.bind(this);\r\n // this.showDivDownload = this.showDivDownload.bind(this);\r\n this.toggleSearchForm = this.toggleSearchForm.bind(this);\r\n this.updateState = this.updateState.bind(this);\r\n this.handleClickCancelSearch = this.handleClickCancelSearch.bind(this);\r\n this.renderDataTable = this.renderDataTable.bind(this);\r\n }\r\n //\r\n componentDidMount() {\r\n this.getTaskList();\r\n }\r\n selectTab(tabIndex) {\r\n if (tabIndex == 0) {\r\n this.setState(\r\n {\r\n searchModel: {\r\n category: null,\r\n },\r\n },\r\n () => this.getTaskList()\r\n );\r\n }\r\n if (tabIndex == 1) {\r\n this.setState(\r\n {\r\n searchModel: {\r\n category: TaskCategory.CATEGORY_APPROVAL,\r\n },\r\n },\r\n () => this.getTaskList()\r\n );\r\n }\r\n if (tabIndex == 2) {\r\n this.setState(\r\n {\r\n searchModel: {\r\n category: TaskCategory.CATEGORY_COMPILATION,\r\n },\r\n },\r\n () => this.getTaskList()\r\n );\r\n }\r\n }\r\n\r\n //METODI\r\n taskDone(id) {\r\n this.setState({\r\n spinner: true,\r\n });\r\n tasks\r\n .put(id)\r\n .then((response) => {\r\n this.getTaskList();\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,getSuccess(entitiesLabels.TASK, apioperation.POST));\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.TASK, apioperation.POST));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n spinner: false,\r\n });\r\n });\r\n //this.getTaskColor(row)\r\n }\r\n updateState = (inputName, inputValue, objName) => {\r\n let statusCopy = Object.assign({}, this.state);\r\n statusCopy[objName][inputName] = inputValue;\r\n this.setState(statusCopy);\r\n };\r\n\r\n toggleSearchForm(e) {\r\n e.preventDefault();\r\n this.setState((oldState) => ({ isOpenSearchForm: !oldState.isOpenSearchForm }));\r\n }\r\n\r\n handleChangeSearch = (el) => {\r\n let inputName = el.target.name;\r\n\r\n let inputValue = el.target.value;\r\n\r\n this.updateState(inputName, inputValue, 'searchModel');\r\n };\r\n\r\n handleChangeCombo = (inputName, selectedItem, objName) => {\r\n let inputValue = selectedItem ? selectedItem : null;\r\n\r\n let statusCopy = Object.assign({}, this.state);\r\n statusCopy[objName][inputName] = inputValue;\r\n\r\n //statusCopy['selectedItemCombo'][inputName] = selectedItem;\r\n this.setState(statusCopy);\r\n };\r\n\r\n handleClickSearch = (e) => {\r\n e.preventDefault();\r\n this.getTaskList({ page: 1 });\r\n };\r\n\r\n handleClickCancelSearch = (e) => {\r\n e.preventDefault();\r\n this.toggleSearchForm(e);\r\n this.setState(\r\n {\r\n searchModel: {\r\n ...searchProp,\r\n },\r\n },\r\n () => {\r\n this.getTaskList({ page: 1 });\r\n }\r\n );\r\n };\r\n //Call api\r\n getTaskList(param) {\r\n if (this.validator.allValid()) {\r\n this.setState({\r\n isLoading: true,\r\n });\r\n const data = {\r\n params: {\r\n page: param && param.page ? param.page : this.state.currentPage,\r\n pageSize: param && param.pageSize ? param.pageSize : this.state.pageSize,\r\n ...this.state.searchModel,\r\n },\r\n };\r\n\r\n me.getWithParam('tasks', data)\r\n .then((response) => {\r\n this.setState({\r\n ...response.data,\r\n });\r\n })\r\n .catch((error) => {\r\n // showNotification.error(getError(error, \"Task List\", \"ERROR\"));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoading: false,\r\n });\r\n });\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`,' Date required fields are missing ');\r\n\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n let statusCopy = Object.assign({}, this.state);\r\n statusCopy[objName][inputName] = inputValue;\r\n this.setState(statusCopy);\r\n };\r\n divDownload() {\r\n return (\r\n
    \r\n
    \r\n
      \r\n
      \r\n
      \r\n Download xls\r\n
      \r\n
      \r\n
      \r\n
      \r\n Print Pending task\r\n
      \r\n
      \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n handleChangeDPInput = (value) => {\r\n if (value == null || value.target == null || value.target.value == null) {\r\n this.updateState('dueDate', null, 'searchModel');\r\n return;\r\n }\r\n try {\r\n var date = value.target.value;\r\n var s = date.split('/');\r\n if (s.length < 3) return;\r\n\r\n var dd = s[0];\r\n var mm = s[1];\r\n var yy = s[2];\r\n if (dd.length < 2 || mm.length < 2 || yy.length < 4) return;\r\n\r\n date = `${yy}-${mm}-${dd}`;\r\n\r\n this.updateState('dueDate', date, 'searchModel');\r\n return;\r\n } catch {\r\n return null;\r\n }\r\n };\r\n handleChangeDP = (value) => {\r\n if (value == null || value[0] == null) {\r\n this.updateState('dueDate', null, 'searchModel');\r\n return;\r\n }\r\n\r\n var date = value[0];\r\n var date2 = value[0];\r\n if (typeof date === 'object') {\r\n date2 = moment(date2).format('YYYY-MM-DD');\r\n }\r\n\r\n this.updateState('dueDate', date2, 'searchModel');\r\n return;\r\n };\r\n handleChangeDPInput2 = (value) => {\r\n if (value == null || value.target == null || value.target.value == null) {\r\n this.updateState('dueDateFrom', null, 'searchModel');\r\n return;\r\n }\r\n try {\r\n var date = value.target.value;\r\n var s = date.split('/');\r\n if (s.length < 3) return;\r\n\r\n var dd = s[0];\r\n var mm = s[1];\r\n var yy = s[2];\r\n if (dd.length < 2 || mm.length < 2 || yy.length < 4) return;\r\n\r\n date = `${yy}-${mm}-${dd}`;\r\n\r\n this.updateState('dueDateFrom', date, 'searchModel');\r\n return;\r\n } catch {\r\n return null;\r\n }\r\n };\r\n handleChangeDP2 = (value) => {\r\n if (value == null || value[0] == null) {\r\n this.updateState('dueDateFrom', null, 'searchModel');\r\n return;\r\n }\r\n\r\n var date = value[0];\r\n var date2 = value[0];\r\n if (typeof date === 'object') {\r\n date2 = moment(date2).format('YYYY-MM-DD');\r\n }\r\n\r\n this.updateState('dueDateFrom', date2, 'searchModel');\r\n return;\r\n };\r\n handleChangePaging = (event) => {\r\n this.getTaskList(event);\r\n };\r\n\r\n renderSearchform() {\r\n const selectedItemCombo = {\r\n status: (this.state.status || []).find((el) => el == this.state.taskModel.status),\r\n };\r\n const filterItems = {\r\n status: null,\r\n };\r\n\r\n if (this.state.searchModel != null) {\r\n var diffduedate =\r\n (!this.state.searchModel.dueDate && !this.state.searchModel.dueDateFrom) ||\r\n moment(this.state.searchModel.dueDate).isSameOrAfter(\r\n moment(this.state.searchModel.dueDateFrom),\r\n 'day'\r\n );\r\n } else {\r\n var diffduedate = true;\r\n }\r\n\r\n const validations = {\r\n //immediateActions: this.validator.message('Immediate Actions', this.state.hocCardModel.immediateActions, 'required'),\r\n dueDate: this.validator.message('Due Date', diffduedate, 'accepted'),\r\n };\r\n return (\r\n this.state.isOpenSearchForm && (\r\n
    \r\n
    \r\n \r\n Module \r\n \r\n \r\n\r\n \r\n Content \r\n \r\n \r\n\r\n \r\n Status\r\n\r\n (item ? item : '')}\r\n initialSelectedItem={filterItems.status}\r\n items={this.state.xStatus}\r\n // // items={this.state.search.search}\r\n />\r\n \r\n\r\n \r\n Due Date From\r\n {this.state.isLoadingDate ? (\r\n \r\n ) : (\r\n /* \r\n \r\n\r\n */\r\n \r\n )}\r\n {validations.duedate ? (\r\n
    \r\n {' '}\r\n Event date less than the expiration date{' '}\r\n
    \r\n ) : null}\r\n
    \r\n \r\n Due Date To\r\n {this.state.isLoadingDate ? (\r\n \r\n ) : (\r\n /* \r\n \r\n\r\n */\r\n \r\n )}\r\n {validations.dueDate ? (\r\n
    \r\n {' '}\r\n Event date less than the expiration date{' '}\r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n )\r\n );\r\n }\r\n taskCompleted = (id) => {\r\n let entity = this.state.itemList.find((el) => el.id == id);\r\n if (entity != null && entity.status != 'Completed') {\r\n return (\r\n \r\n {' '}\r\n this.taskDone(id)}\r\n />{' '}\r\n \r\n );\r\n } else return '';\r\n };\r\n renderDataTable(headersDataTable) {\r\n const paginationProps = () => ({\r\n page: this.state.currentPage || 1,\r\n totalItems: this.state.rowCount || 0,\r\n pageSize: this.state.pageSize || 10,\r\n pageSizes: [10, 20, 30, 40, 50],\r\n onChange: this.handleChangePaging,\r\n });\r\n const skeletonRowCount =\r\n this.state.rowCount > 0 && this.state.pageSize > this.state.rowCount\r\n ? this.state.rowCount\r\n : this.state.pageSize;\r\n function getTaskColor(cell) {\r\n if (cell == null || cell.info == null || cell.value == null) return '';\r\n\r\n if (cell.info.header == 'category' && cell.value == TaskCategory.CATEGORY_APPROVAL)\r\n return 'approvalC';\r\n if (cell.info.header == 'category' && cell.value == TaskCategory.CATEGORY_COMPILATION)\r\n return 'compilationC';\r\n\r\n return '';\r\n }\r\n const row = this.state.itemList || [];\r\n\r\n function linkToEntity(id) {\r\n let entity = row.find((el) => el.id == id);\r\n\r\n if (entity != null && entity.reference != null) {\r\n return (\r\n \r\n \r\n \r\n );\r\n } else return '';\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 {this.state.stateDivDownload ? this.divDownload() : ''}\r\n {this.renderSearchform()}\r\n\r\n (\r\n \r\n {this.state.isLoading ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n {headers.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {rows == null || rows.length == 0 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n {row.cells.map((cell) => (\r\n x.key === cell.info.header)}\r\n className={getTaskColor(cell)}\r\n />\r\n ))}\r\n\r\n \r\n
    {linkToEntity(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 );\r\n }\r\n render() {\r\n // const paginationProps = () => ({\r\n // page: this.state.currentPage || 1,\r\n // totalItems: this.state.rowCount || 0,\r\n // pageSize: this.state.pageSize || 10,\r\n // pageSizes: [10, 20, 30, 40, 50],\r\n // onChange: this.handleChangePaging,\r\n // });\r\n // const skeletonRowCount = (this.state.rowCount > 0 && this.state.pageSize > this.state.rowCount) ? this.state.rowCount : this.state.pageSize;\r\n const headersDataTable = [\r\n { key: 'category', header: 'Category' },\r\n { key: 'module', header: 'Module' },\r\n { key: 'content', header: 'Content' },\r\n { key: 'status', header: 'Status', type: 'status' },\r\n { key: 'assignedDate', header: 'Assigned Date', type: 'date' },\r\n { key: 'dueDate', header: 'DueDate', type: 'date' },\r\n ];\r\n const headersDataTable2 = [\r\n { key: 'module', header: 'Module' },\r\n { key: 'content', header: 'Content' },\r\n { key: 'status', header: 'Status', type: 'status' },\r\n { key: 'assignedDate', header: 'Assigned Date', type: 'date' },\r\n { key: 'dueDate', header: 'DueDate', type: 'date' },\r\n ];\r\n // function getTaskColor(cell) {\r\n\r\n // if (cell == null || cell.info == null || cell.value == null) return \"\";\r\n\r\n // if (cell.info.header == 'category' && cell.value == TaskCategory.CATEGORY_APPROVAL) return \"approval\";\r\n // if (cell.info.header == 'category' && cell.value == TaskCategory.CATEGORY_COMPILATION) return \"compilation\";\r\n // // if (cell.info.header == 'action') return \"\";\r\n\r\n // return \"\";\r\n // }\r\n // const row =this.state.itemList ||[];\r\n // function linkToEntity(id) {\r\n\r\n // let entity = row.find(el=>el.id==id);\r\n //\r\n // if (entity != null && entity.reference != null) {\r\n // return (\r\n // \r\n // );\r\n // } else return \"\";\r\n // }\r\n\r\n // function taskCompleted(id){\r\n // let entity = row.find(el=>el.id==id);\r\n // if(entity != null && entity.status != \"Completed\") {\r\n // return \r\n \r\n\r\n \r\n \r\n\r\n {this.state.stateDivDownload ? this.divDownload() : ''}\r\n {this.renderSearchform()}\r\n\r\n\r\n (\r\n \r\n {this.state.isLoading ?\r\n \r\n :\r\n \r\n \r\n {headers.map(header => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {\r\n (rows == null || rows.length == 0)\r\n ?\r\n \r\n :\r\n rows.map((row) => (\r\n \r\n {\r\n row.cells.map(cell =>\r\n x.key === cell.info.header)} className={getTaskColor(cell)} />\r\n )}\r\n\r\n\r\n \r\n\r\n
    \r\n {taskCompleted(row.id)}\r\n {linkToEntity(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 />\r\n
    \r\n \r\n
    \r\n\r\n\r\n */}\r\n \r\n\r\n \r\n {this.renderDataTable(headersDataTable2)}\r\n {/*
    \r\n */}\r\n {/* */}\r\n\r\n {/* \r\n */}\r\n\r\n {/* \r\n\r\n {this.state.stateDivDownload ? this.divDownload() : ''}\r\n {this.renderSearchform()}\r\n\r\n (\r\n \r\n {this.state.isLoading ?\r\n \r\n :\r\n \r\n \r\n {headers.map(header => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {\r\n (rows == null || rows.length == 0)\r\n ?\r\n \r\n :\r\n rows.map((row) => (\r\n \r\n {\r\n row.cells.map(cell =>\r\n x.key === cell.info.header)} className={getTaskColor(cell)} />\r\n )}\r\n\r\n\r\n \r\n\r\n
    \r\n {linkToEntity(row.id)}\r\n\r\n {row.cells[2].value != \"Completed\" ?\r\n\r\n
    \r\n
    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n }\r\n
    \r\n\r\n )}\r\n\r\n />\r\n
    \r\n \r\n
    \r\n\r\n\r\n
    */}\r\n
    \r\n \r\n {this.renderDataTable(headersDataTable2)}\r\n {/*
    \r\n */}\r\n {/* */}\r\n\r\n {/* \r\n \r\n\r\n\r\n \r\n\r\n {this.state.stateDivDownload ? this.divDownload() : ''}\r\n {this.renderSearchform()}\r\n\r\n (\r\n \r\n {this.state.isLoading ?\r\n \r\n :\r\n \r\n \r\n {headers.map(header => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {\r\n (rows == null || rows.length == 0)\r\n ?\r\n \r\n :\r\n rows.map((row) => (\r\n \r\n {\r\n row.cells.map(cell =>\r\n x.key === cell.info.header)} className={getTaskColor(cell)} />\r\n )}\r\n\r\n\r\n \r\n\r\n
    \r\n {linkToEntity(row.id)}\r\n {row.cells[2].value != \"Completed\" ?\r\n\r\n
    \r\n
    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n }\r\n
    \r\n\r\n )}\r\n\r\n />\r\n
    \r\n \r\n
    \r\n\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 PropTypes from \"prop-types\";\r\n\r\nimport { Checkbox } from 'carbon-components-react';\r\n\r\nconst { prefix } = \"bx\";\r\n\r\n// Check to see if a schema specifies that a value must be true\r\nfunction schemaRequiresTrueValue(schema) {\r\n // Check if const is a truthy value\r\n if (schema.const) {\r\n return true;\r\n }\r\n\r\n // Check if an enum has a single value of true\r\n if (schema.enum && schema.enum.length === 1 && schema.enum[0] === true) {\r\n return true;\r\n }\r\n\r\n // If anyOf has a single value, evaluate the subschema\r\n if (schema.anyOf && schema.anyOf.length === 1) {\r\n return schemaRequiresTrueValue(schema.anyOf[0]);\r\n }\r\n\r\n // If oneOf has a single value, evaluate the subschema\r\n if (schema.oneOf && schema.oneOf.length === 1) {\r\n return schemaRequiresTrueValue(schema.oneOf[0]);\r\n }\r\n\r\n // Evaluate each subschema in allOf, to see if one of them requires a true\r\n // value\r\n if (schema.allOf) {\r\n return schema.allOf.some(schemaRequiresTrueValue);\r\n }\r\n}\r\n\r\nfunction CheckboxWidget(props) {\r\n const {\r\n schema,\r\n id,\r\n value,\r\n disabled,\r\n readonly,\r\n label,\r\n autofocus,\r\n onBlur,\r\n onFocus,\r\n onChange,\r\n } = props;\r\n\r\n // Because an unchecked checkbox will cause html5 validation to fail, only add\r\n // the \"required\" attribute if the field value must be \"true\", due to the\r\n // \"const\" or \"enum\" keywords\r\n const required = schemaRequiresTrueValue(schema);\r\n\r\n return (\r\n
    \r\n {schema.type == \"boolean\" && (\r\n {label}\r\n )}\r\n onChange(event)}\r\n onBlur={onBlur && (event => onBlur(id, event))}\r\n onFocus={onFocus && (event => onFocus(id, event))}\r\n />\r\n
    \r\n );\r\n}\r\n\r\nCheckboxWidget.defaultProps = {\r\n autofocus: false,\r\n};\r\n\r\nif (process.env.NODE_ENV !== \"production\") {\r\n CheckboxWidget.propTypes = {\r\n schema: PropTypes.object.isRequired,\r\n id: PropTypes.string.isRequired,\r\n value: PropTypes.bool,\r\n required: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n readonly: PropTypes.bool,\r\n autofocus: PropTypes.bool,\r\n onChange: PropTypes.func,\r\n };\r\n}\r\n\r\nexport default CheckboxWidget;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { switchDateFormat } from \"./utils\";\r\n// import { DatePicker, DatePickerInput } from 'carbon-components-react';\r\nimport { DateFormat } from '../../../helpers/Constants';\r\nimport DateTimePicker from '../../DateTimePicker';\r\nfunction DateWidget(props) {\r\n\r\n if (!props.id) {\r\n console.log(\"No id for\", props);\r\n throw new Error(`no id for props ${JSON.stringify(props)}`);\r\n }\r\n const {\r\n value,\r\n readonly,\r\n disabled,\r\n autofocus,\r\n onBlur,\r\n onFocus,\r\n options,\r\n schema,\r\n formContext,\r\n registry,\r\n rawErrors,\r\n ...inputProps\r\n } = props;\r\n\r\n // If options.inputType is set use that as the input type\r\n if (options.inputType) {\r\n inputProps.type = options.inputType;\r\n } else if (!inputProps.type) {\r\n // If the schema is of type number or integer, set the input type to number\r\n if (schema.type === \"number\") {\r\n inputProps.type = \"number\";\r\n // Setting step to 'any' fixes a bug in Safari where decimals are not\r\n // allowed in number inputs\r\n inputProps.step = \"any\";\r\n } else if (schema.type === \"integer\") {\r\n inputProps.type = \"number\";\r\n // Since this is integer, you always want to step up or down in multiples\r\n // of 1\r\n inputProps.step = \"1\";\r\n } else {\r\n inputProps.type = \"text\";\r\n }\r\n }\r\n\r\n const _onChange = (name, value, alt) => {\r\n //value = data in formato BEDateFormat from './Constants';\r\n if (!value) return props.onChange(undefined);\r\n\r\n return props.onChange(value);\r\n };\r\n\r\n return (\r\n 0 ? true : false}\r\n onChange={_onChange}\r\n disabled={disabled}\r\n />\r\n );\r\n}\r\n\r\nif (process.env.NODE_ENV !== \"production\") {\r\n DateWidget.propTypes = {\r\n value: PropTypes.string,\r\n };\r\n}\r\n\r\nexport default DateWidget;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nfunction EmailWidget(props) {\r\n const { TextWidget } = props.registry.widgets;\r\n return ;\r\n}\r\n\r\nif (process.env.NODE_ENV !== \"production\") {\r\n EmailWidget.propTypes = {\r\n value: PropTypes.string,\r\n };\r\n}\r\n\r\nexport default EmailWidget;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { RadioButtonGroup, RadioButton } from 'carbon-components-react';\r\nfunction RadioWidget(props) {\r\n const {\r\n options,\r\n value,\r\n required,\r\n disabled,\r\n readonly,\r\n autofocus,\r\n onBlur,\r\n onFocus,\r\n onChange,\r\n id,\r\n } = props;\r\n // Generating a unique field name to identify this set of radio buttons\r\n const name = Math.random().toString();\r\n const { enumOptions, enumDisabled, inline } = options;\r\n // checked={checked} has been moved above name={name}, As mentioned in #349;\r\n // this is a temporary fix for radio button rendering bug in React, facebook/react#7630.\r\n return (\r\n onChange(event)}\r\n onBlur={onBlur && (event => onBlur(id, event))}\r\n onFocus={onFocus && (event => onFocus(id, event))}\r\n >\r\n {\r\n enumOptions.map((option, i) => {\r\n //const checked = option.value === value;\r\n const itemDisabled = enumDisabled && enumDisabled.indexOf(option.value) !== -1;\r\n return ();\r\n })\r\n }\r\n \r\n );\r\n}\r\n\r\nRadioWidget.defaultProps = {\r\n autofocus: false,\r\n};\r\n\r\nif (process.env.NODE_ENV !== \"production\") {\r\n RadioWidget.propTypes = {\r\n schema: PropTypes.object.isRequired,\r\n id: PropTypes.string.isRequired,\r\n options: PropTypes.shape({\r\n enumOptions: PropTypes.array,\r\n inline: PropTypes.bool,\r\n }).isRequired,\r\n value: PropTypes.any,\r\n required: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n readonly: PropTypes.bool,\r\n autofocus: PropTypes.bool,\r\n onChange: PropTypes.func,\r\n };\r\n}\r\nexport default RadioWidget;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Select, SelectItem } from 'carbon-components-react';\r\nimport { asNumber, guessType } from \"./utils\";\r\n\r\nconst nums = new Set([\"number\", \"integer\"]);\r\n\r\n/**\r\n * This is a silly limitation in the DOM where option change event values are\r\n * always retrieved as strings.\r\n */\r\nfunction processValue(schema, value) {\r\n // \"enum\" is a reserved word, so only \"type\" and \"items\" can be destructured\r\n const { type, items } = schema;\r\n if (value === \"\") {\r\n return undefined;\r\n } else if (type === \"array\" && items && nums.has(items.type)) {\r\n return value.map(asNumber);\r\n } else if (type === \"boolean\") {\r\n return value === \"true\";\r\n } else if (type === \"number\") {\r\n return asNumber(value);\r\n }\r\n\r\n // If type is undefined, but an enum is present, try and infer the type from\r\n // the enum values\r\n if (schema.enum) {\r\n if (schema.enum.every(x => guessType(x) === \"number\")) {\r\n return asNumber(value);\r\n } else if (schema.enum.every(x => guessType(x) === \"boolean\")) {\r\n return value === \"true\";\r\n }\r\n }\r\n\r\n return value;\r\n}\r\n\r\nfunction getValue(event, multiple) {\r\n if (multiple) {\r\n return [].slice\r\n .call(event.target.options)\r\n .filter(o => o.selected)\r\n .map(o => o.value);\r\n } else {\r\n return event.target.value;\r\n }\r\n}\r\n\r\nfunction SelectWidget(props) {\r\n const {\r\n schema,\r\n id,\r\n options,\r\n value,\r\n required,\r\n disabled,\r\n readonly,\r\n multiple,\r\n autofocus,\r\n onChange,\r\n onBlur,\r\n onFocus,\r\n placeholder,\r\n rawErrors\r\n } = props;\r\n const { enumOptions, enumDisabled } = options;\r\n const emptyValue = multiple ? [] : \"\";\r\n return (\r\n 0 ? true : false}\r\n\r\n\r\n onBlur={\r\n onBlur &&\r\n (event => {\r\n const newValue = getValue(event, multiple);\r\n onBlur(id, processValue(schema, newValue));\r\n })\r\n }\r\n onFocus={\r\n onFocus &&\r\n (event => {\r\n const newValue = getValue(event, multiple);\r\n onFocus(id, processValue(schema, newValue));\r\n })\r\n }\r\n onChange={event => {\r\n const newValue = getValue(event, multiple);\r\n onChange(processValue(schema, newValue));\r\n }}>\r\n\r\n {!multiple && schema.default === undefined && (\r\n \r\n )}\r\n {enumOptions.map(({ value, label }, i) => {\r\n const disabled = enumDisabled && enumDisabled.indexOf(value) !== -1;\r\n return (\r\n \r\n );\r\n })}\r\n \r\n );\r\n}\r\n\r\nSelectWidget.defaultProps = {\r\n autofocus: false,\r\n};\r\n\r\nif (process.env.NODE_ENV !== \"production\") {\r\n SelectWidget.propTypes = {\r\n schema: PropTypes.object.isRequired,\r\n id: PropTypes.string.isRequired,\r\n options: PropTypes.shape({\r\n enumOptions: PropTypes.array,\r\n }).isRequired,\r\n value: PropTypes.any,\r\n required: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n readonly: PropTypes.bool,\r\n multiple: PropTypes.bool,\r\n autofocus: PropTypes.bool,\r\n onChange: PropTypes.func,\r\n onBlur: PropTypes.func,\r\n onFocus: PropTypes.func,\r\n };\r\n}\r\n\r\nexport default SelectWidget;\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 PropTypes from \"prop-types\";\r\nimport { TextArea } from 'carbon-components-react';\r\nfunction TextareaWidget(props) {\r\n const {\r\n id,\r\n options,\r\n placeholder,\r\n value,\r\n required,\r\n disabled,\r\n readonly,\r\n autofocus,\r\n onChange,\r\n onBlur,\r\n onFocus,\r\n rawErrors\r\n } = props;\r\n const _onChange = ({ target: { value } }) => {\r\n return onChange(value === \"\" ? options.emptyValue : value);\r\n };\r\n\r\n return (\r\n onBlur(id, event.target.value))}\r\n onFocus={onFocus && (event => onFocus(id, event.target.value))}\r\n onChange={_onChange}\r\n hideLabel={false}\r\n labelText=\"\"\r\n invalid={rawErrors && rawErrors.length > 0 ? true : false}\r\n helperText=\"\"\r\n />);\r\n}\r\n\r\nTextareaWidget.defaultProps = {\r\n autofocus: false,\r\n options: {},\r\n};\r\n\r\nif (process.env.NODE_ENV !== \"production\") {\r\n TextareaWidget.propTypes = {\r\n schema: PropTypes.object.isRequired,\r\n id: PropTypes.string.isRequired,\r\n placeholder: PropTypes.string,\r\n options: PropTypes.shape({\r\n rows: PropTypes.number,\r\n }),\r\n value: PropTypes.string,\r\n required: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n readonly: PropTypes.bool,\r\n autofocus: PropTypes.bool,\r\n onChange: PropTypes.func,\r\n onBlur: PropTypes.func,\r\n onFocus: PropTypes.func,\r\n };\r\n}\r\n\r\nexport default TextareaWidget;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { TextInput } from 'carbon-components-react';\r\n\r\nfunction TextWidget(props) {\r\n if (!props.id) {\r\n console.log(\"No id for\", props);\r\n throw new Error(`no id for props ${JSON.stringify(props)}`);\r\n }\r\n \r\n const {\r\n value,\r\n readonly,\r\n disabled,\r\n autofocus,\r\n onBlur,\r\n onFocus,\r\n options,\r\n schema,\r\n formContext,\r\n registry,\r\n rawErrors,\r\n ...inputProps\r\n } = props;\r\n\r\n // If options.inputType is set use that as the input type\r\n if (options.inputType) {\r\n inputProps.type = options.inputType;\r\n } else if (!inputProps.type) {\r\n // If the schema is of type number or integer, set the input type to number\r\n if (schema.type === \"number\") {\r\n inputProps.type = \"number\";\r\n // Setting step to 'any' fixes a bug in Safari where decimals are not\r\n // allowed in number inputs\r\n inputProps.step = \"any\";\r\n } else if (schema.type === \"integer\") {\r\n inputProps.type = \"number\";\r\n // Since this is integer, you always want to step up or down in multiples\r\n // of 1\r\n inputProps.step = \"1\";\r\n } else {\r\n inputProps.type = \"text\";\r\n }\r\n }\r\n // If multipleOf is defined, use this as the step value. This mainly improves\r\n // the experience for keyboard users (who can use the up/down KB arrows).\r\n if (schema.multipleOf) {\r\n inputProps.step = schema.multipleOf;\r\n }\r\n\r\n if (typeof schema.minimum !== \"undefined\") {\r\n inputProps.min = schema.minimum;\r\n }\r\n\r\n if (typeof schema.maximum !== \"undefined\") {\r\n inputProps.max = schema.maximum;\r\n }\r\n\r\n const _onChange = ({ target: { value } }) => {\r\n return props.onChange(value === \"\" ? options.emptyValue : value);\r\n };\r\n\r\n return (\r\n\r\n onBlur(inputProps.id, event.target.value))}\r\n onFocus={onFocus && (event => onFocus(inputProps.id, event.target.value))}\r\n onChange={_onChange}\r\n invalid={rawErrors && rawErrors.length > 0 ? true : false}\r\n\r\n />\r\n );\r\n}\r\n\r\nif (process.env.NODE_ENV !== \"production\") {\r\n TextWidget.propTypes = {\r\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n id: PropTypes.string,\r\n };\r\n}\r\n\r\nexport default TextWidget;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nfunction URLWidget(props) {\r\n const { TextWidget } = props.registry.widgets;\r\n return (\r\n );\r\n}\r\n\r\nif (process.env.NODE_ENV !== \"production\") {\r\n URLWidget.propTypes = {\r\n value: PropTypes.string,\r\n };\r\n}\r\n\r\nexport default URLWidget;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { DateFormat } from '../../../helpers/Constants';\r\nimport { switchDateFormat } from \"./utils\";\r\n//import { DatePicker, DatePickerInput } from 'carbon-components-react';\r\nimport DateTimePicker from '../../DateTimePicker';\r\n\r\nfunction DateTimeWidget(props) {\r\n if (!props.id) {\r\n throw new Error(`no id for props ${JSON.stringify(props)}`);\r\n }\r\n const {\r\n value,\r\n readonly,\r\n disabled,\r\n autofocus,\r\n onBlur,\r\n onFocus,\r\n options,\r\n schema,\r\n formContext,\r\n registry,\r\n rawErrors,\r\n ...inputProps\r\n } = props;\r\n\r\n // If options.inputType is set use that as the input type\r\n if (options.inputType) {\r\n inputProps.type = options.inputType;\r\n } else if (!inputProps.type) {\r\n // If the schema is of type number or integer, set the input type to number\r\n if (schema.type === \"number\") {\r\n inputProps.type = \"number\";\r\n // Setting step to 'any' fixes a bug in Safari where decimals are not\r\n // allowed in number inputs\r\n inputProps.step = \"any\";\r\n } else if (schema.type === \"integer\") {\r\n inputProps.type = \"number\";\r\n // Since this is integer, you always want to step up or down in multiples\r\n // of 1\r\n inputProps.step = \"1\";\r\n } else {\r\n inputProps.type = \"text\";\r\n }\r\n }\r\n\r\n const _onChange = (name, value, alt) => {\r\n //value = data time in formato BEDateFormat + from './Constants';\r\n if (!value) return props.onChange(undefined);\r\n\r\n return props.onChange(value);\r\n };\r\n\r\n\r\n return (\r\n 0 ? true : false}\r\n onChange={_onChange}\r\n disabled={disabled}\r\n />\r\n );\r\n}\r\n\r\nif (process.env.NODE_ENV !== \"production\") {\r\n DateTimeWidget.propTypes = {\r\n value: PropTypes.string,\r\n };\r\n}\r\n\r\nexport default DateTimeWidget;\r\n","import CheckboxWidget from \"./CheckboxWidget\";\r\nimport DateWidget from \"./DateWidget\";\r\nimport EmailWidget from \"./EmailWidget\";\r\nimport RadioWidget from \"./RadioWidget\";\r\nimport SelectWidget from \"./SelectWidget\";\r\nimport TextareaWidget from \"./TextareaWidget\";\r\nimport TextWidget from \"./TextWidget\";\r\nimport URLWidget from \"./URLWidget\";\r\nimport UpDownWidget from \"./UpDownWidget\";\r\nimport DateTimeWidget from \"./DateTimeWidget\";\r\n\r\nexport default {\r\n TextWidget\r\n , CheckboxWidget\r\n , DateWidget\r\n , DateTimeWidget\r\n , EmailWidget\r\n , RadioWidget\r\n , SelectWidget\r\n , TextareaWidget\r\n , UpDownWidget\r\n , URLWidget\r\n};\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { NumberInput } from 'carbon-components-react';\r\n\r\n\r\nfunction UpDownWidget(props) {\r\n\r\n if (!props.id) {\r\n console.log(\"No id for\", props);\r\n throw new Error(`no id for props ${JSON.stringify(props)}`);\r\n }\r\n const {\r\n value,\r\n readonly,\r\n disabled,\r\n autofocus,\r\n onBlur,\r\n onFocus,\r\n options,\r\n schema,\r\n formContext,\r\n registry,\r\n rawErrors,\r\n ...inputProps\r\n } = props;\r\n\r\n const _onChange = ({ target: { value } }) => {\r\n return props.onChange(value === \"\" ? options.emptyValue : value);\r\n };\r\n return (\r\n onBlur(inputProps.id, event.target.value))}\r\n onFocus={onFocus && (event => onFocus(inputProps.id, event.target.value))}\r\n onChange={_onChange}\r\n invalid={rawErrors && rawErrors.length > 0 ? true : false}\r\n />\r\n );\r\n}\r\n\r\nif (process.env.NODE_ENV !== \"production\") {\r\n UpDownWidget.propTypes = {\r\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\r\n };\r\n}\r\n\r\nexport default UpDownWidget;\r\n","import React from 'react';\r\nimport Form from \"react-jsonschema-form\";\r\nimport { Button } from 'carbon-components-react';\r\nimport { default as customWidgets } from './customwidget'\r\nimport RTEField from \"react-jsonschema-form-extras/lib/RTEField\";\r\n//import fields from \"react-jsonschema-form-extras\";\r\n\r\nexport default function JSForm(props) {\r\n const { forwardedRef, ...rest } = props;\r\n\r\n function transformErrors(errors) {\r\n return errors.map(error => {\r\n if (error.name === \"required\") {\r\n error.message = \"Required Field\"\r\n }\r\n return error;\r\n });\r\n }\r\n\r\n const customFormats = {\r\n 'guid': /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/\r\n };\r\n\r\n //const additionalMetaSchemas = require(\"ajv/lib/refs/json-schema-draft-04.json\");\r\n\r\n function validate(formData, errors) {\r\n if (\"validSince\" in formData && \"validUntil\" in formData) {\r\n if (formData.validSince != null && formData.validUntil != null &&\r\n Date.parse(formData.validSince) > Date.parse(formData.validUntil)) {\r\n errors.validUntil.addError(\"Valid Until should be greater than Valid Since\");\r\n }\r\n }\r\n return errors;\r\n }\r\n\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n {props.showButton &&\r\n
    \r\n \r\n \r\n
    \r\n\r\n }\r\n
    \r\n \r\n
    );\r\n}\r\n","/* eslint-disable react/forbid-prop-types */\r\n/* eslint-disable react/require-default-props */\r\n// eslint-disable-next-line max-classes-per-file\r\nimport { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst inBrowser = typeof navigator !== 'undefined';\r\nconst channel = window.BroadcastChannel ? new BroadcastChannel('saipem-insight') : null;\r\n\r\nclass OnLineOffLine extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n online: inBrowser && typeof navigator.onLine === 'boolean' ? navigator.onLine : true\r\n };\r\n // bind event handlers\r\n this.goOnline = this.goOnline.bind(this);\r\n this.goOffline = this.goOffline.bind(this);\r\n this.onMessageReceived = this.onMessageReceived.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n window.addEventListener('online', this.goOnline);\r\n window.addEventListener('offline', this.goOffline);\r\n if (channel)\r\n channel.addEventListener('message', this.onMessageReceived);\r\n else\r\n navigator.serviceWorker.addEventListener('message', this.onMessageReceived);\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('online', this.goOnline);\r\n window.removeEventListener('offline', this.goOffline);\r\n if (channel)\r\n channel.removeEventListener('message', this.onMessageReceived);\r\n else\r\n navigator.serviceWorker.removeEventListener('message', this.onMessageReceived);\r\n }\r\n\r\n onMessageReceived(message) {\r\n if (this.props.onMessageReceived) this.props.onMessageReceived(message.data);\r\n }\r\n\r\n goOnline() {\r\n if (!this.state.online) {\r\n this.callOnChangeHandler(true);\r\n this.setState({ online: true });\r\n }\r\n }\r\n\r\n goOffline() {\r\n if (this.state.online) {\r\n this.callOnChangeHandler(false);\r\n this.setState({ online: false });\r\n }\r\n }\r\n\r\n callOnChangeHandler(online) {\r\n if (this.props.onChange) {\r\n this.props.onChange(online);\r\n }\r\n }\r\n}\r\n\r\nOnLineOffLine.propTypes = {\r\n onChange: PropTypes.func,\r\n onMessageReceived: PropTypes.func\r\n};\r\nOnLineOffLine.defaultProps = {};\r\n\r\nexport class Online extends OnLineOffLine {\r\n render() {\r\n return this.state.online ? this.props.children : null;\r\n }\r\n}\r\nOnline.propTypes = OnLineOffLine.propTypes;\r\nOnline.defaultProps = OnLineOffLine.defaultProps;\r\n\r\nexport class Offline extends OnLineOffLine {\r\n render() {\r\n return !this.state.online ? this.props.children : null;\r\n }\r\n}\r\nOffline.propTypes = OnLineOffLine.propTypes;\r\nOffline.defaultProps = OnLineOffLine.defaultProps;\r\n","import React, { Component } from 'react';\r\nimport JSForm from './JSForm';\r\nimport {\r\n Add16,\r\n Delete16,\r\n Edit16,\r\n Checkmark24,\r\n ArrowLeft20,\r\n Fork16,\r\n Home20,\r\n Download16,\r\n Document16,\r\n} from '@carbon/icons-react';\r\nimport { getSuccess, getError, apioperation } from '../Constants';\r\nimport { dynamic, training } from '../../helpers/api/api';\r\nimport {\r\n DataTable,\r\n Search,\r\n Pagination,\r\n DataTableSkeleton,\r\n ButtonSkeleton,\r\n TableContainer,\r\n TableToolbar,\r\n Button,\r\n Table,\r\n TableHead,\r\n TableRow,\r\n TableHeader,\r\n TableBody,\r\n TableCell,\r\n Loading,\r\n ComposedModal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Breadcrumb,\r\n BreadcrumbItem,\r\n} from 'carbon-components-react';\r\nimport { RenderDataTableCell, NoRecordsPlaceholder } from './DataTableExtention';\r\nimport PageBreadCrumb from '../../helpers/PageBreadCrumb';\r\nimport { Online, Offline } from '../../components/common/OnLineOffLine';\r\n//import { confirmAlert } from 'react-confirm-alert'; // Import\r\nimport 'react-confirm-alert/src/react-confirm-alert.css'; // Import css\r\n\r\nimport { showNotification } from '../notification/BaseNotification';\r\nimport moment from 'moment';\r\n\r\nconst log = (type) => console.log.bind(console, type);\r\n\r\nfunction handleResponse(response) {\r\n //if (!response.status==200) {\r\n // const error = (data && data.message) || response.statusText;\r\n // return Promise.reject(error);\r\n //}\r\n return response.data;\r\n}\r\nfunction getInsertSchema(sch) {\r\n if (sch == null) return {};\r\n let insertSchema = { ...sch };\r\n if ('definitions' in sch) {\r\n const def = { ...sch.definitions };\r\n for (var k in def) {\r\n if ('inUse' in def[k] && def[k]['inUse'] != null) {\r\n let filterEnum = {\r\n type: def[k].type,\r\n enum: [],\r\n enumNames: [],\r\n inUse: [],\r\n };\r\n for (let j = 0; j < def[k]['inUse'].length; j++) {\r\n if (def[k]['inUse'][j] == true) {\r\n filterEnum.enum.push(def[k]['enum'][j]);\r\n filterEnum.enumNames.push(def[k]['enumNames'][j]);\r\n filterEnum['inUse'].push(def[k]['inUse'][j]);\r\n }\r\n }\r\n insertSchema['definitions'][k] = Object.assign({}, filterEnum);\r\n }\r\n }\r\n }\r\n return insertSchema;\r\n}\r\n\r\nexport default class JSCrud extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.handlePaging = this.handlePaging.bind(this);\r\n this.onCloseConfirm = this.onCloseConfirm.bind(this);\r\n this.setParent = this.setParent.bind(this);\r\n\r\n this.state = {\r\n baseUrl: props.entity + '/',\r\n formData: undefined,\r\n originalFormData: undefined,\r\n schema: {},\r\n insertSchema: {},\r\n uiSchema: props.uiSchema || {\r\n id: { 'ui:widget': 'hidden' },\r\n // name: { 'ui:widget': 'textarea' }, //for future CR\r\n }, //di base nascondo sempre il campo id\r\n itemList: [],\r\n isLoading: true,\r\n isLoadingSchema: true,\r\n isLoadingModal: true,\r\n isOpenModal: false,\r\n isEditModal: false,\r\n isSubmitted: false,\r\n isDeleting: false,\r\n confirmModal: false,\r\n idToDelete: null,\r\n currentPage: 1,\r\n pageSize: 10,\r\n rowCount: 0,\r\n search: '',\r\n isRecursive: props.isRecursive || false,\r\n idParent: null,\r\n parentHistory: [],\r\n isReadOnly: props.isReadOnly || false,\r\n isExportLoading: false,\r\n isViewSubContractor: false\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.getItemList();\r\n this.getSchema();\r\n }\r\n\r\n backToFirstParent() {\r\n this.setState(\r\n {\r\n idParent: null,\r\n parentHistory: [],\r\n },\r\n () => {\r\n this.getItemList();\r\n this.getSchema();\r\n }\r\n );\r\n }\r\n\r\n backToPrevParent() {\r\n const arrlength = this.state.parentHistory.length;\r\n if (arrlength > 1) {\r\n const list = this.state.parentHistory.slice(0, arrlength - 1);\r\n const element = list[list.length - 1];\r\n this.setState(\r\n {\r\n idParent: element.id,\r\n parentHistory: list,\r\n },\r\n () => {\r\n this.getItemList();\r\n this.getSchema();\r\n }\r\n );\r\n } else {\r\n this.backToFirstParent();\r\n }\r\n }\r\n\r\n setParent(id) {\r\n let element = this.state.itemList.find((el) => el.id == id);\r\n if (element != null) {\r\n const list = this.state.parentHistory.concat([element]);\r\n this.setState(\r\n {\r\n idParent: id,\r\n parentHistory: list,\r\n },\r\n () => {\r\n this.getItemList();\r\n this.getSchema();\r\n }\r\n );\r\n } else {\r\n showNotification.error();\r\n }\r\n }\r\n\r\n getSchema() {\r\n this.setState({\r\n isLoadingSchema: true,\r\n });\r\n\r\n var urlSchema = this.state.baseUrl + 'jsonschema';\r\n var data = {};\r\n\r\n if (this.state.idParent != null) {\r\n data = {\r\n params: {\r\n parent: this.state.idParent,\r\n },\r\n };\r\n }\r\n\r\n dynamic\r\n .getAll(urlSchema, data)\r\n .then(handleResponse)\r\n .then((data) => {\r\n var sch = JSON.parse(data);\r\n\r\n delete sch.$schema; //rimuovo campo non necessario dallo schema\r\n //imposto il depthLevel per le anagrafiche ricorsive\r\n if (this.state.isRecursive) {\r\n if (sch['properties'] && 'depthLevel' in sch['properties']) {\r\n sch.properties.depthLevel.default = this.state.parentHistory.length;\r\n }\r\n }\r\n\r\n var insSch = getInsertSchema(JSON.parse(JSON.stringify(sch)));\r\n this.setState({\r\n isLoadingSchema: false,\r\n schema: sch,\r\n insertSchema: insSch,\r\n });\r\n });\r\n }\r\n\r\n getItemList(param) {\r\n this.setState({ isLoading: true });\r\n\r\n const data = {\r\n params: {\r\n page: param != null ? param.page : this.state.currentPage,\r\n pageSize: param != null ? param.pageSize : this.state.pageSize,\r\n search: this.state.search,\r\n parent: this.state.idParent,\r\n },\r\n };\r\n\r\n dynamic\r\n .getAll(this.state.baseUrl, data)\r\n .then(handleResponse)\r\n .then((data) => {\r\n this.setState({\r\n isLoading: false,\r\n ...data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(getError(error, this.props.title, apioperation.GET));\r\n });\r\n }\r\n\r\n getForEdit(id, view = false) {\r\n this.setState({\r\n isEditModal: true,\r\n isLoadingModal: true,\r\n isOpenModal: true,\r\n isViewSubContractor: view\r\n });\r\n dynamic\r\n .get(this.state.baseUrl, id)\r\n .then(handleResponse)\r\n .then((data) => {\r\n if (this.props.nullableEnumProperty && this.props.nullableEnumProperty.length > 0) {\r\n for (var i = 0; i < this.props.nullableEnumProperty.length; i++) {\r\n var item = this.props.nullableEnumProperty[i];\r\n\r\n if (data.hasOwnProperty(item) && data[item] === null) {\r\n data[item] = undefined;\r\n }\r\n }\r\n }\r\n\r\n this.setState({\r\n originalFormData: data,\r\n formData: data,\r\n isLoadingModal: false,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(getError(error, this.props.title, apioperation.GET));\r\n });\r\n }\r\n\r\n confirmDelete = (id) => {\r\n this.setState({\r\n idToDelete: id,\r\n confirmModal: true,\r\n isDeleting: false,\r\n });\r\n };\r\n\r\n onCloseConfirm() {\r\n this.setState({\r\n confirmModal: false,\r\n });\r\n }\r\n\r\n confirmAlertCustom() {\r\n let id = this.state.idToDelete;\r\n if (id == null) return null;\r\n\r\n let element = this.state.itemList.find((el) => el.id == id);\r\n let nameItem = element != null ? element.code || element.name : null;\r\n let loading = this.state.isDeleting;\r\n return (\r\n \r\n \r\n \r\n {loading && }\r\n

    {nameItem}

    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n deleteItem() {\r\n let id = this.state.idToDelete;\r\n this.setState({\r\n isDeleting: true,\r\n });\r\n dynamic\r\n .delete(this.state.baseUrl, id)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n this.setState({\r\n isDeleting: false,\r\n idToDelete: null,\r\n });\r\n this.onCloseConfirm();\r\n this.getItemList();\r\n showNotification.success(getSuccess(this.props.title, apioperation.DELETE));\r\n } else {\r\n this.setState({\r\n isDeleting: false,\r\n });\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({\r\n isDeleting: false,\r\n });\r\n showNotification.error(getError(error, this.props.title, apioperation.DELETE));\r\n });\r\n }\r\n\r\n handleSubmit(formData) {\r\n //CR\r\n if(this.state.isEditModal && this.props.entity === 'trainingdata' && this.state.originalFormData?.duration == 0 && formData.duration != 0){\r\n /* if you try to change the duration of a training data from 0 to n, \r\n it checks if there are any trainings in progress that use that training data.\r\n If so, we notify the user by opening the modal (isOpenAlertModal)\r\n */\r\n this.setState({\r\n isSubmitted: true,\r\n formData,\r\n })\r\n \r\n training.get(\"trainingdata/\", formData.id).then(res => {\r\n // checks if there are any trainings in progress that use that training data\r\n if(res.data === true){\r\n this.setState({\r\n isSubmitted: false,\r\n isOpenModal:false,\r\n isOpenAlertModal: true\r\n })\r\n }else this.submit(formData)\r\n })\r\n return\r\n }\r\n this.submit(formData)\r\n //\r\n }\r\n\r\n renderAlertModal = () => {\r\n const loading = this.state.isSubmitted\r\n return (\r\n this.setState({isOpenAlertModal: false})}\r\n >\r\n \r\n \r\n {loading && } \r\n

    Attention in the archive there are training still in progress for this training data code. Would you like to proceed and modify the duration anyway?

    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n )\r\n }\r\n\r\n\r\n\r\nsubmit = (formData) => {\r\n let datiForm = {...formData};\r\n this.setState({\r\n isSubmitted: true,\r\n formData: datiForm,\r\n });\r\n\r\n let urlSchema = this.state.baseUrl;\r\n let method = this.state.isEditModal\r\n ? dynamic.put(urlSchema, datiForm)\r\n : dynamic.post(urlSchema, datiForm);\r\n\r\n method\r\n .then((response) => {\r\n if (response.status == 200) {\r\n this.getItemList();\r\n this.setState({\r\n formData: undefined,\r\n isSubmitted: false,\r\n isOpenModal: false,\r\n isOpenAlertModal:false\r\n });\r\n showNotification.success(\r\n getSuccess(\r\n this.props.title,\r\n this.state.isEditModal ? apioperation.PUT : apioperation.POST\r\n )\r\n );\r\n } else {\r\n this.setState({\r\n isSubmitted: false,\r\n isOpenAlertModal:false\r\n });\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({\r\n isSubmitted: false,\r\n isOpenAlertModal:false\r\n });\r\n showNotification.error(\r\n getError(\r\n error,\r\n this.props.title,\r\n this.state.isEditModal ? apioperation.PUT : apioperation.POST\r\n )\r\n );\r\n });\r\n }\r\n\r\n addNew() {\r\n this.setState({\r\n formData: undefined,\r\n isEditModal: false,\r\n isOpenModal: true,\r\n });\r\n }\r\n\r\n downloadFile() {\r\n if (this.state.isExportLoading) return;\r\n\r\n this.setState({\r\n isExportLoading: true,\r\n });\r\n dynamic\r\n .getAll(this.state.baseUrl + 'excel', { responseType: 'arraybuffer' })\r\n .then((response) => {\r\n //fileDownload(new Blob([response.data]), 'report.xlsx');\r\n var data = new Blob([response.data], {\r\n type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\r\n });\r\n var csvURL = window.URL.createObjectURL(data);\r\n var tempLink = document.createElement('a');\r\n tempLink.href = csvURL;\r\n\r\n var nomefile =\r\n 'Export_' + this.props.title + '_' + moment().format('YYYYMMDDHHmmSS') + '.xlsx';\r\n tempLink.setAttribute('download', nomefile);\r\n\r\n document.body.appendChild(tempLink);\r\n tempLink.click();\r\n })\r\n .catch((error) => {\r\n showNotification.error(getError(error, 'Download File', apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isExportLoading: false,\r\n });\r\n });\r\n }\r\n\r\n toggleModal(open) {\r\n if(open){\r\n this.setState({ isOpenModal: open });\r\n }\r\n \r\n if(!open){\r\n this.setState({ isOpenModal: open, isViewSubContractor: false });\r\n }\r\n }\r\n\r\n handlePaging(event) {\r\n this.getItemList(event);\r\n }\r\n\r\n handleSearchFormSubmit = (e) => {\r\n e.preventDefault();\r\n this.getItemList({ page: 1 });\r\n };\r\n\r\n handleInputChange = (e) => {\r\n let val = e.target.value;\r\n this.setState(\r\n {\r\n search: val,\r\n },\r\n () => {\r\n if (val == '') {\r\n this.getItemList({ page: 1 });\r\n }\r\n }\r\n );\r\n };\r\n\r\n showLoading() {\r\n let show = (this.state.isEditModal && this.state.isLoadingModal) || this.state.isSubmitted;\r\n let descr = this.state.isSubmitted ? 'Saving...' : 'Loading data...';\r\n return show && ;\r\n //return ()\r\n }\r\n\r\n crudModal() {\r\n const propsC = {\r\n modalHeader: () => ({\r\n title: (this.state.isEditModal ? 'Edit ' : 'Add new ') + this.props.title,\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.toggleModal(false),\r\n }),\r\n };\r\n\r\n const ref = React.createRef();\r\n\r\n return (\r\n this.toggleModal(false)}\r\n onClose={() => {\r\n return false;\r\n }}\r\n >\r\n \r\n \r\n {this.showLoading()}\r\n\r\n this.handleSubmit(e.formData)}\r\n onError={log('errors')}\r\n disabled={this.state.isReadOnly}\r\n forwardedRef={ref}\r\n />\r\n \r\n {(!this.state.isReadOnly && !this.state.isViewSubContractor) && (\r\n \r\n \r\n {\r\n ref.current.submit();\r\n }}\r\n >\r\n Save\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const paginationProps = () => ({\r\n page: this.state.currentPage || 1,\r\n totalItems: this.state.rowCount || 0,\r\n pageSize: this.state.pageSize || 10,\r\n pageSizes: [10, 20, 30, 40, 50],\r\n onChange: this.handlePaging,\r\n });\r\n\r\n const skeletonRowCount =\r\n this.state.rowCount > 0 && this.state.pageSize > this.state.rowCount\r\n ? this.state.rowCount\r\n : this.state.pageSize;\r\n\r\n return this.props.headers ? (\r\n <>\r\n \r\n\r\n
    \r\n {this.confirmAlertCustom()}\r\n {this.state.isRecursive && (\r\n \r\n this.backToPrevParent()}\r\n >\r\n \r\n \r\n this.backToFirstParent()}>\r\n \r\n \r\n\r\n {this.state.parentHistory &&\r\n this.state.parentHistory.map((item, index) => (\r\n \r\n {'level ' + index + ' - ' + (item.code || item.name)}\r\n \r\n ))}\r\n \r\n {'level ' + this.state.parentHistory.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\n \r\n this.downloadFile()}\r\n className=\"btn-notext\"\r\n iconDescription=\" \"\r\n renderIcon={Download16}\r\n >\r\n {!this.state.isExportLoading ? '' : }\r\n \r\n \r\n \r\n {!this.state.isReadOnly &&\r\n (this.state.isLoadingSchema ? (\r\n \r\n ) : (\r\n \r\n ))}\r\n \r\n \r\n {this.state.isLoading ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n {headers.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {rows == null || rows.length == 0 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n {row.cells.map((cell) => (\r\n x.key === cell.info.header)}\r\n />\r\n ))}\r\n\r\n \r\n
    \r\n \r\n {this.props.entity === 'subcontractor' && row?.cells[4]?.value ?\r\n this.getForEdit(row.id, true)}\r\n size=\"small\"\r\n renderIcon={Document16}\r\n iconDescription=\"Details\"\r\n kind=\"ghost\"\r\n /> : \r\n this.state.isReadOnly ? (\r\n this.getForEdit(row.id)}\r\n size=\"small\"\r\n renderIcon={Document16}\r\n iconDescription=\"Details\"\r\n kind=\"ghost\"\r\n />\r\n ) : (\r\n <>\r\n this.getForEdit(row.id)}\r\n size=\"small\"\r\n renderIcon={Edit16}\r\n iconDescription=\"Edit\"\r\n kind=\"ghost\"\r\n />\r\n this.confirmDelete(row.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n />\r\n {this.state.isRecursive && (\r\n this.setParent(row.id)}\r\n size=\"small\"\r\n renderIcon={Fork16}\r\n iconDescription=\"Set Parent\"\r\n kind=\"ghost\"\r\n />\r\n )}\r\n \r\n ) \r\n }\r\n \r\n
    \r\n \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n )}\r\n
    \r\n )}\r\n />\r\n
    \r\n \r\n
    \r\n {this.crudModal()}\r\n {this.renderAlertModal()}\r\n
    \r\n \r\n ) : (\r\n

    Error for JSCrud props.headers is required

    \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport Autocomplete from 'react-autocomplete';\r\n\r\nexport default class AutocompleteInput extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Loading, ComposedModal, ModalHeader, ModalBody, ModalFooter, Button } from 'carbon-components-react';\r\n\r\n\r\nexport function ConfirmAlertCustom(props) {\r\n let id = props.idToDelete;\r\n if (id == null) return null;\r\n\r\n let nameItem = props.nameItem;\r\n let loading = props.isDeleting;\r\n return (\r\n \r\n \r\n {loading && }\r\n

    {nameItem}

    \r\n {props.children}\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 DualListBox from 'react-dual-listbox';\r\nimport Chevronleft16 from '@carbon/icons-react/lib/chevron--left/16';\r\nimport Chevronright16 from '@carbon/icons-react/lib/chevron--right/16';\r\n\r\n\r\n\r\n\r\nfunction arraysEqual(arr1, arr2) {\r\n if (arr1 == null && arr2 == null) return true;\r\n if (arr1 != null && arr2 == null) return false;\r\n if (arr1 == null && arr2 != null) return false;\r\n if (arr1.length !== arr2.length)\r\n return false;\r\n for (var i = arr1.length; i--;) {\r\n if (arr1[i] !== arr2[i])\r\n return false;\r\n }\r\n\r\n return true;\r\n}\r\n\r\nexport class DualListWidget extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n shouldComponentUpdate(nextProps, nextState) {\r\n\r\n return !arraysEqual(nextProps.selected, this.props.selected);\r\n }\r\n\r\n\r\n\r\n onChange = (selected) => {\r\n const index = this.props.idRole;\r\n\r\n if (!this.props.disabled) {\r\n this.props.onChange(selected, index);\r\n }\r\n };\r\n\r\n onFilter = (options, filterInput) => {\r\n if (!filterInput) {\r\n return true;\r\n }\r\n\r\n let match = false;\r\n if (options.division == null) {\r\n match = (new RegExp(filterInput, 'i')).test(options.label);\r\n } else {\r\n match = (new RegExp(filterInput, 'i')).test(options.label) || (new RegExp(filterInput, 'i')).test(options.division);\r\n }\r\n\r\n return match;\r\n };\r\n\r\n render() {\r\n\r\n const { options, selected } = this.props;\r\n\r\n return (\r\n
    \r\n
    \r\n ,\r\n moveAllLeft: [\r\n\r\n ,\r\n ,\r\n ],\r\n moveRight: ,\r\n moveAllRight: [\r\n ,\r\n ,\r\n ],\r\n moveDown: ,\r\n moveUp: ,\r\n }}\r\n />\r\n
    \r\n
    \r\n\r\n );\r\n }\r\n}","/* eslint-disable react/jsx-props-no-spreading */\r\n/* eslint-disable react/forbid-prop-types */\r\n/* eslint-disable react/require-default-props */\r\n// eslint-disable-next-line max-classes-per-file\r\nimport React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Button } from 'carbon-components-react';\r\nimport { api } from '../../helpers/api/api';\r\nimport propTypes from 'prop-types';\r\n\r\nconst download = (blob, fileName) => {\r\n if (navigator.msSaveBlob) {\r\n // IE 10+\r\n navigator.msSaveBlob(blob, fileName);\r\n } else {\r\n const link = document.createElement('a');\r\n // Browsers that support HTML5 download attribute\r\n if (link.download !== undefined) {\r\n const url = URL.createObjectURL(blob);\r\n link.setAttribute('href', url);\r\n link.setAttribute('download', fileName);\r\n link.style.visibility = 'hidden';\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n }\r\n};\r\n\r\nexport default class FileDownLoadButton extends Component {\r\n constructor(props) {\r\n super(props);\r\n // bind event handlers\r\n this.downloadFile = this.downloadFile.bind(this);\r\n }\r\n\r\n downloadFile = async () => {\r\n try {\r\n this.props.onDownLoadStart();\r\n const file = this.props.method === 'post' && this.props.postBody !== null ? (await api.postBlob(this.props.apiUrl, this.props.postBody)).data : (await api.getBlob(this.props.apiUrl)).data;\r\n return download(file, this.props.fileName);\r\n } catch (error) {\r\n console.error(error);\r\n return this.props.onError(error);\r\n } finally {\r\n this.props.onDownLoadEnd();\r\n }\r\n };\r\n\r\n startDownLoad = async (url, name) => {\r\n const file = (await api.getBlob(url)).data;\r\n return download(file, name);\r\n };\r\n\r\n render() {\r\n const { ...buttonProps } = this.props;\r\n delete buttonProps.fileName;\r\n delete buttonProps.apiUrl;\r\n delete buttonProps.method;\r\n delete buttonProps.postBody;\r\n delete buttonProps.onDownLoadStart;\r\n delete buttonProps.onDownLoadEnd;\r\n delete buttonProps.onError;\r\n return \r\n \r\n \r\n \r\n )\r\n );\r\n }\r\n\r\n renderInsertForm() {\r\n const validations = {\r\n validUntil: this.validator.message('validUntil', this.state.userModel.validUntil, 'required'),\r\n email: this.validator.message('email', this.state.userModel.email, 'required|email'),\r\n surname: this.validator.message('surname', this.state.userModel.surname, 'required'),\r\n name: this.validator.message('name', this.state.userModel.name, 'required'),\r\n userRoles: this.validator.message('roles', this.setSelectedEntityRoles(), 'required'),\r\n userAppModules: this.validator.message(\r\n 'modules',\r\n this.state.userModel.userAppModules,\r\n 'required'\r\n ),\r\n };\r\n const _appModules = this.state.appModuleList || [];\r\n const _selectedAppModules = this.state.userModel.userAppModules || [];\r\n const isCheckedAppModules = (idAppModule) => {\r\n const element = _selectedAppModules.find((el) => el.idAppModule == idAppModule);\r\n return element != null;\r\n };\r\n return (\r\n
    \r\n
    \r\n {this.showLoading()}\r\n {/* Lorem ipsum dolor sit lorem a amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt. */}\r\n\r\n
    \r\n \r\n Email*\r\n {/* \r\n */}\r\n item.mail}\r\n onSelect={this.onSelectAutocomplete}\r\n onChange={this.onChangeAutocomplete}\r\n renderMenu={(items, value) => (\r\n
    \r\n {value === '' ? null : (\r\n
    \r\n {this.state.autocompleteLoadingUsers ? (\r\n
    Loading...
    \r\n ) : this.state.isNowEntered ? null : items.length === 0 ? (\r\n
    No matches for \"{value}\"
    \r\n ) : (\r\n items\r\n )}\r\n
    \r\n )}\r\n
    \r\n )}\r\n renderItem={(item, isHighlighted) => (\r\n \r\n {item.mail}\r\n
    \r\n )}\r\n />\r\n {validations.email}\r\n \r\n\r\n \r\n Surname*\r\n \r\n {validations.surname}\r\n \r\n\r\n \r\n Name*\r\n \r\n {validations.name}\r\n \r\n\r\n \r\n Valid Until*\r\n \r\n {validations.validUntil}\r\n \r\n\r\n \r\n Enabled\r\n this.updateState('enabled', el, 'userModel')}\r\n className=\"bx--form-item bx--checkbox-wrapper\"\r\n disabled={!this.state.amUser || false} /* RITM0587358 */\r\n />\r\n \r\n\r\n \r\n {/* App Module */}\r\n Modules*\r\n
    \r\n {_appModules.map((item) => (\r\n
    \r\n \r\n
    \r\n ))}\r\n
    \r\n {validations.userAppModules}\r\n
    \r\n\r\n \r\n {/* Roles */}\r\n Roles*\r\n {validations.userRoles}\r\n {this.showDualList()}\r\n \r\n
    \r\n {!this.state.amUser && (\r\n
    \r\n this.closeInsertForm()}\r\n >\r\n Back\r\n \r\n
    \r\n )}\r\n {this.state.amUser && ( /* RITM0587358 */\r\n
    \r\n this.closeInsertForm()}\r\n >\r\n Cancel\r\n \r\n this.handleSubmitInsert()}\r\n >\r\n Save\r\n \r\n
    \r\n )}\r\n \r\n \r\n );\r\n }\r\n\r\n showDualList() {\r\n const division = this.state.appDivision;\r\n const medivision = this.state.appMeDivision;\r\n const worksites = this.state.appWorksites;\r\n const selectedRole = this.state.selectedRoleEntity || [];\r\n const selectedIndex = this.state.selectedSwitchIndex;\r\n const _appRoles = this.state.appRoleList || [];\r\n const role = selectedIndex != null ? _appRoles[selectedIndex] : null;\r\n const isCorporateAdmin = (this.state.appMeDivision || []).find(\r\n (el) => el.value.toUpperCase() == 'F50C9FB3-5B6B-4BCD-B97B-CFF130E28FC9'\r\n ); // CORPORATE\r\n\r\n const roleAdministrator = _appRoles.find((el) => el.code == ENUM_RoleCode.Administrator);\r\n // solo i Corporate Administrator possono modificare i ruoli degli altri Administrator o crearne di nuovi\r\n const canEditRoles =\r\n isCorporateAdmin != null ||\r\n (roleAdministrator != null &&\r\n (selectedRole[roleAdministrator.id] == null ||\r\n selectedRole[roleAdministrator.id].length == 0));\r\n\r\n const getRoleTab = () => {\r\n if (role == null) return null;\r\n\r\n if (role.roleEntity == ENUM_RoleEntity.Worksites) {\r\n if (this.state.isLoadingWorkSite)\r\n return ;\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (role.code == ENUM_RoleCode.Administrator) {\r\n if (this.state.isLoadingDivision)\r\n return ;\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (role.code == ENUM_RoleCode.DivisionManager) {\r\n if (this.state.isLoadingMeDivision)\r\n return ;\r\n return (\r\n \r\n );\r\n }\r\n\r\n // if (role.roleEntity == ENUM_RoleEntity.None) {\r\n // return ( 0)} onToggle={this.handleToggleCA} />);\r\n // }\r\n };\r\n return (\r\n
    \r\n
    \r\n {_appRoles.map((item, index) => (\r\n this.handleChangeRoleSwitch(index, item)}\r\n selected={this.state.amUser ? (selectedIndex === index) : null} \r\n //selected={selectedIndex === index }\r\n // disabled={ !this.state.amUser } /* RITM0587358 */\r\n \r\n >\r\n {selectedRole[item.id] && selectedRole[item.id].length ? ( \r\n // pallino arancio //\r\n ) :\r\n null}\r\n {item.name}\r\n\r\n \r\n ))}\r\n
    \r\n { role && (\r\n
    \r\n
    \r\n
    {getRoleTab()}
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n );\r\n\r\n {\r\n /* const division = this.state.appDivision; //this.state.appDivision || [];\r\n const worksites = this.state.appWorksites; //this.state.appWorksites || [];\r\n const selectedRole = this.state.selectedRoleEntity || [];\r\n\r\n return (\r\n
    \r\n
    \r\n {\r\n _appRoles.map((item, index) => (\r\n this.handleChangeRoleSwitch(index)}\r\n selected={this.state.selectedSwitchIndex === index}>\r\n {selectedRole[item.id] && selectedRole[item.id].length ? : null}{item.name}\r\n \r\n ))\r\n }\r\n
    \r\n
    \r\n \r\n {\r\n _appRoles.map((item, index) => (\r\n \r\n {\r\n item.roleEntity == ENUM_RoleEntity.Worksites ?\r\n \r\n :\r\n item.roleEntity == ENUM_RoleEntity.Division ?\r\n \r\n :\r\n item.roleEntity == ENUM_RoleEntity.None ?\r\n 0)} onToggle={this.handleToggleCA} />\r\n :\r\n 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 /** ***********Render******************* */\r\n render() {\r\n const headersDataTable = [\r\n { key: 'fullName', header: 'Full Name' },\r\n { key: 'email', header: 'Email' },\r\n ];\r\n\r\n const paginationProps = () => ({\r\n page: this.state.currentPage || 1,\r\n totalItems: this.state.rowCount || 0,\r\n pageSize: this.state.pageSize || 10,\r\n pageSizes: [10, 20, 30, 40, 50],\r\n onChange: this.handleChangePaging,\r\n });\r\n\r\n const confirmDelProps = () => ({\r\n idToDelete: this.state.idToDelete,\r\n isDeleting: this.state.isDeleting,\r\n open: this.state.isOpenDeleteModal, // open state\r\n onCloseConfirm: this.onCloseConfirm, // no click\r\n deleteItem: this.deleteItem, // yes click fn()\r\n });\r\n\r\n const skeletonRowCount =\r\n this.state.rowCount > 0 && this.state.pageSize > this.state.rowCount\r\n ? this.state.rowCount\r\n : this.state.pageSize;\r\n\r\n return (\r\n <>\r\n {this.state.isOpenInsertModal ? (\r\n this.closeInsertForm()}\r\n />\r\n ) : (\r\n \r\n )}\r\n
    \r\n \r\n\r\n {this.state.isOpenInsertModal ? (\r\n this.renderInsertForm()\r\n ) : (\r\n <>\r\n \r\n \r\n \r\n\r\n \r\n\r\n {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, 'Download File', apioperation.GET)\r\n );\r\n }}\r\n onDownLoadStart={() => this.setState({ isExportLoading: true })}\r\n onDownLoadEnd={() => this.setState({ isExportLoading: false })}\r\n apiUrl={`${baseUrl}excel`}\r\n fileName={`${'Export_Users_'}${moment().format('YYYYMMDDHHmmSS')}.xlsx`}\r\n className=\"btn-notext\"\r\n iconDescription=\" \"\r\n renderIcon={Download16}\r\n >\r\n {!this.state.isExportLoading ? '' : }\r\n \r\n \r\n {this.state.amUser && (\r\n this.state.isLoadingModules || this.state.isLoadingRoles ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n )\r\n )} \r\n \r\n {this.renderSearchform()}\r\n (\r\n \r\n {this.state.isLoadingList ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n {headers.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n\r\n Actions\r\n \r\n \r\n \r\n {rows == null || rows.length == 0 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n {row.cells.map((cell) => (\r\n x.key === cell.info.header)}\r\n />\r\n ))}\r\n\r\n {/* RITM0587358 */}\r\n \r\n \r\n
    \r\n \r\n {!this.state.amUser && (\r\n this.getUserForEdit(row.id)}\r\n size=\"small\"\r\n renderIcon={View16}\r\n iconDescription=\"View\"\r\n title=\"View User\"\r\n kind=\"ghost\"\r\n />\r\n )}\r\n {this.state.amUser && (\r\n this.getUserForEdit(row.id)}\r\n size=\"small\"\r\n renderIcon={Edit16}\r\n iconDescription=\"Edit\"\r\n title=\"Edit User\"\r\n kind=\"ghost\"\r\n />\r\n )}\r\n {this.state.amUser && (\r\n this.confirmDelete(row.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n title=\"Delete User\"\r\n kind=\"ghost\"\r\n />\r\n )}\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n )}\r\n
    \r\n )}\r\n />\r\n\r\n
    \r\n \r\n
    \r\n \r\n )}\r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction SwitchCustom(props) {\r\n return (\r\n \r\n {props.children || props.text}\r\n \r\n );\r\n}\r\n\r\nfunction getLabelName(item) {\r\n return item == null\r\n ? ''\r\n : `${item.name} (${item.code}) [${item.inUse ? 'In Use' : 'Not In Use'}]`;\r\n}\r\n","import React, { Component } from 'react';\r\nimport { v4 as uuid } from 'uuid';\r\nimport {\r\n Search,\r\n DataTable,\r\n Footer,\r\n TextInput,\r\n Select,\r\n SelectItem,\r\n ContentSwitcher,\r\n Switch,\r\n ButtonSkeleton,\r\n Toggle,\r\n Tabs,\r\n Tab,\r\n SkeletonPlaceholder,\r\n Loading,\r\n DataTableSkeleton,\r\n TableContainer,\r\n Pagination,\r\n Form,\r\n Checkbox,\r\n DatePicker,\r\n DatePickerInput,\r\n FormLabel,\r\n FormGroup,\r\n ModalWrapper,\r\n TableHead,\r\n Table,\r\n DropdownSkeleton,\r\n TextArea,\r\n ComposedModal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Accordion,\r\n AccordionItem,\r\n TableBody,\r\n TableRow,\r\n TableCell,\r\n TableHeader,\r\n TableToolbarAction,\r\n TableToolbar,\r\n TableToolbarContent,\r\n TableToolbarMenu,\r\n Button,\r\n SkeletonText,\r\n} from 'carbon-components-react';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport Add16 from '@carbon/icons-react/lib/add/16';\r\nimport Chevrondown16 from '@carbon/icons-react/lib/chevron--down/16';\r\nimport { CheckmarkOutline16, CheckmarkFilled20, Download16, Json } from '@carbon/icons-react/lib/';\r\nimport { api, dynamic } from '../../helpers/api/api';\r\n\r\nimport {\r\n RenderDataTableCell,\r\n NoRecordsPlaceholder,\r\n} from '../../helpers/jsonschemaform/DataTableExtention';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport {\r\n getSuccess,\r\n getError,\r\n entitiesLabels,\r\n apioperation,\r\n DateFormat,\r\n BEDateFormat,\r\n} from '../../helpers/Constants';\r\nimport { switchDateFormat } from '../../helpers/jsonschemaform/customwidget/utils';\r\nimport { ConfirmAlertCustom } from '../../helpers/ConfirmAlertCustom';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport moment, { invalid } from 'moment';\r\nimport PageBreadCrumb from '../../helpers/PageBreadCrumb';\r\nimport DateTimePicker from '../../helpers/DateTimePicker';\r\nimport Data16 from '@carbon/icons-react/lib/data--1/16';\r\nimport { Online } from '../common/OnLineOffLine';\r\nimport FileDownLoadButton from '../common/FileDownloadButton';\r\n\r\nconst baseUrl = '/worksite/';\r\nconst worksite = {\r\n id: undefined,\r\n code: '',\r\n name: '',\r\n idDivision: undefined,\r\n idWorkSiteGroup: undefined,\r\n isEnabledForEnvironment: false,\r\n isOffshore: false,\r\n isSaipem: false,\r\n //obsolete: false,\r\n start: null,\r\n end: null,\r\n workSiteProjects: [],\r\n};\r\nconst workSiteProjectItem = {\r\n id: undefined,\r\n comments: '',\r\n start: null,\r\n end: null,\r\n idWorkSite: undefined,\r\n idProject: null,\r\n idDivision: null,\r\n idSubDivision: null,\r\n idCompany: null,\r\n idActivity: null,\r\n idCountry: null,\r\n isRegisteredOffice: null,\r\n hseConsolidated: false,\r\n};\r\nconst workSiteProjectsDTHeaders = [\r\n { key: 'start', header: 'Start', type: 'date' },\r\n { key: 'end', header: 'End', type: 'date' },\r\n { key: 'project', header: 'Prj' },\r\n { key: 'country', header: 'Country' },\r\n //RITM0945977\r\n // { key: 'division', header: 'Division' },\r\n // { key: 'subDivision', header: 'SubDivision' },\r\n { key: 'division', header: 'Business Line' },\r\n { key: 'subDivision', header: 'Sub-Business Line' },\r\n { key: 'company', header: 'Operating Company/Branch' },\r\n { key: 'isRegisteredOffice', header: 'Local Crisis Unit Registered Office', type: 'bool' },\r\n { key: 'hseConsolidated', header: 'HSE Consolidated', type: 'bool' },\r\n\r\n //{ key: 'inUse', header: 'In Use', 'type': 'bool' },\r\n];\r\n\r\nconst searchProp = {\r\n //refyear\r\n search: '',\r\n idDivision: null,\r\n idWorkSiteGroup: null,\r\n inUse: null,\r\n //isObsolete: null,\r\n};\r\n\r\nexport class WorkSite extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.toggleSearchForm = this.toggleSearchForm.bind(this);\r\n this.updateState = this.updateState.bind(this);\r\n this.handleClickCancelSearch = this.handleClickCancelSearch.bind(this);\r\n this.validator = new SimpleReactValidator();\r\n this.validatorWP = new SimpleReactValidator();\r\n this.state = {\r\n itemList: [],\r\n appMainDivision: [],\r\n appWorkSiteGroup: [],\r\n appProject: [],\r\n appCountry: [],\r\n appDivision: [],\r\n appSubDivision: [],\r\n appCompany: [],\r\n appActivity: [],\r\n idWorkSiteEdit: null,\r\n idToDelete: null,\r\n worksiteModel: {\r\n ...worksite,\r\n },\r\n hasDuplicate: false,\r\n workSiteProjectModel: {\r\n ...workSiteProjectItem,\r\n },\r\n currentPage: 1,\r\n pageSize: 10,\r\n rowCount: 0,\r\n search: {\r\n ...searchProp,\r\n },\r\n isLoadingList: true,\r\n isLoadingMainDivision: null,\r\n isLoadingDivision: null,\r\n isLoadingProject: null,\r\n isLoadingCountry: null,\r\n isLoadingSubDivision: null,\r\n isLoadingCompany: null,\r\n isLoadingActivity: null,\r\n isLoadingWorkSiteGroup: null,\r\n isLoadingWorkSiteData: false,\r\n isSubmitted: false,\r\n isEditModal: false,\r\n isEditModalWorkSitePrj: false,\r\n isOpenSearchForm: false,\r\n isOpenModal: false,\r\n isOpenInsertModal: false,\r\n isOpenDeleteModal: false,\r\n isDeleting: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.getWorkSiteList();\r\n this.getMainDivision();\r\n this.getWorkSiteGroup();\r\n\r\n this.getProject();\r\n this.getCountry();\r\n this.getDivision();\r\n this.getAllSubDivision();\r\n this.getCompany();\r\n this.getAllActivity();\r\n }\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n let statusCopy = Object.assign({}, this.state);\r\n statusCopy[objName][inputName] = inputValue;\r\n\r\n this.setState(statusCopy);\r\n };\r\n\r\n /*************API********************/\r\n getWorkSiteList(param) {\r\n this.setState({ isLoadingList: true });\r\n\r\n const data = {\r\n params: {\r\n page: param && param.page ? param.page : this.state.currentPage,\r\n pageSize: param && param.pageSize ? param.pageSize : this.state.pageSize,\r\n ...this.state.search,\r\n },\r\n };\r\n\r\n api\r\n .getWithParam(baseUrl, data)\r\n .then((response) => {\r\n this.setState({\r\n ...response.data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.WORKSITE, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingList: false,\r\n });\r\n });\r\n }\r\n\r\n getMainDivision() {\r\n this.setState({ isLoadingMainDivision: true });\r\n\r\n api\r\n .getAll('/division/main')\r\n .then((response) => {\r\n var data = response.data;\r\n\r\n data = data != null ? data.map((item) => ({ value: item.id, label: item.name })) : [];\r\n this.setState({\r\n appMainDivision: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.MAINDIVISION, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingMainDivision: false,\r\n });\r\n });\r\n }\r\n\r\n getWorkSiteGroup() {\r\n this.setState({ isLoadingWorkSiteGroup: true });\r\n\r\n dynamic\r\n .getAll('worksitegroup', { params: { page: 0 } })\r\n .then((response) => {\r\n var data = response.data.itemList;\r\n\r\n data = data != null ? data.map((item) => ({ value: item.id, label: item.name })) : [];\r\n this.setState({\r\n appWorkSiteGroup: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.WORKSITEGROUP, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingWorkSiteGroup: false,\r\n });\r\n });\r\n }\r\n\r\n getProject() {\r\n this.setState({ isLoadingProject: true });\r\n\r\n dynamic\r\n .getAll('project', { params: { page: 0 } })\r\n .then((response) => {\r\n var data = response.data.itemList;\r\n\r\n data =\r\n data != null\r\n ? data.map((item) => ({\r\n value: item.id,\r\n label: item.name + (item.inUse ? '' : ' [Not In Use]'),\r\n inUse: item.inUse,\r\n consolidatedProject: item.consolidatedProject,\r\n }))\r\n : [];\r\n this.setState({\r\n appProject: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.PROJECT, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingProject: false,\r\n });\r\n });\r\n }\r\n\r\n getCountry() {\r\n this.setState({ isLoadingCountry: true });\r\n\r\n api\r\n .getAll('/country')\r\n .then((response) => {\r\n var data = response.data;\r\n\r\n data = data != null ? data.map((item) => ({ value: item.id, label: item.name })) : [];\r\n this.setState({\r\n appCountry: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.COUNTRY, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingCountry: false,\r\n });\r\n });\r\n }\r\n\r\n getDivision() {\r\n this.setState({ isLoadingDivision: true });\r\n\r\n dynamic\r\n .getAll('division', { params: { page: 0 } })\r\n .then((response) => {\r\n var data = response.data.itemList;\r\n\r\n data = data != null ? data.map((item) => ({ value: item.id, label: item.name })) : [];\r\n this.setState({\r\n appDivision: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.DIVISION, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingDivision: false,\r\n });\r\n });\r\n }\r\n\r\n getAllSubDivision() {\r\n this.setState({ isLoadingSubDivision: true });\r\n\r\n api\r\n .getAll('/division/subdivision')\r\n .then((response) => {\r\n var data = response.data;\r\n //todo fare mapping se serve\r\n data =\r\n data != null\r\n ? data.map((item) => ({\r\n value: item.id,\r\n label: item.name,\r\n idDivision: item.idDivision,\r\n }))\r\n : [];\r\n this.setState({\r\n appSubDivision: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.SUBDIVISION, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingSubDivision: false,\r\n });\r\n });\r\n }\r\n\r\n getCompany() {\r\n this.setState({ isLoadingCompany: true });\r\n\r\n api\r\n .getAll('/company')\r\n .then((response) => {\r\n var data = response.data;\r\n\r\n data = data != null ? data.map((item) => ({ value: item.id, label: item.name })) : [];\r\n this.setState({\r\n appCompany: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.COMPANY, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingCompany: false,\r\n });\r\n });\r\n }\r\n\r\n getAllActivity() {\r\n this.setState({ isLoadingActivity: true });\r\n\r\n api\r\n .getAll('/activity')\r\n .then((response) => {\r\n var data = response.data;\r\n\r\n data =\r\n data != null\r\n ? data.map((item) => ({\r\n value: item.id,\r\n label: item.name,\r\n idDivision: item.idDivision,\r\n }))\r\n : [];\r\n this.setState({\r\n appActivity: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.ACTIVITY, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingActivity: false,\r\n });\r\n });\r\n }\r\n\r\n getWorkSiteForEdit(id) {\r\n this.setState({\r\n isEditModal: true,\r\n isLoadingWorkSiteData: true,\r\n isOpenInsertModal: true,\r\n });\r\n\r\n api\r\n .get(baseUrl, id)\r\n .then((response) => {\r\n this.setState({\r\n idWorkSiteEdit: id,\r\n worksiteModel: response.data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.WORKSITE, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState(\r\n {\r\n isLoadingWorkSiteData: false,\r\n },\r\n () => {\r\n //this.getSelectedEntityRoles();\r\n }\r\n );\r\n const hasDuplicate = false //this.hasDuplicateIdProject(this.state.worksiteModel.workSiteProjects);\r\n // if (hasDuplicate == true)\r\n // showNotification.error(\"There are multiple Worksite-Projects with the same Project that have a time range that overlaps.\");\r\n\r\n this.setState ({hasDuplicate : hasDuplicate});\r\n });\r\n }\r\n/*\r\n hasDuplicateIdProject(items){\r\n\r\n for(var elementX of items){\r\n for( var elementY of items){\r\n if(elementX != elementY && elementX.idProject == elementY.idProject){\r\n if(elementX.start > elementY.end || elementX.end < elementY.start){\r\n }else{\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n */\r\n /*************API********************/\r\n\r\n /*************Form Ricerca********************/\r\n toggleSearchForm(e) {\r\n e.preventDefault();\r\n this.setState((oldState) => ({ isOpenSearchForm: !oldState.isOpenSearchForm }));\r\n }\r\n\r\n handleChangeSearch = (el) => {\r\n let inputName = el.target.name;\r\n let inputValue = el.target.value;\r\n this.updateState(inputName, inputValue, 'search');\r\n };\r\n\r\n handleClickSearch = (e) => {\r\n e.preventDefault();\r\n this.getWorkSiteList({ page: 1 });\r\n };\r\n\r\n handleClickCancelSearch = (e) => {\r\n e.preventDefault();\r\n this.setState(\r\n {\r\n search: {\r\n ...searchProp,\r\n },\r\n },\r\n () => {\r\n this.getWorkSiteList({ page: 1 });\r\n }\r\n );\r\n };\r\n\r\n handleChangePaging = (event) => {\r\n this.getWorkSiteList(event);\r\n };\r\n\r\n /*************Form Ricerca********************/\r\n\r\n /*************Form worksite********************/\r\n handleChangeModel = (el) => {\r\n let inputName = el.target.name;\r\n let inputValue = el.target.value;\r\n this.updateState(inputName, inputValue, 'worksiteModel');\r\n };\r\n\r\n handleChangeAsset = (value) => {\r\n if (!value) {\r\n this.updateState('assetPortfolio', false, 'worksiteModel');\r\n }\r\n this.updateState('asset', value, 'worksiteModel');\r\n };\r\n\r\n clearInsertForm = () => {\r\n this.setState({\r\n worksiteModel: Object.assign({}, worksite),\r\n isSubmitted: false,\r\n });\r\n this.validator.hideMessages();\r\n this.validatorWP.hideMessages();\r\n };\r\n\r\n handleSubmitInsert = () => {\r\n if (this.validator.allValid()) {\r\n let datiForm = this.state.worksiteModel;\r\n\r\n this.setState({\r\n isSubmitted: true,\r\n });\r\n\r\n let id = this.state.idWorkSiteEdit;\r\n let method = this.state.isEditModal\r\n ? api.put(baseUrl, datiForm, id)\r\n : api.post(baseUrl, datiForm);\r\n\r\n method\r\n .then((response) => {\r\n if (response.status == 200) {\r\n this.getWorkSiteList();\r\n this.clearInsertForm();\r\n this.setState({\r\n isOpenInsertModal: false,\r\n });\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,\r\n getSuccess(\r\n entitiesLabels.WORKSITE,\r\n this.state.isEditModal ? apioperation.PUT : apioperation.POST\r\n )\r\n );\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n getError(\r\n error,\r\n entitiesLabels.WORKSITE,\r\n this.state.isEditModal ? apioperation.PUT : apioperation.POST\r\n )\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isSubmitted: false,\r\n });\r\n });\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`, entitiesLabels.WORKSITE + ' required fields are missing '\r\n );\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n confirmDelete = (id) => {\r\n this.setState({\r\n idToDelete: id,\r\n isOpenDeleteModal: true,\r\n isDeleting: false,\r\n });\r\n };\r\n\r\n onCloseConfirm = () => {\r\n this.setState({\r\n isOpenDeleteModal: false,\r\n });\r\n };\r\n\r\n deleteItem = () => {\r\n let id = this.state.idToDelete;\r\n this.setState({\r\n isDeleting: true,\r\n });\r\n api\r\n .delete(baseUrl, id)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n this.setState({\r\n idToDelete: null,\r\n isOpenDeleteModal: false,\r\n });\r\n this.onCloseConfirm();\r\n this.getWorkSiteList();\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,getSuccess(entitiesLabels.WORKSITE, apioperation.DELETE));\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.WORKSITE, apioperation.DELETE));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isDeleting: false,\r\n });\r\n });\r\n };\r\n\r\n getNameById = (id) => {\r\n if (id == null) return '';\r\n let element = this.state.itemList.find((el) => el.id == id);\r\n return element != null ? element.name : '';\r\n };\r\n\r\n addNewWorkSite() {\r\n this.clearInsertForm();\r\n\r\n this.setState({\r\n isEditModal: false,\r\n isOpenInsertModal: true,\r\n });\r\n }\r\n\r\n closeInsertForm() {\r\n this.setState({\r\n isOpenInsertModal: false,\r\n });\r\n this.validator.hideMessages();\r\n }\r\n\r\n downloadFile() {\r\n if (this.state.isExportLoading) return;\r\n\r\n this.setState({\r\n isExportLoading: true,\r\n });\r\n api\r\n .getWithParam(baseUrl + 'excel', { responseType: 'arraybuffer' })\r\n .then((response) => {\r\n //fileDownload(new Blob([response.data]), 'report.xlsx');\r\n var data = new Blob([response.data], {\r\n type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\r\n });\r\n var csvURL = window.URL.createObjectURL(data);\r\n var tempLink = document.createElement('a');\r\n tempLink.href = csvURL;\r\n\r\n var nomefile = 'Export_' + 'Worksite_' + moment().format('YYYYMMDDHHmmSS') + '.xlsx';\r\n tempLink.setAttribute('download', nomefile);\r\n\r\n document.body.appendChild(tempLink);\r\n tempLink.click();\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, 'Download File', apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isExportLoading: false,\r\n });\r\n });\r\n }\r\n\r\n /*************Form worksite********************/\r\n /*************Form worksiteproject********************/\r\n handleChangeWksProjModel = (el) => {\r\n let inputName = el.target.name;\r\n let inputValue = el.target.value;\r\n this.updateState(inputName, inputValue, 'workSiteProjectModel');\r\n };\r\n\r\n toggleModal = (open) => {\r\n this.setState({ isOpenModal: open });\r\n };\r\n\r\n addNewWorkSitePrj = () => {\r\n this.setState({\r\n workSiteProjectModel: {\r\n ...workSiteProjectItem,\r\n },\r\n isOpenModal: true,\r\n isEditModalWorkSitePrj: false,\r\n });\r\n };\r\n\r\n getWorkSitePrjForEdit = (id) => {\r\n const workSiteProjects = this.state.worksiteModel.workSiteProjects || [];\r\n const element = workSiteProjects.find((el) => el.id == id);\r\n if (element != null) {\r\n this.setState({\r\n workSiteProjectModel: {\r\n ...element,\r\n },\r\n isOpenModal: true,\r\n isEditModalWorkSitePrj: true,\r\n });\r\n } else {\r\n showNotification.error('Element not found');\r\n }\r\n };\r\n\r\n saveWorkSitePrj = () => {\r\n if (this.validatorWP.allValid()) {\r\n let datiForm = this.state.workSiteProjectModel;\r\n\r\n let worksite = this.state.worksiteModel;\r\n\r\n var dateFStart = moment(datiForm.start);\r\n var dateFEnd = moment(datiForm.end);\r\n var dateWStart = moment(worksite.start);\r\n var dateWEnd = moment(worksite.end);\r\n\r\n if (\r\n !(\r\n dateFStart.isSameOrBefore(dateFEnd) &&\r\n dateWStart.isSameOrBefore(dateFStart) &&\r\n dateFEnd.isSameOrBefore(dateWEnd)\r\n )\r\n ) {\r\n showNotification.error('Date Start or Date End not valid');\r\n return;\r\n }\r\n\r\n try {\r\n //recupero nome entità da visualizzare in datatable\r\n datiForm.project =\r\n this.state.appProject.find((x) => x.value == datiForm.idProject).label || '';\r\n datiForm.country =\r\n this.state.appCountry.find((x) => x.value == datiForm.idCountry).label || '';\r\n datiForm.division =\r\n this.state.appDivision.find((x) => x.value == datiForm.idDivision).label || '';\r\n datiForm.subDivision =\r\n this.state.appSubDivision.find((x) => x.value == datiForm.idSubDivision).label || '';\r\n datiForm.company =\r\n this.state.appCompany.find((x) => x.value == datiForm.idCompany).label || '';\r\n let oldWorkSiteProjects = this.state.worksiteModel.workSiteProjects || [];\r\n datiForm.isRegisteredOffice = this.state.workSiteProjectModel?.isRegisteredOffice == undefined ? false : this.state.workSiteProjectModel.isRegisteredOffice;\r\n datiForm.hseConsolidated = this.state.workSiteProjectModel?.hseConsolidated == undefined ? false : this.state.workSiteProjectModel.hseConsolidated;\r\n\r\n if (this.state.isEditModalWorkSitePrj) {\r\n //edit\r\n let id = datiForm.id;\r\n let indexElement = oldWorkSiteProjects.findIndex((el) => el.id == id);\r\n if (indexElement > -1) {\r\n let newWorkSiteProjects = [...oldWorkSiteProjects];\r\n newWorkSiteProjects[indexElement] = datiForm;\r\n this.updateState('workSiteProjects', newWorkSiteProjects, 'worksiteModel');\r\n }\r\n } else {\r\n //insert\r\n const newid = uuid();\r\n datiForm.id = newid;\r\n let newWorkSiteProjects = oldWorkSiteProjects.concat([datiForm]);\r\n this.updateState('workSiteProjects', newWorkSiteProjects, 'worksiteModel');\r\n }\r\n\r\n //fine\r\n this.setState({\r\n isOpenModal: false,\r\n });\r\n } catch {\r\n showNotification.error('saveWorkSitePrj failed');\r\n }\r\n } else {\r\n this.validatorWP.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`,entitiesLabels.WORKSITEPROJECT + ' required fields are missing '\r\n );\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n /*************Form worksiteproject********************/\r\n /*************Render********************/\r\n showLoading() {\r\n let show =\r\n (this.state.isEditModal && this.state.isLoadingWorkSiteData) || this.state.isSubmitted;\r\n let descr = this.state.isSubmitted ? 'Saving...' : 'Loading data...';\r\n return show && ;\r\n //return ()\r\n }\r\n\r\n renderSearchform() {\r\n return (\r\n this.state.isOpenSearchForm && (\r\n
    \r\n
    \r\n \r\n Code / Name\r\n \r\n \r\n\r\n \r\n {/* RITM0945977 */}\r\n {/* Main Division */}\r\n Main Business Line\r\n {this.state.isLoadingMainDivision ? (\r\n \r\n ) : (\r\n \r\n \r\n {this.state.appMainDivision.map(({ value, label }, i) => {\r\n return ;\r\n })}\r\n \r\n )}\r\n \r\n\r\n \r\n WorkSite Group\r\n {this.state.isLoadingWorkSiteGroup ? (\r\n \r\n ) : (\r\n \r\n \r\n {this.state.appWorkSiteGroup.map(({ value, label }, i) => {\r\n return ;\r\n })}\r\n \r\n )}\r\n \r\n\r\n \r\n In Use\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* \r\n Is Obsolete\r\n \r\n \r\n \r\n \r\n \r\n */}\r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n )\r\n );\r\n }\r\n\r\n renderInsertForm() {\r\n const validations = {\r\n code: this.validator.message('Code', this.state.worksiteModel.code, 'required'),\r\n name: this.validator.message('Name', this.state.worksiteModel.name, 'required'),\r\n // idDivision: this.validator.message(\r\n // 'Division',\r\n // this.state.worksiteModel.idDivision,\r\n // 'required'\r\n // ), //RITM0945977\r\n idDivision: this.validator.message(\r\n 'businessLine',\r\n this.state.worksiteModel.idDivision,\r\n 'required'\r\n ),\r\n idWorkSiteGroup: this.validator.message(\r\n 'WorksiteGroup',\r\n this.state.worksiteModel.idWorkSiteGroup,\r\n 'required'\r\n ),\r\n start: this.validator.message('StartDate', this.state.worksiteModel.start, 'required'),\r\n end: this.validator.message('EndDate', this.state.worksiteModel.end, 'required'),\r\n endAfterStart: this.validator.message(\r\n 'endAfterStart',\r\n this.state.worksiteModel.end == null ||\r\n this.state.worksiteModel.start == null ||\r\n moment(this.state.worksiteModel.end).isSameOrAfter(\r\n moment(this.state.worksiteModel.start),\r\n 'day'\r\n ),\r\n 'accepted'\r\n ),\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n {this.showLoading()}\r\n\r\n
    \r\n \r\n Code*\r\n \r\n {validations.code}\r\n \r\n\r\n \r\n Name*\r\n \r\n {validations.name}\r\n \r\n\r\n \r\n {/* RITM0945977 */}\r\n {/* Main Division* */}\r\n Main Business Line*\r\n {this.state.isLoadingMainDivision ? (\r\n \r\n ) : (\r\n \r\n \r\n {this.state.appMainDivision.map(({ value, label }, i) => {\r\n return ;\r\n })}\r\n \r\n )}\r\n {validations.idDivision}\r\n \r\n\r\n \r\n WorkSite Group*\r\n {this.state.isLoadingWorkSiteGroup ? (\r\n \r\n ) : (\r\n \r\n \r\n {this.state.appWorkSiteGroup.map(({ value, label }, i) => {\r\n return ;\r\n })}\r\n \r\n )}\r\n {validations.idWorkSiteGroup}\r\n \r\n \r\n Date Start*\r\n\r\n \r\n {validations.start}\r\n \r\n\r\n \r\n Date End*\r\n\r\n \r\n {validations.end}\r\n {validations.endAfterStart && (\r\n
    \r\n The end date field must be after start date field\r\n
    \r\n )}\r\n
    \r\n\r\n \r\n Enabled For Environment\r\n this.updateState('isEnabledForEnvironment', el, 'worksiteModel')}\r\n className=\"bx--form-item bx--checkbox-wrapper\"\r\n />\r\n \r\n \r\n Is Offshore\r\n this.updateState('isOffshore', el, 'worksiteModel')}\r\n className=\"bx--form-item bx--checkbox-wrapper\"\r\n />\r\n \r\n \r\n Is Saipem\r\n this.updateState('isSaipem', el, 'worksiteModel')}\r\n className=\"bx--form-item bx--checkbox-wrapper\"\r\n />\r\n \r\n {/* \r\n Is Obsolete\r\n this.updateState('obsolete', el, 'worksiteModel')}\r\n className=\"bx--form-item bx--checkbox-wrapper\" />\r\n */}\r\n \r\n Asset\r\n \r\n \r\n \r\n Asset Portfolio\r\n this.updateState('assetPortfolio', el, 'worksiteModel')}\r\n className=\"bx--form-item bx--checkbox-wrapper\"\r\n />\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {this.state.worksiteModel ? (\r\n (\r\n \r\n {\r\n \r\n \r\n \r\n {headers.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {rows == null || rows.length == 0 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n {row.cells.map((cell) => (\r\n x.key === cell.info.header)}\r\n />\r\n ))}\r\n\r\n \r\n
    \r\n this.getWorkSitePrjForEdit(row.id)}\r\n size=\"small\"\r\n renderIcon={Edit16}\r\n iconDescription=\"Edit\"\r\n kind=\"ghost\"\r\n />\r\n
    \r\n \r\n
    \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 this.closeInsertForm()}\r\n >\r\n Cancel\r\n \r\n this.handleSubmitInsert()}\r\n >\r\n Save\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n renderWorkSiteProjectForm() {\r\n const validations = {\r\n start: this.validatorWP.message('start', this.state.workSiteProjectModel.start, 'required'),\r\n end: this.validatorWP.message('end', this.state.workSiteProjectModel.end, 'required'),\r\n idProject: this.validatorWP.message(\r\n 'idProject',\r\n this.state.workSiteProjectModel.idProject,\r\n 'required'\r\n ),\r\n idCountry: this.validatorWP.message(\r\n 'idCountry',\r\n this.state.workSiteProjectModel.idCountry,\r\n 'required'\r\n ),\r\n idDivision: this.validatorWP.message(\r\n 'idDivision',\r\n this.state.workSiteProjectModel.idDivision,\r\n 'required'\r\n ),\r\n idSubDivision: this.validatorWP.message(\r\n 'idSubDivision',\r\n this.state.workSiteProjectModel.idSubDivision,\r\n 'required'\r\n ),\r\n idCompany: this.validatorWP.message(\r\n 'idCompany',\r\n this.state.workSiteProjectModel.idCompany,\r\n 'required'\r\n ),\r\n idActivity: this.validatorWP.message(\r\n 'idActivity',\r\n this.state.workSiteProjectModel.idActivity,\r\n 'required'\r\n ),\r\n endAfterStart: this.validatorWP.message(\r\n 'endAfterStart',\r\n this.state.workSiteProjectModel.end == null ||\r\n this.state.workSiteProjectModel.start == null ||\r\n moment(this.state.workSiteProjectModel.end).isSameOrAfter(\r\n moment(this.state.workSiteProjectModel.start),\r\n 'day'\r\n ),\r\n 'accepted'\r\n ),\r\n startLimit: this.validatorWP.message(\r\n 'startLimit',\r\n this.state.workSiteProjectModel.start == null ||\r\n (this.state.worksiteModel.start != null &&\r\n moment(this.state.workSiteProjectModel.start).isSameOrAfter(\r\n moment(this.state.worksiteModel.start),\r\n 'day'\r\n )),\r\n 'accepted'\r\n ),\r\n endLimit: this.validatorWP.message(\r\n 'endLimit',\r\n this.state.workSiteProjectModel.end == null ||\r\n (this.state.worksiteModel.end != null &&\r\n moment(this.state.workSiteProjectModel.end).isSameOrBefore(\r\n moment(this.state.worksiteModel.end),\r\n 'day'\r\n )),\r\n 'accepted'\r\n ),\r\n };\r\n\r\n const propsC = {\r\n modalHeader: () => ({\r\n title: (this.state.isEditModalWorkSitePrj ? 'Edit ' : 'Add new ') + 'WorkSite - Prj',\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.toggleModal(false),\r\n }),\r\n };\r\n const consProj =\r\n this.state.workSiteProjectModel.idProject &&\r\n this.state.appProject.find((x) => x.value == this.state.workSiteProjectModel.idProject)\r\n ? this.state.appProject.find((x) => x.value == this.state.workSiteProjectModel.idProject)\r\n .consolidatedProject\r\n : '';\r\n const _appProject = this.state.isEditModalWorkSitePrj\r\n ? this.state.appProject\r\n : (this.state.appProject || []).filter((x) => x.inUse == true);\r\n const listSubDivision = this.state.appSubDivision.filter(\r\n (x) => x.idDivision == this.state.workSiteProjectModel.idDivision\r\n );\r\n const listActivity = this.state.appActivity.filter(\r\n (x) => x.idDivision == this.state.workSiteProjectModel.idDivision\r\n );\r\n return (\r\n {\r\n return false;\r\n }}\r\n >\r\n \r\n

    {this.state.worksiteModel.name || ''}

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Date Start*\r\n\r\n \r\n {validations.start}\r\n {validations.startLimit && (\r\n
    \r\n The start date field must be after the WorkSite start date field\r\n
    \r\n )}\r\n
    \r\n\r\n \r\n Date End*\r\n\r\n \r\n {validations.end}\r\n {validations.endLimit && (\r\n
    \r\n The end date field must be befor the WorkSite end date field\r\n
    \r\n )}\r\n {validations.endAfterStart && (\r\n
    \r\n The end date field must be after start date field\r\n
    \r\n )}\r\n
    \r\n\r\n \r\n Prj*\r\n {this.state.isLoadingProject ? (\r\n \r\n ) : (\r\n \r\n \r\n {_appProject.map(({ value, label }, i) => {\r\n return ;\r\n })}\r\n \r\n )}\r\n {validations.idProject}\r\n \r\n\r\n \r\n Consolidated Prj\r\n \r\n \r\n\r\n \r\n Country*\r\n {this.state.isLoadingCountry ? (\r\n \r\n ) : (\r\n \r\n \r\n {this.state.appCountry.map(({ value, label }, i) => {\r\n return ;\r\n })}\r\n \r\n )}\r\n {validations.idCountry}\r\n \r\n\r\n \r\n {/* RITM0945977 */}\r\n {/* Division* */}\r\n Business Line*\r\n {this.state.isLoadingDivision ? (\r\n \r\n ) : (\r\n \r\n \r\n {this.state.appDivision.map(({ value, label }, i) => {\r\n return ;\r\n })}\r\n \r\n )}\r\n {validations.idDivision}\r\n \r\n\r\n \r\n {/* RITM0945977 */}\r\n {/* SubDivision* */}\r\n Sub-Business Line*\r\n {this.state.isLoadingSubDivision ? (\r\n \r\n ) : (\r\n \r\n \r\n {listSubDivision.map(({ value, label }, i) => {\r\n return ;\r\n })}\r\n \r\n )}\r\n {validations.idSubDivision}\r\n \r\n\r\n \r\n Operating Company/Branch*\r\n {this.state.isLoadingCompany ? (\r\n \r\n ) : (\r\n \r\n \r\n {this.state.appCompany.map(({ value, label }, i) => {\r\n return ;\r\n })}\r\n \r\n )}\r\n {validations.idCompany}\r\n \r\n \r\n \r\n Local Crisis Unit Registered Office\r\n this.updateState('isRegisteredOffice', el, 'workSiteProjectModel')}\r\n className=\"bx--form-item bx--checkbox-wrapper\"\r\n />\r\n \r\n\r\n \r\n HSE Consolidated\r\n this.updateState('hseConsolidated', el, 'workSiteProjectModel')}\r\n className=\"bx--form-item bx--checkbox-wrapper\"\r\n />\r\n \r\n \r\n\r\n \r\n Activity*\r\n {this.state.isLoadingActivity ? (\r\n \r\n ) : (\r\n \r\n \r\n {listActivity.map(({ value, label }, i) => {\r\n return ;\r\n })}\r\n \r\n )}\r\n {validations.idActivity}\r\n \r\n\r\n \r\n Comments\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n /*************Render********************/\r\n\r\n render() {\r\n const headersDataTable = [\r\n { key: 'code', header: 'Code' },\r\n { key: 'name', header: 'Name' },\r\n //RITM0945977\r\n // { key: 'division', header: 'Main Division' },\r\n { key: 'division', header: 'Main Business Line' },\r\n { key: 'group', header: 'Worksite Group' },\r\n { key: 'isOffshore', header: 'Is Offshore', type: 'bool' },\r\n { key: 'isSaipem', header: 'Is Saipem', type: 'bool' },\r\n { key: 'isEnabledForEnvironment', header: 'Enabled For Environment', type: 'bool' },\r\n //RITM0570625\r\n { key: 'asset', header: 'Asset', type: 'bool' },\r\n { key: 'assetPortfolio', header: 'Asset Portfolio', type: 'bool' },\r\n //------------\r\n //{ key: 'obsolete', header: 'Is Obsolete', 'type': 'bool' },\r\n { key: 'inUse', header: 'In Use', type: 'bool' },\r\n ];\r\n\r\n const paginationProps = () => ({\r\n page: this.state.currentPage || 1,\r\n totalItems: this.state.rowCount || 0,\r\n pageSize: this.state.pageSize || 10,\r\n pageSizes: [10, 20, 30, 40, 50],\r\n onChange: this.handleChangePaging,\r\n });\r\n\r\n const confirmDelProps = () => ({\r\n idToDelete: this.state.idToDelete,\r\n nameItem: this.getNameById(this.state.idToDelete),\r\n isDeleting: this.state.isDeleting,\r\n open: this.state.isOpenDeleteModal, //open state\r\n onCloseConfirm: this.onCloseConfirm, //no click\r\n deleteItem: this.deleteItem, //yes click fn()\r\n });\r\n\r\n const skeletonRowCount =\r\n this.state.rowCount > 0 && this.state.pageSize > this.state.rowCount\r\n ? this.state.rowCount\r\n : this.state.pageSize;\r\n\r\n return (\r\n <>\r\n {this.state.isOpenInsertModal ? (\r\n this.closeInsertForm()}\r\n />\r\n ) : (\r\n \r\n )}\r\n
    \r\n \r\n {this.state.isOpenInsertModal ? (\r\n this.renderInsertForm()\r\n ) : (\r\n <>\r\n \r\n \r\n \r\n\r\n \r\n this.downloadFile()}\r\n className=\"btn-notext\"\r\n iconDescription=\" \"\r\n renderIcon={Download16}\r\n >\r\n {!this.state.isExportLoading ? '' : }\r\n \r\n {this.state.isLoadingModules || this.state.isLoadingRoles ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n {this.renderSearchform()}\r\n (\r\n \r\n {this.state.isLoadingList ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n {headers.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {rows == null || rows.length == 0 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n {row.cells.map((cell) => (\r\n x.key === cell.info.header)}\r\n />\r\n ))}\r\n\r\n \r\n
    \r\n \r\n this.getWorkSiteForEdit(row.id)}\r\n size=\"small\"\r\n renderIcon={Edit16}\r\n iconDescription=\"Edit\"\r\n kind=\"ghost\"\r\n />\r\n this.confirmDelete(row.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n />\r\n \r\n
    \r\n \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n )}\r\n
    \r\n )}\r\n />\r\n\r\n
    \r\n \r\n
    \r\n \r\n )}\r\n {this.renderWorkSiteProjectForm()}\r\n
    \r\n \r\n );\r\n }\r\n}\r\n","import { STATUS as _STATUS } from \"../Constants\";\r\nimport { FindingSTATUS as _FindingSTATUS } from \"../Constants\";\r\n\r\nfunction hasUserProfile(User) {\r\n\tif (User != null && User.roles != null && (User.roles.includes(\"Data Approver\") || User.roles.includes(\"Division Manager\") || User.roles.includes(\"Compiler\") || User.roles.includes(\"Administrator\"))) {\r\n\t\treturn true;\r\n\t}\r\n\treturn false;\r\n}\r\n\r\nexport function IsInRole(User, Role) {\r\n\tif (User != null && User.roles != null && hasUserProfile(User)) {\r\n\t\tif (Role != null) return User.roles.includes(Role);\r\n\t\treturn true;\r\n\t}\r\n\treturn false;\r\n}\r\n\r\nexport function IsEnabled(User, Module) {\r\n\tif (User != null && User.modules != null && User.modules.length > 0) return User.modules.includes(Module);\r\n}\r\n\r\nexport function IsEditable(Module, Process, User, Status, SectionOrField, Resource) {\r\n\t// Resource è un oggetto, che deve contenere il campo richiesto dalla policy, da confrontare con l'idUser loggato(es. Resource.idCompiler == User.id)\r\n\t// console.log({ Module, Process, User, Status, SectionOrField, Resource });\r\n\tif (Status == null) return false;\r\n\tconst workflows = User.policies;\r\n\tconst { roles } = User;\r\n\r\n\tif (Resource?.email != null) {\r\n\t\t//RITM0547372;\r\n\t\troles.push(\"CAR Owner\");\r\n\t}\r\n\tconst workflow = workflows.find((p) => p.module == Module && p.process == Process);\r\n\tif (workflow != null) {\r\n\t\t// multi roles support\r\n\t\tfor (let i = 0; i < roles.length; i += 1) {\r\n\t\t\tconst policy = workflow.policies.find((p) => p.role == roles[i]);\r\n\t\t\tif (policy != null && policy.data != null) {\r\n\t\t\t\tconst data = policy.data.find((a) => a.sections.includes(SectionOrField) && (Process == 'FindingManagement' ? _FindingSTATUS[a.status] == Status : _STATUS[a.status] == Status));\r\n\t\t\t\tconst propertyName = policy.requireResource;\r\n\t\t\t\tif (propertyName) {\r\n\t\t\t\t\tif (Resource != null) {\r\n\t\t\t\t\t \tif (Process == 'FindingManagement') {\r\n\t\t\t\t\t\t\tif (Resource[propertyName] != null) {\r\n\t\t\t\t\t\t\t\tif (Array.isArray(Resource[propertyName])) {\r\n\t\t\t\t\t\t\t\t if (Resource[propertyName].find(el => User?.id === el ) || Resource[propertyName].find(el => el.toString().toLowerCase() == User.email.toLowerCase()) ) { \r\n\t\t\t\t\t\t\t\t\tif (data != null) return true;\r\n\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse { \r\n\t\t\t\t\t\t\t\t\tif (Resource[propertyName].toLowerCase() == User?.id?.toLowerCase() || Resource[propertyName].toLowerCase() == User.email.toLowerCase()) {\r\n\t\t\t\t\t\t\t\t\t\tif (data != null) return true;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tif (Resource[propertyName] != null && (Resource[propertyName].toLowerCase() == User?.id?.toLowerCase() || Resource[propertyName].toLowerCase() == User.email.toLowerCase())) { //RITM0710913\r\n\t\t\t\t\t\t\t\tif (data != null) return true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (data != null) return true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\treturn false;\r\n}\r\nexport function CanExecuteAction(Module, Process, User, Status, ActionType, Resource, OptionalResource = null) {\r\n\t// console.log({ Module, Process, User, Status, ActionType, Resource });\r\n\tif (Status == \"\") {\r\n\t\tStatus = undefined;\r\n\t} // in creazione lo status è null\r\n\r\n\tconst workflows = User.policies;\r\n\tconst { roles } = User;\r\n\r\n\tconst workflow = workflows.find((p) => p.module == Module && p.process == Process);\r\n\tif (workflow != null) {\r\n\t\t// multi roles support\r\n\t\tfor (let i = 0; i < roles.length; i += 1) {\r\n\t\t\tconst policy = workflow.policies.find((p) => p.role == roles[i]);\r\n\t\t\tif (policy != null) {\r\n\t\t\t\tconst action = policy.actions.find((a) => a.type == ActionType && (Process == 'FindingManagement' ? _FindingSTATUS[a.status] == Status : _STATUS[a.status] == Status));\r\n\t\t\t\tconst propertyName = policy.requireResource;\r\n\t\t\t\tif (propertyName) {\r\n\t\t\t\t\tif (Resource != null) {\r\n\t\t\t\t\t\tif (Process == 'FindingManagement') {\r\n\t\t\t\t\t\t if (Resource[propertyName] != null) {\r\n\t\t\t\t\t\t\t if (Array.isArray(Resource[propertyName])) {\r\n\t\t\t\t\t\t\t\t if (Resource[propertyName].find(el => User?.id === el ) || Resource[propertyName].find(el => el.toString().toLowerCase() == User.email.toLowerCase()) ) { \r\n\t\t\t\t\t\t\t\t\tif (action != null) return true;\r\n\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t else { \r\n\t\t\t\t\t\t\t\t if (Resource[propertyName].toLowerCase() == User?.id?.toLowerCase() || Resource[propertyName].toLowerCase() == User.email.toLowerCase()) {\r\n\t\t\t\t\t\t\t\t\tif (action != null) return true;\r\n\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t }\r\n\t\t\t\t\t else {\r\n\t\t\t\t\t\t if (Resource[propertyName] != null && (Resource[propertyName].toLowerCase() == User?.id?.toLowerCase() || Resource[propertyName].toLowerCase() == User.email.toLowerCase())) { //RITM0710913\r\n\t\t\t\t\t\t\tif (action != null) return true;\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t }\r\n\t\t\t\t }\r\n\r\n\t\t\t\t\t//check if the auditor is a team leader RITM0736117\r\n\t\t\t\t\tif(ActionType === 'Submit' && Status == 1){\r\n\t\t\t\t\t\tif(OptionalResource != null) {\r\n\t\t\t\t\t\t\tconst found = OptionalResource.find(item => item[propertyName] != null && item[propertyName].toLowerCase() == User.email.toLowerCase() && item['teamLeader'] != null && item['teamLeader'] == true);\r\n\t\t\t\t\t\t\tif (found != null)\r\n\t\t\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\t\t\t\t\t\r\n\t\t\t\t} else if (action != null) return true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\treturn false;\r\n}\r\n","import React from 'react';\r\nexport const AppContext = React.createContext();","import React, { Component } from 'react';\r\nimport { Link, Route } from 'react-router-dom';\r\nimport {\r\n Search, DataTable, Loading, DataTableSkeleton,\r\n TableContainer, Pagination, Form, FormLabel, TextInput, ComposedModal, ModalHeader, ModalBody, FormGroup, TableHead, Table, DropdownSkeleton, TableSelectRow, DatePickerSkeleton, TableBatchActions, TableBatchAction, TableBody, TableRow, TableCell, TableHeader, TableToolbar, TableToolbarContent, Button,\r\n} from 'carbon-components-react';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport Send16 from '@carbon/icons-react/lib/send/16';\r\nimport { CheckmarkOutline16, CheckmarkFilled20, Add20, Error16, Download16, Document16, Tag } from '@carbon/icons-react/lib/';\r\nimport { RenderDataTableCell, NoRecordsPlaceholder } from '../../helpers/jsonschemaform/DataTableExtention';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport { getSuccess, getError, entitiesLabels, apioperation, DateFormat, LogOperation, LogModule } from '../../helpers/Constants';\r\nimport moment, { invalid } from 'moment';\r\nimport { activityLog, me, api, } from '../../helpers/api/api';\r\nimport { ComboBox } from '../../helpers/ComboBox';\r\nimport { CanExecuteAction, IsInRole } from '../../helpers/authorization/Policies';\r\nimport { AppContext } from '../../helpers/context/AppContext';\r\nimport PageBreadCrumb from '../../helpers/PageBreadCrumb';\r\nimport DateTimePicker from '../../helpers/DateTimePicker';\r\nimport { switchDateFormat } from '../../helpers/jsonschemaform/customwidget/utils';\r\nimport Data16 from '@carbon/icons-react/lib/data--1/16';\r\nimport { StatusTag } from '../../helpers/PageBreadCrumb';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { Online } from '../common/OnLineOffLine';\r\nconst baseUrl = '/activityLog/';\r\nconst searchProp = {\r\n module: '',\r\n operation: '',\r\n entity: '',\r\n referenceEntity: '',\r\n property: '',\r\n value: '',\r\n user: '',\r\n occurredAtFrom: null,\r\n occurredAtTo: null,\r\n\r\n\r\n};\r\nexport class ActivityLog extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator();\r\n\r\n this.state = {\r\n currentPage: 1,\r\n pageSize: 10,\r\n rowCount: 0,\r\n isLoading: true,\r\n isLoadingList: true,\r\n isLoadingEntity: true,\r\n itemList: [],\r\n currentPage: 1,\r\n pageSize: 10,\r\n rowCount: 0,\r\n searchModel: {\r\n ...searchProp\r\n },\r\n entityList: [],\r\n xmodule: [],\r\n xentity: [],\r\n xoperation: [LogOperation.OPERATION_LOG_UPDATE, LogOperation.OPERATION_LOG_DELETE, LogOperation.OPERATION_LOG_INSERT],\r\n isOpenDetailsModal: false,\r\n DetailModalId: null,\r\n\r\n\r\n };\r\n this.toggleSearchForm = this.toggleSearchForm.bind(this);\r\n this.updateState = this.updateState.bind(this);\r\n this.handleClickCancelSearch = this.handleClickCancelSearch.bind(this);\r\n this.getEntityFiltered = this.getEntityFiltered.bind(this);\r\n this.renderSearchform = this.renderSearchform.bind(this);\r\n this.getActivityLog = this.getActivityLog.bind(this);\r\n this.DetailsForm = this.DetailsForm.bind(this);\r\n this.closeDetailsForm = this.closeDetailsForm.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.getActivityLog();\r\n this.getEntityActivityLog();\r\n }\r\n\r\n /*************API get********************/\r\n //API GET COMBO ENTITY \r\n getEntityActivityLog() {\r\n this.setState({ isLoadingEntity: true });\r\n activityLog.getEntity()\r\n .then(response => {\r\n\r\n var data = response.data;\r\n var module = data.map(x => x.module);\r\n module = module.filter((x, idx) => module.indexOf(x) === idx)\r\n //var entity = data.map(x => x.entity );\r\n this.setState({\r\n entityList: data,\r\n xmodule: module,\r\n xentity: data\r\n });\r\n\r\n }).catch(error => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.ACTIVITYLOG, apioperation.GET));\r\n }).finally(() => {\r\n this.setState({ isLoadingEntity: false });\r\n });\r\n }\r\n //API GET FILTERED\r\n getActivityLog(param) {\r\n\r\n if (this.validator.allValid()) {\r\n this.setState({\r\n isLoading: true,\r\n })\r\n\r\n var idX = null;\r\n if (this.state.entityList && this.state.searchModel.referenceEntity) {\r\n var obb = this.state.entityList.find(x => x.referenceEntity == this.state.searchModel.referenceEntity);\r\n if (obb) {\r\n idX = obb.id;\r\n }\r\n }\r\n\r\n const data = {\r\n params: {\r\n page: (param && param.page) ? param.page : this.state.currentPage,\r\n pageSize: (param && param.pageSize) ? param.pageSize : this.state.pageSize,\r\n id: idX,\r\n ...this.state.searchModel\r\n }\r\n };\r\n activityLog.getWithParam(data)\r\n .then(response => {\r\n this.setState({\r\n ...response.data\r\n });\r\n\r\n }).catch(error => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.ACTIVITYLOG, apioperation.GET));\r\n }).finally(() => {\r\n this.setState({\r\n isLoading: false,\r\n });\r\n });\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`,\"Date required fields are missing \");\r\n this.forceUpdate();\r\n }\r\n }\r\n //API GET COMBO ENTITY FILTERED FOR MODULE\r\n getEntityFiltered() {\r\n this.setState({ isLoadingEntity: true });\r\n var module = this.state.searchModel.module;\r\n const data = {\r\n params: {\r\n module: this.state.searchModel.module\r\n }\r\n };\r\n activityLog.getfilteredEntity(data)\r\n .then(response => {\r\n var data = response.data;\r\n\r\n\r\n this.setState({\r\n xentity: data\r\n });\r\n\r\n }).catch(error => {\r\n showNotification.error(getError(error, entitiesLabels.ACTIVITYLOG, apioperation.GET));\r\n }).finally(() => {\r\n this.setState({\r\n isLoading: false,\r\n isLoadingEntity: false\r\n });\r\n });\r\n }\r\n\r\n //METODI VARI\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n let statusCopy = Object.assign({}, this.state);\r\n statusCopy[objName][inputName] = inputValue;\r\n this.setState(statusCopy);\r\n }\r\n\r\n handleChangeComboEntity = (inputName, selectedItem, objName) => {\r\n\r\n let inputValue = selectedItem ? selectedItem.tableDisplayName : null;\r\n let statusCopy = Object.assign({}, this.state);\r\n statusCopy[objName][inputName] = inputValue;\r\n this.setState(statusCopy);\r\n }\r\n handleChangeCombo2 = (inputName, selectedItem, objName) => {\r\n\r\n let inputValue = selectedItem ? selectedItem : null;\r\n let statusCopy = Object.assign({}, this.state);\r\n statusCopy[objName][inputName] = inputValue;\r\n this.setState(statusCopy);\r\n if (inputName == 'module') {\r\n\r\n this.getEntityFiltered();\r\n }\r\n }\r\n\r\n handleChangeCombo = (inputName, selectedItem, objName) => {\r\n\r\n let inputValue = selectedItem ? selectedItem.id : null;\r\n let statusCopy = Object.assign({}, this.state);\r\n statusCopy[objName][inputName] = inputValue;\r\n this.setState(statusCopy);\r\n }\r\n\r\n /*************Form Ricerca********************/\r\n toggleSearchForm(e) {\r\n e.preventDefault();\r\n this.setState(oldState => ({ isOpenSearchForm: !oldState.isOpenSearchForm }));\r\n }\r\n\r\n handleChangeSearch = (el) => {\r\n let inputName = el.target.name;\r\n\r\n let inputValue = el.target.value;\r\n\r\n this.updateState(inputName, inputValue, 'searchModel');\r\n }\r\n\r\n handleClickSearch = (e) => {\r\n e.preventDefault();\r\n this.getActivityLog({ page: 1 });\r\n }\r\n\r\n handleClickCancelSearch = (e) => {\r\n e.preventDefault();\r\n this.toggleSearchForm(e);\r\n this.setState({\r\n searchModel: {\r\n ...searchProp\r\n },\r\n }, () => { this.getActivityLog({ page: 1 }); });\r\n }\r\n\r\n handleChangePaging = (event) => {\r\n this.getActivityLog(event);\r\n }\r\n\r\n\r\n\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n this.setState(prevState => ({\r\n [objName]: {\r\n ...prevState[objName],\r\n [inputName]: inputValue\r\n }\r\n }));\r\n }\r\n\r\n\r\n DetailsForm = (id) => {\r\n this.setState({\r\n DetailModalId: id\r\n , isOpenDetailsModal: true\r\n });\r\n\r\n }\r\n closeDetailsForm = () => {\r\n\r\n this.setState({\r\n isOpenDetailsModal: false\r\n });\r\n }\r\n //MODALE DETTAGLIO\r\n renderDetailsForm() {\r\n const modalHeader = {\r\n title: \"Detail\",\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.closeDetailsForm()\r\n };\r\n const id = this.state.DetailModalId;\r\n let itemList = this.state.itemList || [];\r\n const Details = itemList.find(el => el.id == id);;\r\n return (\r\n this.closeDetailsForm()}\r\n >\r\n \r\n \r\n \r\n
    \r\n\r\n {/* Lorem ipsum dolor sit lorem a amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt. */}\r\n\r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n {/* */}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {Details?.referenceEntity?.toUpperCase() != Details.entityId &&\r\n
    \r\n \r\n\r\n \r\n \r\n
    \r\n }\r\n\r\n
    \r\n \r\n\r\n \r\n \r\n
    \r\n\r\n {\r\n Details.relatedEntityCode != 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\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n );\r\n }\r\n //COMPONENTE TENDINA TASTINO\r\n\r\n renderSearchform() {\r\n\r\n const filterItems = {\r\n module: null,\r\n operation: null,\r\n entity: null\r\n }\r\n if (this.state.searchModel != null && (this.state.searchModel.occuredAtTo || this.state.searchModel.occuredAtFrom)) {\r\n var diffduedate =\r\n (this.state.searchModel.occuredAtTo &&\r\n this.state.searchModel.occuredAtFrom) &&\r\n moment(this.state.searchModel.occuredAtTo).isSameOrAfter(moment(this.state.searchModel.occuredAtFrom), 'day')\r\n } else {\r\n var diffduedate = true;\r\n }\r\n\r\n const validations = {\r\n\r\n start: this.state.searchModel.occurredAtTo ? this.validator.message('Occured At From', this.state.searchModel.occurredAtFrom, 'required') : null,\r\n end: this.state.searchModel.occurredAtFrom ? this.validator.message('Occured At To', this.state.searchModel.occurredAtTo, 'required') : null,\r\n endAfterStart: this.validator.message('endAfterStart', this.state.searchModel.occurredAtTo == null || this.state.searchModel.occurredAtFrom == null\r\n || moment(this.state.searchModel.occurredAtTo).isSameOrAfter(moment(this.state.searchModel.occurredAtFrom), 'day'), 'accepted'),\r\n //immediateActions: this.validator.message('Immediate Actions', this.state.hocCardModel.immediateActions, 'required'),\r\n //occurredAtToValid: this.validator.message('Occured At ...', diffduedate, 'accepted'),\r\n }\r\n return (\r\n this.state.isOpenSearchForm &&\r\n
    \r\n
    \r\n\r\n \r\n \r\n Operation\r\n \r\n\r\n (item ? item : '')}\r\n initialSelectedItem={filterItems.operation}\r\n items={this.state.xoperation}\r\n // // items={this.state.search.search}\r\n\r\n />\r\n \r\n\r\n \r\n \r\n Module\r\n \r\n\r\n (item ? item : '')}\r\n initialSelectedItem={filterItems.module}\r\n items={this.state.xmodule}\r\n />\r\n \r\n\r\n\r\n\r\n \r\n \r\n Entity\r\n \r\n {this.state.isLoadingEntity ? : (item ? item.tableDisplayName : '')}\r\n initialSelectedItem={filterItems.entity}\r\n items={this.state.xentity}\r\n // // items={this.state.search.search}\r\n />}\r\n \r\n\r\n\r\n \r\n Entity Code / Guid \r\n \r\n \r\n\r\n\r\n \r\n Field Name \r\n \r\n \r\n\r\n \r\n Field Value \r\n \r\n \r\n\r\n \r\n User \r\n \r\n \r\n\r\n\r\n \r\n \r\n Date Of Occurrence From\r\n \r\n {this.state.isLoadingDate ? :\r\n\r\n\r\n \r\n }\r\n {validations.start &&
    You must enter both dates to filter on the time frame
    }
    \r\n \r\n \r\n Date Of Occurrence To\r\n \r\n {this.state.isLoadingDate ? :\r\n\r\n\r\n \r\n }\r\n {validations.end &&
    You must enter both dates to filter on the time frame
    }\r\n {validations.endAfterStart &&
    The end date field must be after start date field
    }\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n\r\n );\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n /*************Render********************/\r\n render() {\r\n this.validator.purgeFields();//si usa quando ci sono validazioni condizionali tra più campi\r\n const headersDataTable = [\r\n { key: 'module', header: 'Module' },\r\n { key: 'operation', header: 'Operation', type: 'status' },\r\n { key: 'entity', header: 'Entity' },\r\n { key: 'property', header: 'Field Name' },\r\n { key: 'occurredAt', header: 'Occurence Date', type: 'datetime' },\r\n\r\n ];\r\n\r\n const paginationProps = () => ({\r\n page: this.state.currentPage || 1,\r\n totalItems: this.state.rowCount || 0,\r\n pageSize: this.state.pageSize || 10,\r\n pageSizes: [10, 20, 30, 40, 50],\r\n onChange: this.handleChangePaging,\r\n });\r\n\r\n\r\n\r\n const skeletonRowCount = (this.state.rowCount > 0 && this.state.pageSize > this.state.rowCount) ? this.state.rowCount : 5;\r\n\r\n\r\n\r\n return (\r\n {\r\n ({ user }) =>\r\n <>\r\n\r\n \r\n
    \r\n {/* */}\r\n {this.state.isOpenDetailsModal ? this.renderDetailsForm() : ''}\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n {this.renderSearchform()}\r\n\r\n (\r\n\r\n \r\n\r\n {this.state.isLoading ?\r\n \r\n :\r\n \r\n \r\n \r\n\r\n {headers.map(header => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n Actions\r\n \r\n\r\n \r\n \r\n {\r\n (rows == null || rows.length == 0)\r\n ?\r\n \r\n :\r\n rows.map((row) => (\r\n \r\n {\r\n row.cells.map(cell =>\r\n x.key === cell.info.header)} />\r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n ))}\r\n
    \r\n
    \r\n }\r\n
    \r\n )}\r\n />\r\n\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, { Component } from 'react';\r\nimport { Link, Route } from 'react-router-dom';\r\nimport {\r\n Search, DataTable, Loading, DataTableSkeleton,ButtonSkeleton,MultiSelect,\r\n TableContainer, Pagination, Form, FormLabel, TextInput, ComposedModal, ModalHeader, ModalBody, FormGroup, TableHead, Table, DropdownSkeleton, TableSelectRow, DatePickerSkeleton, TableBatchActions, TableBatchAction, TableBody, TableRow, TableCell, TableHeader, TableToolbar, TableToolbarContent, Button,\r\n} from 'carbon-components-react';\r\nimport { Document16, Tag } from '@carbon/icons-react/lib/';\r\nimport { getSuccess, getError, entitiesLabels, apioperation, DateFormat, LogOperation, LogModule } from '../../helpers/Constants';\r\nimport moment, { invalid } from 'moment';\r\nimport { activityLog, me, api, dynamic,kpi} from '../../helpers/api/api';\r\nimport { ComboBox } from '../../helpers/ComboBox';\r\nimport { RenderDataTableCell, NoRecordsPlaceholder } from '../../helpers/jsonschemaform/DataTableExtention';\r\nimport { AppContext } from '../../helpers/context/AppContext';\r\nimport PageBreadCrumb from '../../helpers/PageBreadCrumb';\r\nimport DateTimePicker from '../../helpers/DateTimePicker';\r\nimport { switchDateFormat } from '../../helpers/jsonschemaform/customwidget/utils';\r\nimport Data16 from '@carbon/icons-react/lib/data--1/16';\r\nimport { StatusTag } from '../../helpers/PageBreadCrumb';\r\nimport { v4 as uuid } from 'uuid';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { Online } from '../common/OnLineOffLine';\r\nimport Add16 from '@carbon/icons-react/lib/add/16';\r\nimport Download16 from '@carbon/icons-react/lib/download/16';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport { ConfirmAlertCustom } from '../../helpers/ConfirmAlertCustom';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nconst baseUrl = '/admin/kpinotapplicable/';\r\nconst searchProp = {\r\n idKpi:null,\r\n quarter:null,\r\n listWorkSite:null,\r\n year:0\r\n \r\n};\r\nconst modelProp= {\r\n idKpi:null,\r\n quarter:null,\r\n listWorkSite:null,\r\n year:0\r\n}\r\nexport class KpiNotApplicable extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator();\r\n this.toggleSearchForm = this.toggleSearchForm.bind(this);\r\n this.state = {\r\n currentPage: 1,\r\n pageSize: 10,\r\n rowCount: 0,\r\n isLoading: false,//\r\n isLoadingList: false,//\r\n isLoadingEntity: false,//\r\n itemList: [],\r\n currentPage: 1,\r\n pageSize: 10,\r\n rowCount: 0,\r\n search: {\r\n ...searchProp\r\n },\r\n entityList: [],\r\n \r\n model:{\r\n ...modelProp\r\n },\r\n selectedItems: [],\r\n selectedItemsSearch: [],\r\n\r\n listKpiNotApplicable:[],\r\n listKpi: [],\r\n //Flags\r\n selecteKPI:true,\r\n selecteQuarter:true,\r\n\r\n isOpenDetailsModal: false,\r\n DetailModalId: null,\r\n kpiAI:[],\r\n quarter: [ 'Q1', 'Q2', 'Q3', 'Q4'],\r\n worksites:[],\r\n listWorkSites:[],\r\n isOpenDeleteModal: false,\r\n isDeleting: false,\r\n idToDelete:null,\r\n\r\n isOpenSearchForm:false,\r\n };\r\n \r\n }\r\n componentDidMount() {\r\n this.getKPINotApplicable();\r\n this.getKPIAI();\r\n this.getWorksite();\r\n this.getListKPIAINotApplicable();\r\n this.getListKPI();\r\n }\r\n///Entity \r\n\r\n //Get\r\n getKPINotApplicable = async (param) => {\r\n this.setState({\r\n isLoadingEntity:true\r\n });\r\n const filter= {\r\n page: param && param.page ? param.page : this.state.currentPage,\r\n pageSize: param && param.pageSize ? param.pageSize : this.state.pageSize,\r\n idKpi:this.state.search.idKpi,\r\n quarter:this.state.search.quarter,\r\n listWorkSite: this.state.search.listWorkSite != null && this.state.search.listWorkSite.length > 0\r\n ? this.state.search.listWorkSite?.map((f) => f.id).join('|')\r\n : [],\r\n year:this.state.search.year,\r\n \r\n };\r\n let data = {\r\n params: {\r\n ...filter,\r\n \r\n },}\r\n \r\n kpi\r\n .getWithParam(data)\r\n .then((response) => {\r\n if (response.status === 200) {\r\n const { data } = response;\r\n var kpis = data.itemList.sort((a, b) => {\r\n const codeA = a.code.toUpperCase();\r\n const codeB = b.code.toUpperCase();\r\n return codeA < codeB ? -1 : codeA > codeB ? 1 : 0;});\r\n this.setState({\r\n data,\r\n currentPage: data.currentPage,\r\n pageSize: data.pageSize,\r\n rowCount: data.rowCount,\r\n itemList: kpis,\r\n isLoadingEntity:false\r\n });\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.KpiNotApplicable, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingEntity:false\r\n });\r\n });\r\n }\r\n getKPIAI = () => {\r\n dynamic\r\n .getAll('kpiai', { params: { page: 0 , asst:1} })\r\n .then((response) => {\r\n var data = response.data.itemList;\r\n\r\n data = data.sort((a, b) => {\r\n const codeA = a.code.toUpperCase();\r\n const codeB = b.code.toUpperCase();\r\n return codeA < codeB ? -1 : codeA > codeB ? 1 : 0;});\r\n this.setState({\r\n kpiAI: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.KpiNotApplicable, apioperation.GET));\r\n })\r\n .finally(() => {});\r\n }\r\n getListKPIAINotApplicable = () => {\r\n dynamic\r\n .getAll('kpinotapplicable', { params: { page: 0 , asst:1} })\r\n .then((response) => {\r\n var data = response.data.itemList;\r\n this.setState({\r\n listKpiNotApplicable: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.KpiNotApplicable, apioperation.GET));\r\n })\r\n .finally(() => {});\r\n }\r\n getListKPI= () => {\r\n kpi\r\n .getAll()\r\n .then((response) => {\r\n var data = response.data;\r\n this.setState({\r\n listKpi: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.KpiNotApplicable, apioperation.GET));\r\n })\r\n .finally(() => {});\r\n}\r\n getWorksite = () => {\r\n api\r\n .getWithParam('/worksite', { params: { page: 0 } })\r\n .then((response) => {\r\n var data = response.data.itemList.filter(el=> el.asset == true);\r\n this.setState({\r\n worksites: data,\r\n listWorkSites:data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.WORKSITE, apioperation.GET));\r\n })\r\n .finally(() => {});\r\n } \r\n getKPIForEdit(id) {\r\n this.setState({\r\n isEditModal: true,\r\n isLoadingWorkSiteData: true,\r\n isOpenInsertModal: true,\r\n });\r\n const kpiToChange = this.state.itemList.find(x => x.id == id)\r\n var listWorkSites=[];\r\n \r\n if(kpiToChange.idKpi != null && kpiToChange.year != null && kpiToChange.quarter != null ){\r\n var listWSkpinotApplicable= this.state.listKpi.find( ws => ws.idKpi == kpiToChange.idKpi && ws.year == kpiToChange.year && ws.quarter == kpiToChange.quarter );\r\n if(listWSkpinotApplicable != null && listWSkpinotApplicable.listWorkSite!= null ){\r\n const filterWs = this.state.worksites.filter( x => !listWSkpinotApplicable.listWorkSite.some(y => y.id == x.id) )\r\n listWorkSites= filterWs;\r\n }else{\r\n listWorkSites = this.state.worksites;\r\n }\r\n }\r\n this.setState({\r\n //idWorkSiteEdit: id,\r\n model: kpiToChange,\r\n selectedItems:kpiToChange.listWorkSite,\r\n listWorkSites:listWorkSites,\r\n oldIdKpi:kpiToChange.idKpi,\r\n \r\n oldYear: kpiToChange.year,\r\n oldQuarter: kpiToChange.quarter\r\n });\r\n } \r\n ///Post\r\n insertKpiNotApplicable = () => {\r\n if (this.validator.allValid()) {\r\n this.setState({\r\n isSubmitted: true,\r\n spinner: true,\r\n });\r\n \r\n const datiForm = this.state?.model;\r\n const oldDatiForm= [];\r\n if (!this.state.isEditModal) {\r\n datiForm.id = uuid();\r\n }else{\r\n datiForm.oldIdKpi = this.state.oldIdKpi ;\r\n datiForm.oldYear= this.state.oldYear;\r\n datiForm.oldQuarter= this.state.oldQuarter;\r\n }\r\n const method = this.state.isEditModal\r\n ? kpi.put( datiForm)\r\n : kpi.post( datiForm);\r\n \r\n method\r\n .then(async (response) => {\r\n if (response.status === 200) {\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,'Successfully saved');\r\n \r\n this.setState(\r\n {\r\n model: {\r\n ...modelProp,\r\n },\r\n isLoading: false,\r\n isOpenInsertModal:false,\r\n },);\r\n } else {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError('Unsuccessfully saved', entitiesLabels.KpiNotApplicable, apioperation.POST)\r\n );\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.KpiNotApplicable, apioperation.POST));\r\n })\r\n .finally(() => {\r\n this.setState(\r\n {\r\n model: {\r\n ...modelProp,\r\n },\r\n isLoading: false,\r\n },\r\n () => {\r\n this.getKPINotApplicable(); \r\n this.forceUpdate();\r\n }\r\n );\r\n });\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.KpiNotApplicable} required fields are missing `\r\n );\r\n this.forceUpdate();\r\n }\r\n };\r\n deleteItem = () => {\r\n let id = this.state.idToDelete;\r\n this.setState({\r\n isDeleting: true,\r\n });\r\n const datiForm = this.state.itemList.find(x => x.id == id)\r\n \r\n \r\n kpi\r\n .delete(datiForm)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n this.setState({\r\n idToDelete: null,\r\n isOpenDeleteModal: false,\r\n });\r\n this.onCloseConfirm();\r\n this.getKPINotApplicable();\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,getSuccess(entitiesLabels.KPI, apioperation.DELETE));\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.KPI, apioperation.DELETE));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isDeleting: false,\r\n });\r\n });\r\n };\r\n////MODELLO\r\n onChange = (selectedItem) => {\r\n const items = selectedItem ? selectedItem.selectedItems : null;\r\n const statusCopy = { ...this.state };\r\n statusCopy.model.listWorkSite = items;\r\n statusCopy.selectedItems= items;\r\n\r\n this.setState(statusCopy);\r\n };\r\n onChangeSearch = (selectedItem) => {\r\n const items = selectedItem ? selectedItem.selectedItems : null;\r\n const statusCopy = { ...this.state };\r\n statusCopy.search.listWorkSite = items;\r\n statusCopy.selectedItems= items;\r\n\r\n this.setState(statusCopy);\r\n }; \r\n handleChangeComboSearch = (inputName, selectedItem, objName) => {\r\n const inputValue = selectedItem ? inputName!= 'quarter' ? selectedItem.id : selectedItem : null;\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n this.setState(statusCopy);\r\n }; \r\n handleChangeCombo = (inputName, selectedItem, objName) => {\r\n const inputValue = selectedItem ? selectedItem.id : null;\r\n \r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n statusCopy.model.quarter= null;\r\n statusCopy.model.year= 0;\r\n statusCopy.model.listWorkSite = null;\r\n statusCopy.selectedItems= [];\r\n \r\n \r\n this.setState(statusCopy);\r\n };\r\n handleChangeComboQuarter= (inputName, selectedItem, objName) => {\r\n const inputValue= selectedItem ? selectedItem : null;\r\n \r\n const statusCopy = { ...this.state };\r\n \r\n if(this.state.model.idKpi != null && this.state.model.year != null && selectedItem != null ){\r\n var listWSkpinotApplicable= this.state.listKpi.find( ws => ws.idKpi == this.state.model.idKpi && ws.year == this.state.model.year && ws.quarter == selectedItem );\r\n if(listWSkpinotApplicable != null){\r\n const filterWs = this.state.worksites.filter( x => !listWSkpinotApplicable.listWorkSite.some(y => y.id == x.id) )\r\n statusCopy.listWorkSites= filterWs;\r\n }else{\r\n statusCopy.listWorkSites = this.state.worksites;\r\n }\r\n }else{\r\n statusCopy.listWorkSites = this.state.worksites;\r\n }\r\n statusCopy[objName][inputName] = inputValue;\r\n statusCopy.model.idKpi =this.state.model.idKpi ;\r\n statusCopy.model.listWorkSite = null;\r\n statusCopy.selectedItems= [];\r\n this.setState(statusCopy);\r\n };\r\n handleChangeModel = (el) => {\r\n const inputName = el.target.name;\r\n const inputValue = el.target.value;\r\n const objName = el.target.alt;\r\n \r\n this.updateState(inputName, inputValue, objName);\r\n };\r\n handleChangeModelSearch = (el) => {\r\n const inputName = el.target.name;\r\n const inputValue = el.target.value;\r\n const objName = el.target.alt;\r\n \r\n this.updateStateSearch(inputName, inputValue, objName);\r\n };\r\n updateStateSearch = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state.search };\r\n statusCopy[inputName] = inputValue;\r\n this.setState({ search: statusCopy });\r\n};\r\n updateState = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state.model };\r\n if (objName && objName != 'model') statusCopy[objName][inputName] = inputValue;\r\n else statusCopy[inputName] = inputValue;\r\n statusCopy.quarter=null;\r\n statusCopy.listWorkSite = null;\r\n \r\n this.setState({ model: statusCopy , selectedItems:[]});\r\n };\r\n///MODALI\r\n addNew() {\r\n \r\n this.setState({\r\n isEditModal: false,\r\n isOpenInsertModal: true,\r\n selectedItems: [],\r\n });\r\n }\r\n DetailsForm = (id) => {\r\n this.setState({\r\n DetailModalId: id\r\n , isOpenDetailsModal: true\r\n });\r\n\r\n }\r\n closeDetailsForm = () => {\r\n this.setState({\r\n model: {\r\n id:null,\r\n idKpi:null,\r\n quarter:null,\r\n listWorkSite:null,\r\n year:0\r\n },\r\n isOpenInsertModal: false,\r\n selectedItems: [],\r\n oldIdKpi:null,\r\n oldYear:null,\r\n oldQuarter:null,\r\n });\r\n this.validator.hideMessages();\r\n }\r\n confirmDelete = (id) => {\r\n this.setState({\r\n idToDelete: id,\r\n isOpenDeleteModal: true,\r\n isDeleting: false,\r\n });\r\n };\r\n getNameById = (id) => {\r\n if (id == null) return '';\r\n let element = this.state.listKpiNotApplicable.find((el) => el.id == id);\r\n return element != null ? element.name : '';\r\n };\r\n onCloseConfirm = () => {\r\n this.setState({\r\n isOpenDeleteModal: false,\r\n });\r\n };\r\n\r\n //Filter\r\n toggleSearchForm(e) {\r\n e.preventDefault();\r\n this.setState((oldState) => ({ isOpenSearchForm: !oldState.isOpenSearchForm }));\r\n }\r\n handleClickCancelSearch = (e) => {\r\n e.preventDefault();\r\n this.setState(\r\n {\r\n search: {\r\n ...searchProp,\r\n },\r\n isOpenSearchForm:false,\r\n selectedItemsSearch:[]\r\n },\r\n () => {\r\n this.getKPINotApplicable({ page: 1 });\r\n }\r\n );\r\n };\r\n handleClickSearch = (e) => {\r\n e.preventDefault();\r\n this.getKPINotApplicable({ page: 1 });\r\n };\r\n//MODALE DETTAGLIO\r\n renderDetailsForm() {\r\n const modalHeader = {\r\n title: \"Add new KPI Not Applicable\",\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.closeDetailsForm()\r\n };\r\n const validations = {\r\n idWorksite: this.validator.message(\r\n 'worksite',\r\n this.state.model.listWorkSite,\r\n 'required'\r\n ),\r\n year: this.validator.message(\r\n 'year',\r\n this.state.model.year ,\r\n 'numeric|min:1,num'\r\n ),\r\n quarter: this.validator.message(\r\n 'quarter',\r\n this.state.model.quarter,\r\n 'required'\r\n ),\r\n kpi: this.validator.message(\r\n 'idKPI',\r\n this.state.model.idKpi,\r\n 'required'\r\n ),\r\n };\r\n const id = this.state.DetailModalId;\r\n let itemList = this.state.itemList || [];\r\n const Details = itemList.find(el => el.id == id);;\r\n return (\r\n this.closeDetailsForm()}\r\n >\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n Kpi*\r\n \r\n (item.name ? item.code +' - ' +item.name : '')}\r\n initialSelectedItem={this.state.model.kpiAI != null ? this.state.model.kpiAI : []}\r\n items={this.state.kpiAI}\r\n invalid={validations.kpi != null}\r\n />\r\n {validations.kpi}\r\n \r\n \r\n \r\n Year*\r\n \r\n \r\n {validations.year}\r\n \r\n \r\n \r\n Quarter*\r\n \r\n (item ? item : '')}\r\n initialSelectedItem={this.state.model.quarter != null ?this.state.model.quarter : [] }\r\n items={this.state.quarter}\r\n direction='bottom'\r\n disabled={this.state.model?.year != 0 ? false:true}\r\n invalid={validations.quarter != null}\r\n />\r\n {validations.quarter}\r\n \r\n \r\n \r\n WorkSite*\r\n \r\n elem.name).join(', ')\r\n }\r\n itemToString={(item) => (item ? item && item.name : '')}\r\n items={this.state.listWorkSites != null ?this.state.listWorkSites : []}\r\n light={false}\r\n onChange={this.onChange}\r\n type=\"default\"\r\n initialSelectedItems={this.state.model.listWorkSite != null ?this.state.model.listWorkSite : [] }\r\n disabled={this.state.model?.quarter != null ? false:true}\r\n direction='top'\r\n size='lg'\r\n className=\"open-up-combo-box\"\r\n invalid={validations.idWorksite != null}\r\n />\r\n {validations.idWorksite}\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//MODALE FILTRI\r\nrenderSearchform() {\r\n return (\r\n this.state.isOpenSearchForm && (\r\n
    \r\n
    \r\n \r\n \r\n Kpi\r\n \r\n (item.name ? item.code +' - ' +item.name : '')}\r\n initialSelectedItem={this.state.search.idKpi != null ? this.state.search.idKpi : []}\r\n items={this.state.kpiAI}\r\n \r\n />\r\n \r\n \r\n \r\n Year\r\n \r\n \r\n \r\n \r\n \r\n Quarter\r\n \r\n (item ? item : '')}\r\n initialSelectedItem={this.state.search.quarter != null ?this.state.search.quarter : [] }\r\n items={this.state.quarter}\r\n direction='top'\r\n />\r\n \r\n \r\n \r\n WorkSite\r\n \r\n elem.name).join(' , ')\r\n } \r\n itemToString={(item) => (item ? item && item.name : '')}\r\n items={this.state.worksites}\r\n light={false}\r\n onChange={this.onChangeSearch}\r\n type=\"default\"\r\n className=\"open-up-combo-box\"\r\n initialSelectedItems={this.state.search.listWorkSite != null ?this.state.search.listWorkSite : [] }\r\n size='lg'\r\n />\r\n \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n )\r\n );\r\n}\r\n//Download\r\ndownloadFile() {\r\n if (this.state.isExportLoading) return;\r\n\r\n this.setState({\r\n isExportLoading: true,\r\n });\r\n api\r\n .getWithParam(baseUrl + 'excel', { responseType: 'arraybuffer' })\r\n .then((response) => {\r\n //fileDownload(new Blob([response.data]), 'report.xlsx');\r\n var data = new Blob([response.data], {\r\n type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\r\n });\r\n var csvURL = window.URL.createObjectURL(data);\r\n var tempLink = document.createElement('a');\r\n tempLink.href = csvURL;\r\n\r\n var nomefile = 'Export_' + 'Worksite_' + moment().format('YYYYMMDDHHmmSS') + '.xlsx';\r\n tempLink.setAttribute('download', nomefile);\r\n\r\n document.body.appendChild(tempLink);\r\n tempLink.click();\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, 'Download File', apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isExportLoading: false,\r\n });\r\n });\r\n}\r\n/////RENDER \r\n render() {\r\n this.validator.purgeFields();//si usa quando ci sono validazioni condizionali tra più campi\r\n const headersDataTable = [\r\n { key: 'code', header: 'Code' },\r\n { key: 'name', header: 'Name' },\r\n { key: 'year', header: 'Year' },\r\n { key: 'quarter', header: 'Quarter' },\r\n { key: 'numberworksite', header: 'Worksites' },\r\n\r\n ];\r\n const paginationProps = () => ({\r\n page: this.state.currentPage || 1,\r\n totalItems: this.state.rowCount || 0,\r\n pageSize: this.state.pageSize || 10,\r\n pageSizes: [10, 20, 30, 40, 50],\r\n onChange: this.handleChangePaging,\r\n });\r\n const confirmDelProps = () => ({\r\n idToDelete: this.state.idToDelete,\r\n nameItem: this.getNameById(this.state.idToDelete),\r\n isDeleting: this.state.isDeleting,\r\n open: this.state.isOpenDeleteModal, //open state\r\n onCloseConfirm: this.onCloseConfirm, //no click\r\n deleteItem: this.deleteItem, //yes click fn()\r\n });\r\n const skeletonRowCount = (this.state.rowCount > 0 && this.state.pageSize > this.state.rowCount) ? this.state.rowCount : 5;\r\n return (\r\n {\r\n ({ user }) =>\r\n <>\r\n \r\n
    \r\n \r\n {this.state.isOpenInsertModal ? this.renderDetailsForm() : ''}\r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {\r\n !this.state.isReadOnly &&\r\n (this.state.isLoadingSchema ? \r\n : )\r\n }\r\n \r\n
    \r\n {!this.state.isExportLoading ? '' : }\r\n {this.renderSearchform()}\r\n (\r\n \r\n {this.state.isLoadingEntity ?\r\n \r\n :\r\n \r\n \r\n \r\n\r\n {headers.map(header => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n Actions\r\n \r\n\r\n \r\n \r\n {\r\n (rows == null || rows.length == 0)\r\n ?\r\n \r\n :\r\n rows.map((row) => (\r\n \r\n {\r\n row.cells.map(cell =>\r\n x.key === cell.info.header)} />\r\n )}\r\n \r\n
    \r\n \r\n this.getKPIForEdit(row.id)}\r\n size=\"small\"\r\n renderIcon={Edit16}\r\n iconDescription=\"Edit\"\r\n kind=\"ghost\"\r\n />\r\n this.confirmDelete(row.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n }\r\n
    \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, { Component } from \"react\";\r\n\r\nimport Data16 from \"@carbon/icons-react/lib/data--1/16\";\r\nimport PageBreadCrumb from \"./../../helpers/PageBreadCrumb\";\r\nimport SimpleReactValidator from \"simple-react-validator\";\r\nimport moment from \"moment\";\r\nimport { AppContext } from \"./../../helpers/context/AppContext\";\r\nimport { ComboBox } from \"../../helpers/ComboBox\";\r\nimport { ConfirmAlertCustom } from \"./../../helpers/ConfirmAlertCustom\";\r\nimport { Download16, Add16, Edit16, Delete16 } from \"@carbon/icons-react\";\r\nimport { Online } from \"./../common/OnLineOffLine\";\r\nimport { RenderDataTableCell, NoRecordsPlaceholder } from \"../../helpers/jsonschemaform/DataTableExtention\";\r\nimport {\r\n\tSearch,\r\n\tTableToolbar,\r\n\tLoading,\r\n\tButton,\r\n\tForm,\r\n\tFormGroup,\r\n\tFormLabel,\r\n\tTextInput,\r\n\tDataTable,\r\n\tTableContainer,\r\n\tDataTableSkeleton,\r\n\tPagination,\r\n\tTable,\r\n\tTableHead,\r\n\tTableRow,\r\n\tTableHeader,\r\n\tTableBody,\r\n\tTableCell,\r\n\tComposedModal,\r\n\tModalHeader,\r\n\tModalBody,\r\n} from \"carbon-components-react\";\r\nimport { api, kpi } from \"./../../helpers/api/api\";\r\nimport { entitiesLabels, apioperation, getError, getSuccess } from \"../../helpers/Constants\";\r\nimport { showNotification } from \"./../../helpers/notification/BaseNotification\";\r\nimport { v4 as uuid } from \"uuid\";\r\n\r\nconst searchProp = {\r\n\tidKpi: null,\r\n\tidDivision: null,\r\n\tallDivisions: true,\r\n\tyear: 0,\r\n\tquarter: null,\r\n};\r\n\r\nconst modelProp = {\r\n\tidKpi: null,\r\n\tidDivision: null,\r\n\tyear: 0,\r\n\tquarter: null,\r\n\tkpiValue: null,\r\n};\r\n\r\nconst quarters = [\"Q1\", \"Q2\", \"Q3\", \"Q4\"];\r\n\r\nexport class KpiManualInput extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.validator = new SimpleReactValidator();\r\n\r\n\t\tthis.state = {\r\n\t\t\t// Paging\r\n\t\t\tcurrentPage: 1,\r\n\t\t\tpageSize: 10,\r\n\t\t\trowCount: 0,\r\n\r\n\t\t\t// Loaders\r\n\t\t\tisExportLoading: false,\r\n\t\t\tisLoadingEntity: false,\r\n\t\t\tisSearchFormExpanded: false,\r\n\r\n\t\t\t// Combobox lists\r\n\t\t\tkpis: [],\r\n\t\t\tdivisions: [],\r\n\r\n\t\t\t// Search-related fields\r\n\t\t\tsearch: { ...searchProp },\r\n\r\n\t\t\t// Main lists\r\n\t\t\tkpiManualInputListPaged: [],\r\n\t\t\tkpiManialInputListAll: [],\r\n\r\n\t\t\t// Edit modal\r\n\t\t\tisUpdateMode: false,\r\n\t\t\tisEditModalOpen: false,\r\n\r\n\t\t\t// Insert / edit model\r\n\t\t\tmodel: { ...modelProp },\r\n\r\n\t\t\t// Delete\r\n\t\t\tidToDelete: null,\r\n\t\t\tisDeleting: false,\r\n\t\t\tisDeleteModalOpen: false,\r\n\r\n\t\t\t// Used for update\r\n\t\t\toldIdKpi: null,\r\n\t\t\toldYear: null,\r\n\t\t\toldQuarter: null,\r\n\t\t\toldIdDivision: null,\r\n\t\t};\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t\tthis.getAllHseKpis();\r\n\t\tthis.getAllDivisions();\r\n\t\tthis.getAllManualInputKpis();\r\n\r\n\t\t// Main list\r\n\t\tthis.getPagedFilteredManualInputKpis();\r\n\t}\r\n\r\n\tgetAllHseKpis = () => {\r\n\t\tkpi.hse.getAll().then((res) => {\r\n\t\t\tthis.setState({ kpis: res.data });\r\n\t\t});\r\n\t};\r\n\r\n\tgetAllDivisions = () => {\r\n\t\tapi.getAll(\"/division\").then((res) => {\r\n\t\t\tres.data.push({ id: -1, name: \"Group\" });\r\n\t\t\tthis.setState({ divisions: res.data });\r\n\t\t});\r\n\t};\r\n\r\n\tgetPagedFilteredManualInputKpis = (param) => {\r\n\t\tthis.setState({ isLoadingEntity: true });\r\n\r\n\t\tconst filter = {\r\n\t\t\tpage: param && param.page ? param.page : this.state.currentPage,\r\n\t\t\tpageSize: param && param.pageSize ? param.pageSize : this.state.pageSize,\r\n\t\t\tidKpi: this.state.search.idKpi,\r\n\t\t\tidDivision: this.state.search.idDivision,\r\n\t\t\tallDivisions: this.state.search.allDivisions,\r\n\t\t\tyear: this.state.search.year,\r\n\t\t\tquarter: this.state.search.quarter,\r\n\t\t};\r\n\r\n\t\tconst data = { params: { ...filter } };\r\n\r\n\t\tkpi.mi\r\n\t\t\t.getWithParam(data)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (res.status === 200) {\r\n\t\t\t\t\tconst { data } = res;\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tcurrentPage: data.currentPage,\r\n\t\t\t\t\t\tpageSize: data.pageSize,\r\n\t\t\t\t\t\trowCount: data.rowCount,\r\n\t\t\t\t\t\tkpiManualInputListPaged: data.itemList,\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tshowNotification.error();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.KPIMANUALINPUT, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({ isLoadingEntity: false });\r\n\t\t\t});\r\n\t};\r\n\r\n\tgetAllManualInputKpis = () => {\r\n\t\tkpi.mi\r\n\t\t\t.getAll()\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (res.status === 200) {\r\n\t\t\t\t\tthis.setState({ kpiManialInputListAll: res.data });\r\n\t\t\t\t} else {\r\n\t\t\t\t\tshowNotification.error();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.KPIMANUALINPUT, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {});\r\n\t};\r\n\r\n\t// Modals\r\n\topenAddNewModal = () => {\r\n\t\tthis.setState({\r\n\t\t\tisUpdateMode: false,\r\n\t\t\tisEditModalOpen: true,\r\n\t\t});\r\n\t};\r\n\r\n\tcloseEditModal = () => {\r\n\t\tthis.setState({\r\n\t\t\tmodel: { ...modelProp },\r\n\t\t\tisEditModalOpen: false,\r\n\t\t\toldIdKpi: null,\r\n\t\t\toldYear: null,\r\n\t\t\toldQuarter: null,\r\n\t\t\toldIdDivision: null,\r\n\t\t});\r\n\t\tthis.validator.hideMessages();\r\n\t};\r\n\r\n\t// Search\r\n\ttoggleSearchForm = (e) => {\r\n\t\te.preventDefault();\r\n\t\tthis.setState((oldState) => ({ isSearchFormExpanded: !oldState.isSearchFormExpanded }));\r\n\t};\r\n\r\n\thandleClickCancelSearch = (e) => {\r\n\t\te.preventDefault();\r\n\t\tthis.setState(\r\n\t\t\t{\r\n\t\t\t\tsearch: { ...searchProp },\r\n\t\t\t\tisSearchFormExpanded: false,\r\n\t\t\t},\r\n\t\t\t() => {\r\n\t\t\t\tthis.getPagedFilteredManualInputKpis({ page: 1 });\r\n\t\t\t}\r\n\t\t);\r\n\t};\r\n\r\n\thandleClickSearch = (e) => {\r\n\t\te.preventDefault();\r\n\t\tthis.getPagedFilteredManualInputKpis({ page: 1 });\r\n\t};\r\n\r\n\t// Excel export\r\n\tdownloadFile() {\r\n\t\tif (this.state.isExportLoading) return;\r\n\r\n\t\tthis.setState({ isExportLoading: true });\r\n\r\n\t\tapi.getWithParam(\"/admin/kpimanualinput/excel\", { responseType: \"arraybuffer\" })\r\n\t\t\t.then((response) => {\r\n\t\t\t\tvar data = new Blob([response.data], {\r\n\t\t\t\t\ttype: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\r\n\t\t\t\t});\r\n\t\t\t\tvar csvURL = window.URL.createObjectURL(data);\r\n\t\t\t\tvar tempLink = document.createElement(\"a\");\r\n\t\t\t\ttempLink.href = csvURL;\r\n\r\n\t\t\t\tvar fileName = \"Export_\" + \"KPIManualInput_\" + moment().format(\"YYYYMMDDHHmmSS\") + \".xlsx\";\r\n\t\t\t\ttempLink.setAttribute(\"download\", fileName);\r\n\r\n\t\t\t\tdocument.body.appendChild(tempLink);\r\n\t\t\t\ttempLink.click();\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, \"Download File\", apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({ isExportLoading: false });\r\n\t\t\t});\r\n\t}\r\n\r\n\t// Search form handlers\r\n\tupdateStateSearch = (inputName, inputValue, objName) => {\r\n\t\tconst stateCopy = { ...this.state.search };\r\n\t\tstateCopy[inputName] = inputValue;\r\n\t\tthis.setState({ search: stateCopy });\r\n\t};\r\n\r\n\thandleChangeComboSearch = (inputName, selectedItem, objName) => {\r\n\t\tconst inputValue = selectedItem && selectedItem.id;\r\n\t\tconst stateCopy = { ...this.state };\r\n\t\tstateCopy[objName][inputName] = inputValue;\r\n\t\tif (inputName === \"idDivision\") stateCopy[objName][\"allDivisions\"] = !selectedItem;\r\n\t\tthis.setState(stateCopy);\r\n\t};\r\n\r\n\thandleChangeQuarterSearch = (inputName, selectedItem, objName) => {\r\n\t\tconst stateCopy = { ...this.state };\r\n\t\tstateCopy[objName][inputName] = selectedItem;\r\n\t\tthis.setState(stateCopy);\r\n\t};\r\n\r\n\thandleChangeYearSearch = (el) => {\r\n\t\tconst inputName = el.target.name;\r\n\t\tconst inputValue = el.target.value || 0;\r\n\t\tconst objName = el.target.alt;\r\n\r\n\t\tthis.updateStateSearch(inputName, inputValue, objName);\r\n\t};\r\n\r\n\t// Edit modal handlers\r\n\thandleChangeModelKpi = (inputName, selectedItem, objName) => {\r\n\t\tconst inputValue = selectedItem ? selectedItem.id : null;\r\n\t\tconst stateCopy = { ...this.state };\r\n\t\tstateCopy[objName][inputName] = inputValue;\r\n\t\tstateCopy.model.quarter = null;\r\n\t\tstateCopy.model.year = 0;\r\n\r\n\t\tthis.setState(stateCopy);\r\n\t};\r\n\r\n\thandleChangeModelNumeric = (el) => {\r\n\t\tconst inputName = el.target.name;\r\n\t\tconst inputValue = el.target.value;\r\n\t\tconst objName = el.target.alt;\r\n\r\n\t\tthis.updateState(inputName, inputValue, objName);\r\n\t};\r\n\r\n\thandleChangeModelQuarter = (inputName, selectedItem, objName) => {\r\n\t\tconst inputValue = selectedItem ? selectedItem : null;\r\n\t\tconst stateCopy = { ...this.state };\r\n\r\n\t\tif (this.state.model.idKpi != null && this.state.model.year != null && selectedItem != null) {\r\n\t\t\tvar kpi = this.state.kpiManialInputListAll.find((k) => k.idKpi == this.state.model.idKpi && k.year == this.state.model.year && k.quarter == selectedItem);\r\n\t\t}\r\n\t\tstateCopy[objName][inputName] = inputValue;\r\n\t\tstateCopy.model.idKpi = this.state.model.idKpi;\r\n\t\tthis.setState(stateCopy);\r\n\t};\r\n\r\n\thandleChangeModelDivision = (inputName, selectedItem, objName) => {\r\n\t\tconst inputValue = selectedItem ? selectedItem.id : null;\r\n\t\tconst stateCopy = { ...this.state };\r\n\t\tstateCopy[objName][inputName] = inputValue;\r\n\r\n\t\tthis.setState(stateCopy);\r\n\t};\r\n\r\n\t// Edit modal insertion\r\n\tinsertKpiManualInput = () => {\r\n\t\tlet idDivision = this.state.model.idDivision === -1 ? null : this.state.model.idDivision;\r\n\t\tif (this.validator.allValid()) {\r\n\t\t\tthis.setState({\r\n\t\t\t\tisSubmitted: true,\r\n\t\t\t});\r\n\r\n\t\t\tconst formData = this.state?.model;\r\n\t\t\tif (!this.state.isUpdateMode) {\r\n\t\t\t\tformData.id = uuid();\r\n\t\t\t} else {\r\n\t\t\t\tformData.oldIdKpi = this.state.oldIdKpi;\r\n\t\t\t\tformData.oldYear = this.state.oldYear;\r\n\t\t\t\tformData.oldQuarter = this.state.oldQuarter;\r\n\t\t\t\tformData.oldIdDivision = this.state.oldIdDivision;\r\n\t\t\t}\r\n\t\t\tformData.idDivision = idDivision;\r\n\r\n\t\t\tconst method = this.state.isUpdateMode ? kpi.mi.put(formData) : kpi.mi.post(formData);\r\n\r\n\t\t\tmethod\r\n\t\t\t\t.then(async (response) => {\r\n\t\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\t\tshowNotification.success(`${entitiesLabels.SUCCESS}`, \"Successfully saved\");\r\n\t\t\t\t\t\tthis.setState(\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tisLoading: false,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tthis.closeEditModal\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(\"Unsuccessfully saved\", entitiesLabels.KPIMANUALINPUT, apioperation.POST));\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.KPIMANUALINPUT, apioperation.POST));\r\n\t\t\t\t})\r\n\t\t\t\t.finally(() => {\r\n\t\t\t\t\tthis.setState(\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tisLoading: false,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t() => {\r\n\t\t\t\t\t\t\tthis.getPagedFilteredManualInputKpis();\r\n\t\t\t\t\t\t\tthis.getAllManualInputKpis();\r\n\t\t\t\t\t\t\tthis.forceUpdate();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t);\r\n\t\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.validator.showMessages();\r\n\t\t\tshowNotification.warning(`${entitiesLabels.WARNING}`, `${entitiesLabels.KPIMANUALINPUT} required fields are missing `);\r\n\t\t\tthis.forceUpdate();\r\n\t\t}\r\n\t};\r\n\r\n\t// Edit modal update\r\n\tgetKpiForEdit = (id) => {\r\n\t\tthis.setState({\r\n\t\t\tisUpdateMode: true,\r\n\t\t\tisEditModalOpen: true,\r\n\t\t});\r\n\t\tlet kpiToChange = this.state.kpiManualInputListPaged.find((x) => x.id == id);\r\n\t\tif (kpiToChange.division == null) {\r\n\t\t\tkpiToChange.division = { id: -1, name: \"Group\" };\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\tmodel: kpiToChange,\r\n\r\n\t\t\toldIdKpi: kpiToChange.idKpi,\r\n\t\t\toldYear: kpiToChange.year,\r\n\t\t\toldQuarter: kpiToChange.quarter,\r\n\t\t\toldIdDivision: kpiToChange.idDivision,\r\n\t\t});\r\n\t};\r\n\r\n\tupdateState = (inputName, inputValue, objName) => {\r\n\t\tconst statusCopy = { ...this.state.model };\r\n\t\tif (objName && objName != \"model\") statusCopy[objName][inputName] = inputValue;\r\n\t\telse statusCopy[inputName] = inputValue;\r\n\t\tif (inputName === \"year\") statusCopy.quarter = null;\r\n\r\n\t\tthis.setState({ model: statusCopy });\r\n\t};\r\n\r\n\t// Delete modal\r\n\tconfirmDelete = (id) => {\r\n\t\tthis.setState({\r\n\t\t\tidToDelete: id,\r\n\t\t\tisDeleteModalOpen: true,\r\n\t\t\tisDeleting: false,\r\n\t\t});\r\n\t};\r\n\r\n\tdeleteItem = () => {\r\n\t\tlet id = this.state.idToDelete;\r\n\t\tthis.setState({ isDeleting: true });\r\n\t\tconst formData = this.state.kpiManualInputListPaged.find((x) => x.id === id);\r\n\r\n\t\tkpi.mi\r\n\t\t\t.delete(formData)\r\n\t\t\t.then((response) => {\r\n\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tidToDelete: null,\r\n\t\t\t\t\t\tisDeleteModalOpen: false,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.onCloseConfirm();\r\n\t\t\t\t\tthis.getPagedFilteredManualInputKpis();\r\n\t\t\t\t\tthis.getAllManualInputKpis();\r\n\t\t\t\t\tshowNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.KPIMANUALINPUT, apioperation.DELETE));\r\n\t\t\t\t} else {\r\n\t\t\t\t\tshowNotification.error();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.KPIMANUALINPUT, apioperation.DELETE));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({ isDeleting: false });\r\n\t\t\t});\r\n\t};\r\n\r\n\tgetNameById = (id) => {\r\n\t\tif (id == null) return \"\";\r\n\t\tlet element = this.state.kpiManialInputListAll.find((el) => el.id == id);\r\n\t\treturn element != null ? `${element.code} ${element.name} - ${element.year}[${element.quarter}] - ${element.division}` : \"\";\r\n\t};\r\n\r\n\tonCloseConfirm = () => {\r\n\t\tthis.setState({ isDeleteModalOpen: false });\r\n\t};\r\n\r\n\t// Render methods\r\n\trenderSearchForm = () =>\r\n\t\tthis.state.isSearchFormExpanded && (\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\tKpi\r\n\t\t\t\t\t\t (item.name ? item.code + \" - \" + item.name : \"\")}\r\n\t\t\t\t\t\t\tinitialSelectedItem={this.state.search.idKpi != null ? this.state.search.idKpi : []}\r\n\t\t\t\t\t\t\titems={this.state.kpis}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tYear\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tQuarter\r\n\t\t\t\t\t\t item || \"\"}\r\n\t\t\t\t\t\t\tinitialSelectedItem={this.state.search.quarter || []}\r\n\t\t\t\t\t\t\titems={quarters}\r\n\t\t\t\t\t\t\tdirection=\"top\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{/* RITM0945977 */}\r\n\t\t\t\t\t\t{/* Division */}\r\n\t\t\t\t\t\tBusiness Line\r\n\t\t\t\t\t\t item.name || \"\"}\r\n\t\t\t\t\t\t\tinitialSelectedItem={this.state.search.division || []}\r\n\t\t\t\t\t\t\titems={this.state.divisions}\r\n\t\t\t\t\t\t\tdirection=\"top\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t);\r\n\r\n\trenderDetailsForm() {\r\n\t\tconst modalHeader = {\r\n\t\t\ttitle: (this.state.isUpdateMode ? \"Edit \" : \"Add new \") + \"KPI Manual Input\",\r\n\t\t\ticonDescription: \"Close\",\r\n\t\t\tbuttonOnClick: () => this.closeEditModal(),\r\n\t\t};\r\n\r\n\t\tconst validations = {\r\n\t\t\tyear: this.validator.message(\"year\", this.state.model.year, \"numeric|min:1,num\"),\r\n\t\t\tquarter: this.validator.message(\"quarter\", this.state.model.quarter, \"required\"),\r\n\t\t\tkpi: this.validator.message(\"kpi\", this.state.model.idKpi, \"required\"),\r\n\t\t\tkpiValue: this.validator.message(\"value\", this.state.model.kpiValue, \"required\"),\r\n\t\t\t// division: this.validator.message(\"division\", this.state.model.idDivision, \"required\"), //RITM0945977\r\n\t\t\tdivision: this.validator.message(\"businessLine\", this.state.model.idDivision, \"required\"),\r\n\t\t};\r\n\r\n\t\treturn (\r\n\t\t\t this.closeEditModal()}>\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tKpi*\r\n\t\t\t\t\t\t\t\t (item.name ? item.code + \" - \" + item.name : \"\")}\r\n\t\t\t\t\t\t\t\t\tinitialSelectedItem={this.state.model.kpi || []}\r\n\t\t\t\t\t\t\t\t\titems={this.state.kpis}\r\n\t\t\t\t\t\t\t\t\tinvalid={validations.kpi != null}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t{validations.kpi}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tYear*\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{validations.year}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tQuarter*\r\n\t\t\t\t\t\t\t\t item || \"\"}\r\n\t\t\t\t\t\t\t\t\tinitialSelectedItem={this.state.model.quarter || []}\r\n\t\t\t\t\t\t\t\t\titems={quarters}\r\n\t\t\t\t\t\t\t\t\tdirection=\"bottom\"\r\n\t\t\t\t\t\t\t\t\tdisabled={this.state.model?.year === 0}\r\n\t\t\t\t\t\t\t\t\tinvalid={validations.quarter != null}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t{validations.quarter}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* RITM0945977 */}\r\n\t\t\t\t\t\t\t\t{/* Division* */}\r\n\t\t\t\t\t\t\t\tBusiness Line*\r\n\t\t\t\t\t\t\t\t (item && item.name) || \"\"}\r\n\t\t\t\t\t\t\t\t\tinitialSelectedItem={this.state.model.division || []}\r\n\t\t\t\t\t\t\t\t\titems={this.state.divisions}\r\n\t\t\t\t\t\t\t\t\tdirection=\"bottom\"\r\n\t\t\t\t\t\t\t\t\tinvalid={validations.division != null}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t{validations.division}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tValue*\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{validations.kpiValue}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t);\r\n\t}\r\n\r\n\thandleChangePaging = (event) => {\r\n\t\tthis.getPagedFilteredManualInputKpis(event);\r\n\t\t//RITM0539773\r\n\t};\r\n\r\n\trender() {\r\n\t\tthis.validator.purgeFields();\r\n\r\n\t\tconst dataTableHeaders = [\r\n\t\t\t{ key: \"code\", header: \"Code\" },\r\n\t\t\t{ key: \"name\", header: \"Name\" },\r\n\t\t\t{ key: \"year\", header: \"Year\" },\r\n\t\t\t{ key: \"quarter\", header: \"Quarter\" },\r\n\t\t\t//RITM0945977\r\n\t\t\t// { key: \"divisionName\", header: \"Division\" },\r\n\t\t\t{ key: \"divisionName\", header: \"Business Line\" },\r\n\t\t\t{ key: \"kpiValue\", header: \"Value\" },\r\n\t\t];\r\n\r\n\t\tconst skeletonRowCount = this.state.rowCount > 0 && this.state.pageSize > this.state.rowCount ? this.state.rowCount : 5;\r\n\r\n\t\tconst paginationProps = () => ({\r\n\t\t\tpage: this.state.currentPage || 1,\r\n\t\t\ttotalItems: this.state.rowCount || 0,\r\n\t\t\tpageSize: this.state.pageSize || 10,\r\n\t\t\tpageSizes: [10, 20, 30, 40, 50],\r\n\t\t\tonChange: this.handleChangePaging,\r\n\t\t});\r\n\r\n\t\tconst confirmDelProps = () => ({\r\n\t\t\tidToDelete: this.state.idToDelete,\r\n\t\t\tisDeleting: this.state.isDeleting,\r\n\t\t\topen: this.state.isDeleteModalOpen,\r\n\t\t\tonCloseConfirm: this.onCloseConfirm,\r\n\t\t\tdeleteItem: this.deleteItem,\r\n\t\t});\r\n\t\tconst itemToDelete = this.state.kpiManialInputListAll.find((el) => el.id == this.state.idToDelete);\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{() => (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{itemToDelete != null ? (\r\n\t\t\t\t\t\t\t\t\t h.key != \"name\")}\r\n\t\t\t\t\t\t\t\t\t\tuseZebraStyles={true}\r\n\t\t\t\t\t\t\t\t\t\tsize=\"compact\"\r\n\t\t\t\t\t\t\t\t\t\trender={({ rows, headers, getHeaderProps, getRowProps }) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{headers.map((header) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{header.header}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{rows.map((row) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{row.cells.map((cell) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t x.key === cell.info.header)} />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t{this.state.isEditModalOpen ? this.renderDetailsForm() : \"\"}\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t{this.state.isExportLoading ? : null}\r\n\r\n\t\t\t\t\t\t\t{this.renderSearchForm()}\r\n\r\n\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{this.state.isLoadingEntity ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{headers.map((header) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{header.header}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tActions\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{rows == null || rows.length === 0 ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trows.map((row) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{row.cells.map((cell) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t x.key === cell.info.header)} />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t))\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
    \r\n\t\t);\r\n\t}\r\n}\r\n","/* eslint-disable class-methods-use-this */\r\nimport sjcl from 'sjcl';\r\nimport { authProvider } from '../../auth/authProvider';\r\n\r\nconst currentCache = 'Saipem_v42';\r\nconst iv = sjcl.codec.hex.toBits('AD521E70 4A33B40D ED037F86 0AC3D66F');\r\nconst key = sjcl.codec.hex.toBits(\r\n 'D74ECC7D 2631AC9C 3F90123E F85A5CC4 32608A87 8E16A923 FC921F25 6DB013C6'\r\n);\r\nconst salt = sjcl.codec.hex.toBits('FF7DC46B 7BB1B8FB');\r\n\r\nfunction encrypt(plainText) {\r\n const cryptoObj = {\r\n iv: sjcl.codec.base64.fromBits(iv),\r\n v: 1,\r\n iter: 10000,\r\n ks: 256,\r\n ts: 64,\r\n mode: 'ccm',\r\n adata: '',\r\n cipher: 'aes',\r\n salt: sjcl.codec.base64.fromBits(salt),\r\n };\r\n const encryptedObj = sjcl.encrypt(key, JSON.stringify(plainText), cryptoObj).replace(/,/g, ',\\n');\r\n const encryptedText = JSON.parse(encryptedObj).ct;\r\n return encryptedText;\r\n}\r\n\r\nfunction decrypt(encryptedText) {\r\n const encryptedArray = sjcl.codec.base64.toBits(encryptedText);\r\n const aes = new sjcl.cipher.aes(key);\r\n const plaintext = sjcl.codec.utf8String.fromBits(sjcl.mode.ccm.decrypt(aes, encryptedArray, iv));\r\n return plaintext;\r\n}\r\n\r\nasync function putCache(url, data) {\r\n console.log(`CacheStorage.putCache: url: ${url}`);\r\n try {\r\n const cache = await caches.open(currentCache);\r\n await cache.put(url, new Response(data));\r\n } catch (err) {\r\n console.error(\"CacheStorage.putCache: Error adding to Cache: \", { ...err, url })\r\n }\r\n}\r\n\r\nclass CacheStorage {\r\n async updateCache(data, url) {\r\n console.log(`CacheStorage.updateCache: url: ${url}`);\r\n try {\r\n await putCache(url, encrypt(data)); // JSON.stringify(data));\r\n } catch (err) {\r\n console.error(\"CacheStorage.updateCache: Error Updating Cache: \", {...err, url})\r\n }\r\n }\r\n\r\n async flushQueue() {\r\n console.log(`CacheStorage.flushQueue`);\r\n try {\r\n const token = await authProvider.getAccessToken();\r\n if (token) {\r\n navigator.serviceWorker.ready.then((swRegistration) =>\r\n swRegistration.sync.register(`flushQueue-Bearer ${token.accessToken}`)\r\n );\r\n }\r\n } catch (err) {\r\n console.error(\"CacheStorage.flushQueue: Error flushing queue: \", { ...err });\r\n }\r\n }\r\n\r\n async getQueueLength() {\r\n navigator.serviceWorker.ready.then((swRegistration) =>\r\n swRegistration.sync.register('queueLength')\r\n );\r\n }\r\n\r\n async getFromCache(url) {\r\n console.log(`CacheStorage.getFromCache: url: ${url}`);\r\n try {\r\n const cache = await caches.open(currentCache);\r\n if (cache) {\r\n const cachedResponse = await cache.match(url);\r\n if (cachedResponse) {\r\n const cryptedResponse = await cachedResponse.text();\r\n const decryptedResponse = decrypt(cryptedResponse); // cryptedResponse;\r\n console.log(`CacheStorage.getFromCache: cache fetched.`);\r\n return JSON.parse(decryptedResponse);\r\n }\r\n return undefined;\r\n }\r\n return undefined;\r\n } catch(err) {\r\n console.error(\"CacheStorage.getFromCache: Error Getting From Cache: \", {...err, url})\r\n }\r\n }\r\n}\r\n\r\nexport default CacheStorage;\r\n","import { api, registry } from './api';\r\nimport CacheStorage from './CacheStorage';\r\n\r\nconst baseURL = `${process.env.REACT_APP_API_URL}api`;\r\n\r\n/* const cacheStorage = new CacheStorage();\r\n\r\n const getCachedDivisions = async () => {\r\n const url = `${baseURL}/me/divisions`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\nconst getCachedWorkSites = async () => {\r\n const url = `${baseURL}/me/worksites`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\nconst getCachedCompanies = async () => {\r\n const url = `${baseURL}/company`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\n\r\nconst getCachedProjects = async () => {\r\n const url = `${baseURL}/project`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n}; */\r\n\r\nconst MeRepository = {\r\n getDivisions: async () =>\r\n /* (await getCachedDivisions()) || */ (await api.getAll(`${baseURL}/me/divisions`)).data,\r\n getAllDivisions: async () =>\r\n /* (await getCachedDivisions()) || */ (await api.getAll(`${baseURL}/division`)).data,\r\n getCompanies: async () =>\r\n /* (await getCachedCompanies()) || */ (await api.getAll(`${baseURL}/company`)).data,\r\n getProjects: async (company) => {\r\n const projects = /* (await getCachedProjects()) || */ (await api.getAll(`${baseURL}/project`))\r\n .data;\r\n if (company) return projects.filter((w) => w.idCompany === company);\r\n return projects;\r\n },\r\n getWorkSites: async () =>\r\n /* (await getCachedWorkSites()) || */ (await api.getAll(`${baseURL}/me/worksites`)).data,\r\n preFetch: async () => {\r\n await api.getAll('/me/divisions');\r\n await api.getAll('/company');\r\n await api.getAll('/project');\r\n await api.getAll('/me/project');\r\n await api.getAll('/me/companies');\r\n await registry.getAll('infooriginator');\r\n await registry.getAll('status');\r\n await api.getAll('/country');\r\n await api.getAll('/me/worksites');\r\n await api.getAll('/me/worksitesproject');\r\n await api.getAll('/employees/all');\r\n await api.getAll(`${baseURL}/division`);\r\n //await api.getAll(\"/users/userworksite\");\r\n },\r\n};\r\nexport default MeRepository;\r\n","/* eslint-disable no-extend-native */\r\nimport { api, dynamic } from './api';\r\nimport CacheStorage from './CacheStorage';\r\nimport MeRepository from './MeRepository';\r\nimport { entities, NotificationModule } from '../Constants';\r\n\r\nconst baseURL = `${process.env.REACT_APP_API_URL}api`;\r\n\r\nclass AuditRepository {\r\n constructor() {\r\n this.year = new Date().getFullYear();\r\n this.cacheStorage = new CacheStorage();\r\n this.years = Array.from(new Array(5), (val, index) => index + this.year);\r\n }\r\n\r\n updateCachedAudit(data) {\r\n const url = `${baseURL}/audit/${data.id}`;\r\n this.cacheStorage.updateCache(data, url);\r\n }\r\n\r\n updateCachedAuditPlan(data) {\r\n const url = `${baseURL}/audit/program/${data.id}`;\r\n this.cacheStorage.updateCache(data, url);\r\n }\r\n\r\n updateCachedAuditList = async (data, year) => {\r\n await this.clearOldYear(data);\r\n const url = `${baseURL}/audit/${year}/skip/0/take/10?year=${year}`;\r\n const items = await this.cacheStorage.getFromCache(url);\r\n\r\n if (items) {\r\n const element = items.find((el) => el.id === data.id);\r\n\r\n if (!element || element == null) {\r\n items.unshift(data);\r\n } else {\r\n items[items.indexOf(element)] = data;\r\n }\r\n await this.cacheStorage.updateCache(items, url);\r\n } else {\r\n const newItems = [];\r\n newItems.unshift(data);\r\n await this.cacheStorage.updateCache(newItems, url);\r\n }\r\n };\r\n\r\n clearOldYear = async (data) =>\r\n this.years.forEach(async (year) => {\r\n if (year !== data.referenceYear) {\r\n const url = `${baseURL}/audit/${year}/skip/0/take/10`;\r\n const items = await this.cacheStorage.getFromCache(url);\r\n\r\n if (items) {\r\n const index = items.findIndex((el) => el.id === data.id);\r\n items.splice(index, 1);\r\n await this.cacheStorage.updateCache(items, url);\r\n }\r\n }\r\n });\r\n\r\n updateCachedCarList = async (data, updateCAList = true) => {\r\n let url = `${baseURL}/audit/${data.idAudit}/answer/${data.idAnswer}/car/`;\r\n\r\n let items = (await this.cacheStorage.getFromCache(url)) || { auditCAR: [] };\r\n\r\n let element = items.auditCAR.find((el) => el.id === data.id);\r\n\r\n if (element == null) {\r\n items.auditCAR = items.auditCAR.concat([data]);\r\n } else {\r\n items.auditCAR[items.auditCAR.indexOf(element)] = data;\r\n }\r\n await this.cacheStorage.updateCache(items, url);\r\n\r\n url = `${baseURL}/audit/${data.idAudit}/car/`;\r\n items = (await this.cacheStorage.getFromCache(url)) || { auditCAR: [] };\r\n\r\n element = items.auditCAR.find((el) => el.id === data.id);\r\n\r\n if (element == null) {\r\n items.auditCAR = items.auditCAR.concat([data]);\r\n } else {\r\n items.auditCAR[items.auditCAR.indexOf(element)] = data;\r\n }\r\n await this.cacheStorage.updateCache(items, url);\r\n\r\n url = `${baseURL}/audit/${data.idAudit}`;\r\n const audit = await this.cacheStorage.getFromCache(url);\r\n if (audit) {\r\n const answer = audit.checkList.answers.find((el) => el.id === data.idAnswer);\r\n const car = answer.cars.find((c) => c.id === data.id);\r\n if (car == null) {\r\n answer.cars = answer.cars.concat([data]);\r\n } else {\r\n answer.cars[answer.cars.indexOf(car)] = data;\r\n }\r\n audit.checkList.answers[audit.checkList.answers.indexOf(answer)] = answer;\r\n url = `${baseURL}/audit/${data.idAudit}`;\r\n await this.cacheStorage.updateCache(audit, url);\r\n }\r\n\r\n if (updateCAList) {\r\n url = `${baseURL}/audit/${data.idAudit}/answer/${data.idAnswer}/car/${data.id}?page=1&pageSize=10`;\r\n if (!data.audit) {\r\n if (!data.result) {\r\n data.audit = {\r\n checkList: {\r\n idCompiler: audit.checkList.idCompiler,\r\n idApprover: audit.checkList.idApprover,\r\n idDivisionManager: audit.checkList.idDivisionManager,\r\n },\r\n };\r\n const carDetail = {\r\n result: data,\r\n resultCas: {\r\n currentPage: 1,\r\n itemList: [],\r\n pageCount: 0,\r\n pageSize: 10,\r\n rowCount: 0,\r\n },\r\n };\r\n data = carDetail;\r\n }\r\n }\r\n await this.cacheStorage.updateCache(data, url);\r\n }\r\n };\r\n\r\n updateCachedCaList = async (data, idAudit, idAnswer, toDelete = false) => {\r\n const url = `${baseURL}/audit/${idAudit}/answer/${idAnswer}/car/${data.idAuditCAR}?page=1&pageSize=10`;\r\n\r\n const cacheResult = await this.cacheStorage.getFromCache(url);\r\n if (cacheResult) {\r\n const element = cacheResult.result?.ca.find((el) => el.id === data.id);\r\n\r\n if (element == null) {\r\n cacheResult.result.ca = cacheResult.result?.ca.concat([data]);\r\n } else {\r\n if (toDelete) cacheResult.result.ca = cacheResult.result?.ca.filter((x) => x.id != data.id);\r\n else cacheResult.result.ca[cacheResult.result?.ca.indexOf(element)] = data;\r\n }\r\n await this.cacheStorage.updateCache(cacheResult, url);\r\n }\r\n\r\n if (cacheResult) this.updateCachedCarList(cacheResult.result, false);\r\n };\r\n\r\n updateCachedCaDetails = async (data) => {\r\n const url = `${baseURL}/audit/${data.auditCAR.idAudit}/answer/${data.auditCAR.idAnswer}/car/${data.idAuditCAR}/ca/${data.id}/detail`;\r\n await this.cacheStorage.updateCache(data, url);\r\n };\r\n\r\n updateCachedAuditCount = async (year) => {\r\n let totalAudits = await this.getCachedAuditCount(year);\r\n totalAudits += 1;\r\n this.cacheStorage.updateCache(totalAudits, `${baseURL}/audit/${year}`);\r\n };\r\n updateCachedAuditFilter = async (filter) => {\r\n this.cacheStorage.updateCache(filter, `${baseURL}/listofaudit/filter`);\r\n };\r\n\r\n getCachedAuditsFilter = async () => {\r\n const url = `${baseURL}/listofaudit/filter`;\r\n const filter = await this.cacheStorage.getFromCache(url);\r\n return filter || [];\r\n };\r\n getCachedAudits = async (year) => {\r\n const url = `${baseURL}/audit/${year}`;\r\n const audit = await this.cacheStorage.getFromCache(url);\r\n return audit || [];\r\n };\r\n\r\n getCachedAuditCount = async (year) => {\r\n const url = `${baseURL}/audit/${year}`;\r\n const count = await this.cacheStorage.getFromCache(url);\r\n return count || 0;\r\n };\r\n\r\n getCachedTypes = async () => {\r\n const url = `${baseURL}/audit/types`;\r\n const items = await this.cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n };\r\n\r\n getCachedScopes = async () => {\r\n const url = `${baseURL}/audit/scopes`;\r\n const items = await this.cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n };\r\n\r\n getCachedStatuses = async () => {\r\n const url = `${baseURL}/audit/status`;\r\n const items = await this.cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n };\r\n\r\n getCachedTargets = async () => {\r\n const url = `${baseURL}/audit/target`;\r\n const items = await this.cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n };\r\n\r\n getCachedWorkSites = async () => {\r\n const url = `${baseURL}/me/audit/worksites`;\r\n const items = await this.cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n };\r\n\r\n getCachedEmployees = async () => {\r\n const url = `${baseURL}/employees/all`;\r\n const items = await this.cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n };\r\n\r\n getCachedSection = async () => {\r\n const url = `${baseURL}/audit/sections`;\r\n const items = await this.cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n };\r\n\r\n getCachedAuditors = async (idDivision) => {\r\n const url = `${baseURL}/audit/divisions/${idDivision}/auditors`;\r\n const items = await this.cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n };\r\n\r\n getCachedNCClassificationTypes = async () => {\r\n const url = `${baseURL}/admin/auditncclassificationtype?page=0&parent=all`;\r\n const items = await this.cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n };\r\n\r\n getCachedLevels = async () => {\r\n const url = `${baseURL}/admin/auditcarlevel?page=0&parent=all`;\r\n const items = await this.cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n };\r\n\r\n getAudit = async (id) => (await api.getAll(`/audit/${id}`)).data;\r\n\r\n getAuditCount = async (year, filter) => (await api.getWithParam(`/audit/${year}`, filter)).data;\r\n\r\n getDeletedAuditCount = async () => (await api.getWithParam('/audit/deleted')).data;\r\n\r\n getAuditYearAsync = async () => (await api.getWithParam('/audit/years')).data;\r\n\r\n getAuditCountByMonth = async (year, filter) =>\r\n (await api.getWithParam(`/audit/${year}/months`, filter)).data;\r\n\r\n getAudits = async (year, skip, take, filter) =>\r\n (await api.getWithParam(`/audit/${year}/skip/${skip}/take/${take}`, filter)).data;\r\n\r\n getDeletedAudits = async (skip, take) =>\r\n (await api.getWithParam(`/audit/deleted/skip/${skip}/take/${take}`)).data;\r\n\r\n getAuditors = async (email) =>\r\n (await api.getAll(`/users/userworksite/${NotificationModule.ModuleAudit}`)).data;\r\n\r\n //B1_Audit_Module_Optimization\r\n getCachedAuditor = async () => {\r\n const url = `${baseURL}/users/userworksite/${NotificationModule.ModuleAudit}`;\r\n const items = await this.cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n };\r\n\r\n getCachedReasonForSampling = async () => {\r\n const url = `${baseURL}/audit/reasonsforsampling`;\r\n const items = await this.cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n };\r\n\r\n getCachedCountries= async () => {\r\n const url = `${baseURL}/audit/countries`;\r\n const items = await this.cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n };\r\n\r\n getCachedProjects= async () => {\r\n const url = `${baseURL}/project`;\r\n const items = await this.cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n };\r\n\r\n getCachedDivisions = async () => {\r\n const url = `${baseURL}/me/divisions`;\r\n const items = await this.cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n };\r\n\r\n getCachedCompanies = async () => {\r\n const url = `${baseURL}/company`;\r\n const items = await this.cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n };\r\n //End\r\n\r\n getTypes = async (section) => {\r\n const types = /* (await this.getCachedTypes()) || */ (await api.getAll('/audit/types')).data;\r\n if (section) return types.filter((w) => w.idAuditSection === section);\r\n return types;\r\n };\r\n\r\n getScopes = async (section) => {\r\n const scopes = /* (await this.getCachedScopes()) || */ (await api.getAll('/audit/scopes')).data;\r\n if (section) return scopes.filter((w) => w.idAuditSection === section);\r\n return scopes;\r\n };\r\n\r\n getProcesses = async () => {\r\n const process = (await api.getAll('/audit/processes')).data;\r\n return process;\r\n };\r\n\r\n getCountries = async () => {\r\n const country = (await api.getAll('/audit/countries')).data;\r\n return country;\r\n };\r\n\r\n getFunctions = async () => {\r\n const functions = (await api.getAll('/audit/functions')).data;\r\n return functions;\r\n };\r\n\r\n getSubcontractors = async () => {\r\n const functions = (await api.getAll('/audit/subcontractors')).data;\r\n return functions;\r\n };\r\n\r\n getPurchaseOrders = async () => { //RITM0646764\r\n const functions = (await api.getAll('/audit/getpurchaseorders')).data;\r\n return functions;\r\n }\r\n\r\n getStatuses = async () =>\r\n /* (await this.getCachedStatuses()) || */ (await api.getAll('/audit/status')).data;\r\n\r\n getTargets = async () =>\r\n /* (await this.getCachedTargets()) || */ (await api.getAll('/audit/target')).data;\r\n\r\n getSections = async () =>\r\n /* (await this.getCachedSection()) || */ (await api.getAll('/audit/sections')).data;\r\n\r\n getWorkSites = async (division) => {\r\n const worksites = /* (await this.getCachedWorkSites()) || */ (\r\n await api.getAll('/me/audit/worksites')\r\n ).data;\r\n if (division) return worksites.filter((w) => w.idDivision === division);\r\n return worksites;\r\n };\r\n\r\n getNCClassificationTypes = async () =>\r\n /* (await this.getCachedNCClassificationTypes()) || */\r\n (await dynamic.getAll('auditncclassificationtype', { params: { page: 0, parent: 'all' } }))\r\n .data;\r\n\r\n getLevels = async () =>\r\n (await dynamic.getAll('auditcarlevel', { params: { page: 0, parent: 'all' } })).data;\r\n\r\n getDivisionAuditors = async (idDivision) =>\r\n idDivision\r\n ? (await this.getCachedAuditors(idDivision)) ||\r\n (await api.getAll(`/audit/divisions/${idDivision}/auditors`)).data\r\n : [];\r\n\r\n getEmployees = async () =>\r\n (await this.getCachedEmployees()) || (await api.getAll('/employees/all')).data;\r\n\r\n fetchDivisionsAuditors = async () => {\r\n const divisions = await MeRepository.getDivisions();\r\n divisions.forEach(async (element) => {\r\n await api.getAll(`/audit/divisions/${element.id}/auditors`);\r\n });\r\n };\r\n\r\n getReasonForSampling = async () => {\r\n const reasons = (await api.getAll('/audit/reasonsforsampling')).data;\r\n return reasons;\r\n };\r\n\r\n getProgramDistributionList = async (idDivision) =>\r\n (await api.getAll(`/audit/distributionlist/program/${idDivision}`)).data;\r\n\r\n fetchAudit = async () => {\r\n this.years.forEach(async (year) => {\r\n await api.getAll(`/audit/${year}/skip/0/take/10`);\r\n });\r\n //await this.fetchDivisionsAuditors();\r\n await api.getAll(`/users/userworksite/${NotificationModule.ModuleAudit}`);\r\n await api.getAll('/audit/sections');\r\n await api.getAll('/audit/types');\r\n await api.getAll('/audit/scopes');\r\n await api.getAll('/audit/status');\r\n await api.getAll('/audit/target');\r\n await dynamic.getAll('auditncclassificationtype', { params: { page: 0, parent: 'all' } });\r\n await dynamic.getAll('auditcarlevel', { params: { page: 0, parent: 'all' } });\r\n await api.getAll('/me/audit/worksites');\r\n await api.getAll('/audit/reasonsforsampling');\r\n await api.getAll('/audit/subcontractors');\r\n await api.getAll('/audit/getpurchaseorders');\r\n await api.getAll('/audit/functions');\r\n await api.getAll('/audit/processes');\r\n };\r\n}\r\n\r\nexport default AuditRepository;\r\n","/* eslint-disable react/jsx-props-no-spreading */\r\n/* eslint-disable jsx-a11y/click-events-have-key-events */\r\nimport React, { Component } from 'react';\r\nimport '../../scss/custom.scss';\r\nimport {\r\n DataTableSkeleton,\r\n Pagination,\r\n DataTable,\r\n TableContainer,\r\n Table,\r\n TableHead,\r\n TableRow,\r\n TableHeader,\r\n TableBody,\r\n TableCell,\r\n} from 'carbon-components-react';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport { getError, apioperation, entitiesLabels } from '../../helpers/Constants';\r\nimport { AppContext } from '../../helpers/context/AppContext';\r\nimport { IsEnabled } from '../../helpers/authorization/Policies';\r\nimport PageBreadCrumb, { StatusTag } from '../../helpers/PageBreadCrumb';\r\nimport AuditRepository from '../../helpers/api/AuditRepository';\r\nimport { NoRecordsPlaceholder } from '../../helpers/jsonschemaform/DataTableExtention';\r\n\r\nexport default class DeletedAudit extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.repository = new AuditRepository();\r\n this.handleChangePaging = this.handleChangePaging.bind(this);\r\n\r\n this.state = {\r\n items: [],\r\n\r\n currentPage: 1,\r\n totalAudits: 0,\r\n pageSize: 10,\r\n isBack: !!(this.props.history.action === 'POP' || this.props.location.search === '?isBack'),\r\n };\r\n }\r\n\r\n async componentDidMount() {\r\n this.setState({ loading: true });\r\n const totAudits = await this.getAuditCount();\r\n const items = await this.getItems();\r\n this.setState({\r\n totalAudits: totAudits,\r\n items,\r\n loading: false,\r\n });\r\n }\r\n\r\n getAuditCount = async () => {\r\n let totalAudits = 0;\r\n try {\r\n totalAudits = await this.repository.getDeletedAuditCount();\r\n } catch (error) {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, 'loading audits', apioperation.GET)\r\n );\r\n }\r\n return totalAudits;\r\n };\r\n\r\n getItems = async () => {\r\n try {\r\n const skip = (this.state.currentPage - 1) * this.state.pageSize;\r\n const audits = await this.repository.getDeletedAudits(skip, this.state.pageSize);\r\n audits.forEach((x) => {\r\n x.updatedOn = new Date(x.updatedOn).toLocaleDateString();\r\n if (x.deleteRequest?.requestOn != null)\r\n x.deleteRequest.requestOn = new Date(x.deleteRequest.requestOn).toLocaleDateString();\r\n });\r\n return audits;\r\n } catch (error) {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, 'loading audits', apioperation.GET)\r\n );\r\n return [];\r\n }\r\n };\r\n\r\n handleChangePaging = async (page) => {\r\n await new Promise((resolve) => {\r\n this.setState({ currentPage: page.page, pageSize: page.pageSize, loading: true }, resolve);\r\n });\r\n\r\n const items = await this.getItems();\r\n this.setState(() => ({\r\n items,\r\n loading: false,\r\n }));\r\n };\r\n\r\n getCellValue = (type, value, id, index) => {\r\n if (!value) return '';\r\n if (typeof value === 'object') {\r\n if (type.header.includes('auditor')) {\r\n return value.fullName;\r\n }\r\n if (type.header.includes('status')) {\r\n return ;\r\n }\r\n if (type.header.includes('checkList')) {\r\n return ;\r\n }\r\n\r\n if (type.header.includes('deleteRequest') && index === 8) {\r\n return value.userRequestFrom;\r\n }\r\n\r\n if (type.header.includes('deleteRequest') && index === 9) {\r\n return value.requestOn;\r\n }\r\n\r\n if (type.header.includes('deleteRequest') && index === 10) {\r\n //RITM0946162\r\n // return value.reasonForChange;\r\n return (value.auditCancellationReason === null ? value.reasonForChange : value.auditCancellationReason);\r\n //End\r\n }\r\n\r\n if (value instanceof Array) {\r\n return value.map((elem) => elem.name).join(', ');\r\n }\r\n return value.name;\r\n }\r\n if (type.header.includes('Month')) {\r\n const months = [\r\n 'Jan',\r\n 'Feb',\r\n 'Mar',\r\n 'Apr',\r\n 'May',\r\n 'Jun',\r\n 'Jul',\r\n 'Aug',\r\n 'Sep',\r\n 'Oct',\r\n 'Nov',\r\n 'Dec',\r\n ];\r\n const monthToString = (monthNumber) => months[monthNumber - 1] || '';\r\n return monthToString(value);\r\n }\r\n return value;\r\n };\r\n\r\n render() {\r\n const paginationProps = () => ({\r\n page: this.state.currentPage || 1,\r\n totalItems: this.state.totalAudits || 0,\r\n pageSize: this.state.pageSize || 10,\r\n pageSizes: [5, 10, 20, 30, 40, 50],\r\n onChange: this.handleChangePaging,\r\n });\r\n const headers = [\r\n {\r\n key: 'auditCode',\r\n header: 'Code',\r\n isSortable: true,\r\n },\r\n {\r\n key: 'referenceMonth',\r\n header: 'Month',\r\n },\r\n {\r\n key: 'referenceYear',\r\n header: 'Year',\r\n },\r\n {\r\n key: 'division',\r\n //RITM0945977\r\n // header: 'Division',\r\n header: 'Business Line',\r\n },\r\n {\r\n key: 'status',\r\n header: 'Program Status',\r\n },\r\n {\r\n key: 'checkList',\r\n header: 'Report Status',\r\n },\r\n {\r\n key: 'updatedOn',\r\n header: 'Deleted On',\r\n type: 'datetime',\r\n },\r\n {\r\n key: 'updatedBy',\r\n header: 'Deleted By',\r\n },\r\n {\r\n key: 'deleteRequest',\r\n header: 'Request By',\r\n subkey: 'userRequestFrom',\r\n },\r\n {\r\n key: 'deleteRequest',\r\n header: 'Request On',\r\n },\r\n {\r\n key: 'deleteRequest',\r\n header: 'Reasons for change',\r\n },\r\n ];\r\n return (\r\n \r\n {({ user }) =>\r\n IsEnabled(user, 'Audit') ? (\r\n <>\r\n \r\n
    \r\n
    \r\n {this.state.loading ? (\r\n \r\n ) : (\r\n
    \r\n (\r\n \r\n \r\n \r\n \r\n {headers.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n \r\n \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n {row.cells.map((cell, index) => (\r\n \r\n {this.getCellValue(cell.info, cell.value, row.id, index)}\r\n \r\n ))}\r\n \r\n ))\r\n )}\r\n \r\n
    \r\n
    \r\n )}\r\n />\r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n ) : null\r\n }\r\n
    \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\n\r\nimport {\r\n Add16,\r\n Delete16,\r\n Edit16,\r\n Checkmark24,\r\n ArrowLeft20,\r\n Fork16,\r\n Home20,\r\n Download16,\r\n Document16,\r\n} from '@carbon/icons-react';\r\nimport { getSuccess, getError, apioperation } from '../../helpers/Constants';\r\nimport { dynamic, training } from '../../helpers/api/api';\r\nimport {\r\n DataTable,\r\n Search,\r\n Pagination,\r\n Checkbox,\r\n DataTableSkeleton,\r\n DatePicker,\r\n DatePickerInput,\r\n DropdownSkeleton,\r\n ButtonSkeleton,\r\n TableContainer,\r\n TableToolbar,\r\n Button,\r\n Table,\r\n TableHead,\r\n TableRow,\r\n TableHeader,\r\n TableBody,\r\n TableCell,\r\n TextInput,\r\n Loading,\r\n ComposedModal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Breadcrumb,\r\n BreadcrumbItem,\r\n FormGroup\r\n} from 'carbon-components-react';\r\nimport { RenderDataTableCell, NoRecordsPlaceholder } from '../../helpers/jsonschemaform/DataTableExtention';\r\nimport PageBreadCrumb from '../../helpers/PageBreadCrumb';\r\nimport { Online, Offline } from '../../components/common/OnLineOffLine';\r\n//import { confirmAlert } from 'react-confirm-alert'; // Import\r\nimport 'react-confirm-alert/src/react-confirm-alert.css'; // Import css\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport moment from 'moment';\r\nimport { ComboBox } from '../../helpers/ComboBox';\r\n\r\n\r\nconst log = (type) => console.log.bind(console, type);\r\n\r\nfunction handleResponse(response) {\r\n //if (!response.status==200) {\r\n // const error = (data && data.message) || response.statusText;\r\n // return Promise.reject(error);\r\n //}\r\n return response.data;\r\n}\r\nfunction getInsertSchema(sch) {\r\n if (sch == null) return {};\r\n let insertSchema = { ...sch };\r\n if ('definitions' in sch) {\r\n const def = { ...sch.definitions };\r\n for (var k in def) {\r\n if ('inUse' in def[k] && def[k]['inUse'] != null) {\r\n let filterEnum = {\r\n enum : []\r\n };\r\n for (let j = 0; j < def[k]['inUse'].length; j++) {\r\n if (def[k]['inUse'][j] == true) {\r\n let enumValue = {\r\n key: def[k]['enum'][j],\r\n text: def[k]['enumNames'][j]\r\n }\r\n filterEnum.enum.push(enumValue);\r\n\r\n }\r\n }\r\n insertSchema['definitions'][k] = Object.assign({}, filterEnum);\r\n }\r\n }\r\n }\r\n return insertSchema;\r\n}\r\n\r\nexport default class EnergyEmissionJSCrud extends Component {\r\n constructor(props) {\r\n super(props);\r\n //this.handleSubmit = this.handleSubmit.bind(this);\r\n this.handlePaging = this.handlePaging.bind(this);\r\n this.onCloseConfirm = this.onCloseConfirm.bind(this);\r\n this.setParent = this.setParent.bind(this);\r\n this.validator = new SimpleReactValidator({\r\n validators: {\r\n datePicker: {\r\n message: 'The :attribute must be a valid date with mm/dd/yyyy format',\r\n rule: (val, params) => moment(val).isValid() && params.indexOf(val) === -1,\r\n required: true, // optional\r\n },\r\n },\r\n locale: 'en'\r\n });\r\n\r\n this.state = {\r\n baseUrl: props.entity + '/',\r\n formData: undefined,\r\n originalFormData: undefined,\r\n insertSchema: {},\r\n itemList: [],\r\n isLoading: true,\r\n isLoadingSchema: true,\r\n isLoadingModal: true,\r\n isOpenModal: false,\r\n isEditModal: false,\r\n isSubmitted: false,\r\n isDeleting: false,\r\n confirmModal: false,\r\n idToDelete: null,\r\n currentPage: 1,\r\n pageSize: 10,\r\n rowCount: 0,\r\n search: '',\r\n isRecursive: props.isRecursive || false,\r\n idParent: null,\r\n parentHistory: [],\r\n isReadOnly: props.isReadOnly || false,\r\n isExportLoading: false,\r\n showOutOfView: false\r\n\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n\r\n this.getItemList();\r\n this.getSchema();\r\n }\r\n\r\n backToFirstParent() {\r\n this.setState(\r\n {\r\n idParent: null,\r\n parentHistory: [],\r\n },\r\n () => {\r\n this.getItemList();\r\n this.getSchema();\r\n }\r\n );\r\n }\r\n\r\n backToPrevParent() {\r\n const arrlength = this.state.parentHistory.length;\r\n if (arrlength > 1) {\r\n const list = this.state.parentHistory.slice(0, arrlength - 1);\r\n const element = list[list.length - 1];\r\n this.setState(\r\n {\r\n idParent: element.id,\r\n parentHistory: list,\r\n },\r\n () => {\r\n this.getItemList();\r\n this.getSchema();\r\n }\r\n );\r\n } else {\r\n this.backToFirstParent();\r\n }\r\n }\r\n\r\n setParent(id) {\r\n let element = this.state.itemList.find((el) => el.id == id);\r\n if (element != null) {\r\n const list = this.state.parentHistory.concat([element]);\r\n this.setState(\r\n {\r\n idParent: id,\r\n parentHistory: list,\r\n },\r\n () => {\r\n this.getItemList();\r\n this.getSchema();\r\n }\r\n );\r\n } else {\r\n showNotification.error();\r\n }\r\n }\r\n\r\n getSchema() {\r\n this.setState({\r\n isLoadingSchema: true,\r\n });\r\n\r\n var urlSchema = this.state.baseUrl + 'jsonschema';\r\n var data = {};\r\n\r\n if (this.state.idParent != null) {\r\n data = {\r\n params: {\r\n parent: this.state.idParent,\r\n },\r\n };\r\n }\r\n\r\n dynamic\r\n .getAll(urlSchema, data)\r\n .then(handleResponse)\r\n .then((data) => {\r\n var sch = JSON.parse(data);\r\n\r\n delete sch.$schema; //rimuovo campo non necessario dallo schema\r\n //imposto il depthLevel per le anagrafiche ricorsive\r\n if (this.state.isRecursive) {\r\n if (sch['properties'] && 'depthLevel' in sch['properties']) {\r\n sch.properties.depthLevel.default = this.state.parentHistory.length;\r\n }\r\n }\r\n\r\n var insSch = getInsertSchema(JSON.parse(JSON.stringify(sch)));\r\n this.setState({\r\n isLoadingSchema: false,\r\n insertSchema: insSch,\r\n });\r\n });\r\n }\r\n\r\n getItemList(param) {\r\n this.setState({ isLoading: true });\r\n\r\n const data = {\r\n params: {\r\n page: param != null ? param.page : this.state.currentPage,\r\n pageSize: param != null ? param.pageSize : this.state.pageSize,\r\n search: this.state.search,\r\n parent: this.state.idParent,\r\n },\r\n };\r\n\r\n dynamic\r\n .getAll(this.state.baseUrl, data)\r\n .then(handleResponse)\r\n .then((data) => {\r\n this.setState({\r\n isLoading: false,\r\n ...data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(getError(error, this.props.title, apioperation.GET));\r\n });\r\n }\r\n\r\n getForEdit(id) {\r\n this.setState({\r\n isEditModal: true,\r\n isLoadingModal: true,\r\n isOpenModal: true,\r\n });\r\n dynamic\r\n .get(this.state.baseUrl, id)\r\n .then(handleResponse)\r\n .then((data) => {\r\n if (this.props.nullableEnumProperty && this.props.nullableEnumProperty.length > 0) {\r\n for (var i = 0; i < this.props.nullableEnumProperty.length; i++) {\r\n var item = this.props.nullableEnumProperty[i];\r\n\r\n if (data.hasOwnProperty(item) && data[item] === null) {\r\n data[item] = undefined;\r\n }\r\n }\r\n }\r\n this.toggleShowOutOfView(this.getSelectComboItem(this.state.insertSchema.definitions?.EnergyEmittedSubstanceAsEnum.enum, data.idEnergyEmittedSubstance));\r\n this.setState({\r\n originalFormData: data,\r\n formData: data,\r\n isLoadingModal: false,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(getError(error, this.props.title, apioperation.GET));\r\n });\r\n }\r\n\r\n confirmDelete = (id) => {\r\n this.setState({\r\n idToDelete: id,\r\n confirmModal: true,\r\n isDeleting: false,\r\n });\r\n };\r\n\r\n onCloseConfirm() {\r\n this.setState({\r\n confirmModal: false,\r\n });\r\n }\r\n\r\n confirmAlertCustom() {\r\n let id = this.state.idToDelete;\r\n if (id == null) return null;\r\n\r\n let element = this.state.itemList.find((el) => el.id == id);\r\n let nameItem = element != null ? element.code || element.name : null;\r\n let loading = this.state.isDeleting;\r\n return (\r\n \r\n \r\n \r\n {loading && }\r\n

    {nameItem}

    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n deleteItem() {\r\n let id = this.state.idToDelete;\r\n this.setState({\r\n isDeleting: true,\r\n });\r\n dynamic\r\n .delete(this.state.baseUrl, id)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n this.setState({\r\n isDeleting: false,\r\n idToDelete: null,\r\n });\r\n this.onCloseConfirm();\r\n this.getItemList();\r\n showNotification.success(getSuccess(this.props.title, apioperation.DELETE));\r\n } else {\r\n this.setState({\r\n isDeleting: false,\r\n });\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({\r\n isDeleting: false,\r\n });\r\n showNotification.error(getError(error, this.props.title, apioperation.DELETE));\r\n });\r\n }\r\n\r\n renderAlertModal = () => {\r\n const loading = this.state.isSubmitted\r\n return (\r\n this.setState({isOpenAlertModal: false})}\r\n >\r\n \r\n \r\n {loading && } \r\n

    Attention in the archive there are training still in progress for this training data code. Would you like to proceed and modify the duration anyway?

    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n )\r\n }\r\n\r\n\r\n\r\nsubmit = (formData) => {\r\n if (this.validator.allValid()) {\r\n let datiForm = {...formData};\r\n this.setState({\r\n isSubmitted: true,\r\n formData: datiForm,\r\n });\r\n\r\n let urlSchema = this.state.baseUrl;\r\n let method = this.state.isEditModal\r\n ? dynamic.put(urlSchema, datiForm)\r\n : dynamic.post(urlSchema, datiForm);\r\n\r\n method\r\n .then((response) => {\r\n if (response.status == 200) {\r\n this.getItemList();\r\n this.setState({\r\n formData: undefined,\r\n isSubmitted: false,\r\n isOpenModal: false,\r\n isOpenAlertModal:false\r\n });\r\n showNotification.success(\r\n getSuccess(\r\n this.props.title,\r\n this.state.isEditModal ? apioperation.PUT : apioperation.POST\r\n )\r\n );\r\n } else {\r\n this.setState({\r\n isSubmitted: false,\r\n isOpenAlertModal:false\r\n });\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({\r\n isSubmitted: false,\r\n isOpenAlertModal:false\r\n });\r\n showNotification.error(\r\n getError(\r\n error,\r\n this.props.title,\r\n this.state.isEditModal ? apioperation.PUT : apioperation.POST\r\n )\r\n );\r\n });\r\n }\r\n else\r\n {\r\n this.validator.showMessages();\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n addNew() {\r\n this.setState({\r\n formData: {\r\n idEnergyEmittedSubstance : null,\r\n idEnergySourceType : null,\r\n idEnergyUsageType : null,\r\n outOfScope : null,\r\n coefficient : '',\r\n year : '',\r\n validSince : null,\r\n validUntil : null\r\n },\r\n isEditModal: false,\r\n isOpenModal: true,\r\n });\r\n }\r\n\r\n downloadFile() {\r\n if (this.state.isExportLoading) return;\r\n\r\n this.setState({\r\n isExportLoading: true,\r\n });\r\n dynamic\r\n .getAll(this.state.baseUrl + 'excel', { responseType: 'arraybuffer' })\r\n .then((response) => {\r\n //fileDownload(new Blob([response.data]), 'report.xlsx');\r\n var data = new Blob([response.data], {\r\n type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\r\n });\r\n var csvURL = window.URL.createObjectURL(data);\r\n var tempLink = document.createElement('a');\r\n tempLink.href = csvURL;\r\n\r\n var nomefile =\r\n 'Export_' + this.props.title + '_' + moment().format('YYYYMMDDHHmmSS') + '.xlsx';\r\n tempLink.setAttribute('download', nomefile);\r\n\r\n document.body.appendChild(tempLink);\r\n tempLink.click();\r\n })\r\n .catch((error) => {\r\n showNotification.error(getError(error, 'Download File', apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isExportLoading: false,\r\n });\r\n });\r\n }\r\n\r\n toggleModal(open) {\r\n this.setState({ isOpenModal: open });\r\n }\r\n\r\n handlePaging(event) {\r\n this.getItemList(event);\r\n }\r\n\r\n handleSearchFormSubmit = (e) => {\r\n e.preventDefault();\r\n this.getItemList({ page: 1 });\r\n };\r\n\r\n handleInputChange = (e) => {\r\n let val = e.target.value;\r\n this.setState(\r\n {\r\n search: val,\r\n },\r\n () => {\r\n if (val == '') {\r\n this.getItemList({ page: 1 });\r\n }\r\n }\r\n );\r\n };\r\n\r\n showLoading() {\r\n let show = (this.state.isEditModal && this.state.isLoadingModal) || this.state.isSubmitted;\r\n let descr = this.state.isSubmitted ? 'Saving...' : 'Loading data...';\r\n return show && ;\r\n //return ()\r\n }\r\n\r\n toggleShowOutOfView = (selectedItem) => {\r\n this.setState((prevState) => {return {showOutOfView: (selectedItem ? (selectedItem.text === 'CO2') : false)}}); \r\n }\r\n\r\n updateFormState = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state.formData };\r\n statusCopy[inputName] = inputValue;\r\n\r\n this.setState({ formData: statusCopy });\r\n };\r\n\r\n getSelectComboItem = (arr, id) => {\r\n return (id === null ? null : (arr || []).find(item => item.key === id));\r\n }\r\n\r\n handleChangeCombo = (inputName, selectedItem, objName) => {\r\n const inputValue = selectedItem ? selectedItem.key : null;\r\n this.updateFormState(inputName, inputValue, objName);\r\n };\r\n\r\n handleChangeEnergyEmittedSubstance = (inputName, selectedItem, objName) => {\r\n this.toggleShowOutOfView(selectedItem);\r\n this.handleChangeCombo(inputName, selectedItem, objName);\r\n }\r\n\r\n handleChangeValidSince(e) {\r\n this.setState((prevState) => {\r\n const statusCopy= { ...prevState.formData};\r\n statusCopy['validSince']= moment(e[0]).format('YYYY-MM-DD');\r\n return { formData: statusCopy };\r\n });\r\n }\r\n \r\n handleChangeValidUntil(e) {\r\n this.setState((prevState) => {\r\n const statusCopy= { ...prevState.formData};\r\n statusCopy['validUntil']= moment(e[0]).format('YYYY-MM-DD');\r\n return { formData: statusCopy };\r\n });\r\n }\r\n\r\n crudModal() {\r\n const propsC = {\r\n modalHeader: () => ({\r\n title: (this.state.isEditModal ? 'Edit ' : 'Add new ') + this.props.title,\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.toggleModal(false),\r\n }),\r\n };\r\n\r\n const selectedItemCombo = {\r\n substance: this.getSelectComboItem(this.state.insertSchema.definitions?.EnergyEmittedSubstanceAsEnum.enum, this.state.formData?.idEnergyEmittedSubstance),\r\n usageType: this.getSelectComboItem(this.state.insertSchema.definitions?.EnergyUsageTypeAsEnum.enum, this.state.formData?.idEnergyUsageType),\r\n sourceType: this.getSelectComboItem(this.state.insertSchema.definitions?.EnergySourceTypeAsEnum.enum, this.state.formData?.idEnergySourceType)\r\n };\r\n\r\n const validationsCrudModal = {\r\n coefficient: this.validator.message('Coefficient', this.state.formData?.coefficient, 'required'),\r\n year: this.validator.message('Year', this.state.formData?.year, 'required|integer'),\r\n validUntil: this.validator.message('validUntil', this.state.formData?.validUntil, 'required|datePicker'),\r\n substance: this.validator.message('Energy_Emitted_Substance', this.state.formData?.idEnergyEmittedSubstance, 'required'),\r\n source: this.validator.message('Energy_Source_Type', this.state.formData?.idEnergySourceType, 'required'),\r\n };\r\n\r\n return (\r\n this.toggleModal(false)}\r\n onClose={() => {\r\n return false;\r\n }}\r\n >\r\n \r\n \r\n {this.showLoading()}\r\n
    \r\n \r\n {this.state.insertSchema.definitions == null || this.state.insertSchema.definitions.EnergyEmittedSubstanceAsEnum == null ? (\r\n \r\n ) : (\r\n (item ? item.text : '')}\r\n items={this.state.insertSchema.definitions?.EnergyEmittedSubstanceAsEnum.enum }\r\n disabled={this.state.isReadOnly}\r\n />\r\n )}\r\n {validationsCrudModal.substance}\r\n \r\n
    \r\n
    \r\n \r\n {this.state.insertSchema.definitions == null || this.state.insertSchema.definitions?.EnergyUsageTypeAsEnum == null ? (\r\n \r\n ) : (\r\n (item ? item.text : '')}\r\n items={this.state.insertSchema.definitions?.EnergyUsageTypeAsEnum.enum }\r\n disabled={this.state.isReadOnly}\r\n />\r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {this.state.insertSchema.definitions == null || this.state.insertSchema.definitions?.EnergySourceTypeAsEnum == null ? (\r\n \r\n ) : (\r\n (item ? item.text : '')}\r\n items={this.state.insertSchema.definitions?.EnergySourceTypeAsEnum.enum}\r\n disabled={this.state.isReadOnly}\r\n />\r\n )}\r\n {validationsCrudModal.source}\r\n \r\n
    \r\n
    \r\n \r\n this.updateFormState(el.target.id, el.target.value, el.target.name)}\r\n disabled={this.state.isReadOnly}\r\n type=\"number\"\r\n labelText=\"\"\r\n />\r\n {validationsCrudModal.coefficient}\r\n \r\n
    \r\n
    \r\n \r\n this.updateFormState(el.target.id, el.target.value, el.target.name)}\r\n disabled={this.state.isReadOnly}\r\n type=\"number\"\r\n labelText=\"\"\r\n />\r\n {validationsCrudModal.year}\r\n \r\n
    \r\n
    \r\n this.handleChangeValidSince(e)}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n this.handleChangeValidUntil(e) }\r\n >\r\n \r\n \r\n
    \r\n
    \r\n {this.state.showOutOfView === true ? (\r\n \r\n this.updateFormState(id, value, id)}\r\n />\r\n \r\n ) : ''} \r\n
    \r\n
    \r\n {!this.state.isReadOnly && (\r\n \r\n \r\n {\r\n this.submit(this.state.formData);\r\n }}\r\n >\r\n Save\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const paginationProps = () => ({\r\n page: this.state.currentPage || 1,\r\n totalItems: this.state.rowCount || 0,\r\n pageSize: this.state.pageSize || 10,\r\n pageSizes: [10, 20, 30, 40, 50],\r\n onChange: this.handlePaging,\r\n });\r\n\r\n const skeletonRowCount =\r\n this.state.rowCount > 0 && this.state.pageSize > this.state.rowCount\r\n ? this.state.rowCount\r\n : this.state.pageSize;\r\n\r\n return this.props.headers ? (\r\n <>\r\n \r\n\r\n
    \r\n {this.confirmAlertCustom()}\r\n {this.state.isRecursive && (\r\n \r\n this.backToPrevParent()}\r\n >\r\n \r\n \r\n this.backToFirstParent()}>\r\n \r\n \r\n\r\n {this.state.parentHistory &&\r\n this.state.parentHistory.map((item, index) => (\r\n \r\n {'level ' + index + ' - ' + (item.code || item.name)}\r\n \r\n ))}\r\n \r\n {'level ' + this.state.parentHistory.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\n \r\n this.downloadFile()}\r\n className=\"btn-notext\"\r\n iconDescription=\" \"\r\n renderIcon={Download16}\r\n >\r\n {!this.state.isExportLoading ? '' : }\r\n \r\n \r\n \r\n {!this.state.isReadOnly &&\r\n (this.state.isLoadingSchema ? (\r\n \r\n ) : (\r\n \r\n ))}\r\n \r\n \r\n {this.state.isLoading ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n {headers.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {rows == null || rows.length == 0 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n {row.cells.map((cell) => (\r\n x.key === cell.info.header)}\r\n />\r\n ))}\r\n\r\n \r\n
    \r\n \r\n {this.state.isReadOnly ? (\r\n this.getForEdit(row.id)}\r\n size=\"small\"\r\n renderIcon={Document16}\r\n iconDescription=\"Details\"\r\n kind=\"ghost\"\r\n />\r\n ) : (\r\n <>\r\n this.getForEdit(row.id)}\r\n size=\"small\"\r\n renderIcon={Edit16}\r\n iconDescription=\"Edit\"\r\n kind=\"ghost\"\r\n />\r\n this.confirmDelete(row.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n />\r\n {this.state.isRecursive && (\r\n this.setParent(row.id)}\r\n size=\"small\"\r\n renderIcon={Fork16}\r\n iconDescription=\"Set Parent\"\r\n kind=\"ghost\"\r\n />\r\n )}\r\n \r\n )}\r\n \r\n
    \r\n \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n )}\r\n
    \r\n )}\r\n />\r\n
    \r\n \r\n
    \r\n {this.crudModal()}\r\n {this.renderAlertModal()}\r\n
    \r\n \r\n ) : (\r\n

    Error for JSCrud props.headers is required

    \r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { Link, Route, useRouteMatch } from \"react-router-dom\";\r\n\r\nimport { Tabs, Tab, Accordion, AccordionItem, Button } from \"carbon-components-react\";\r\nimport ArrowRight16 from \"@carbon/icons-react/lib/arrow--right/16\";\r\nimport JSCrud from \"../../helpers/jsonschemaform/JSCrud\";\r\nimport { ListUsers } from \"./ListUsers\";\r\nimport { WorkSite } from \"./WorkSite\";\r\nimport { ActivityLog } from \"./ActivityLog\";\r\nimport { KpiNotApplicable } from \"./KpiNotApplicable\";\r\nimport { KpiManualInput } from \"./KpiManualInput\";\r\nimport { IsEnabled } from \"../../helpers/authorization/Policies\";\r\nimport { AppContext } from \"../../helpers/context/AppContext\";\r\nimport PageBreadCrumb from \"../../helpers/PageBreadCrumb\";\r\nimport DeletedAudit from \"./DeletedAudit\";\r\nimport EnergyEmissionJSCrud from \"./EnergyEmissionJSCrud\";\r\n\r\nfunction RenderList(props) {\r\n\tconst tabsArray = [\"#global\", \"#report\", \"#incident\", \"#audit\", \"#inspection\", \"#emergencydrill\", \"#training\", \"#Kpi\", \"#hoc\"];\r\n\r\n\tconst selectTab = (index) => {\r\n\t\tconst tag = tabsArray[index] || \"\";\r\n\t\tprops.onChangeTab(tag);\r\n\t};\r\n\r\n\tconst selectedIndex = tabsArray.indexOf(props.selectedTab) > -1 ? tabsArray.indexOf(props.selectedTab) : 0;\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t selectTab(index)} tabContentClassName=\"tab-content\">\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/*\r\n < div className=\"bx--col-lg-3 bx--col-md-4\">\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{IsEnabled(props.user, \"Report\") ? (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* DEV 295 */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* FINE DEV 295 */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t{IsEnabled(props.user, \"Incident\") ? (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/*
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t{IsEnabled(props.user, \"Audit\") ? (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/*
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* RITM0946162 */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t{IsEnabled(props.user, \"Inspection\") ? (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t{IsEnabled(props.user, \"Emergency Drill\") ? (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/*\r\n
    \r\n \r\n \r\n \r\n
    \r\n */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t{IsEnabled(props.user, \"Training\") ? (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t{IsEnabled(props.user, \"Insight Data\") ? (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/*
    \r\n \r\n \r\n KPI Not Applicable\r\n \r\n \r\n
    */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/*
    \r\n \r\n \r\n KPI\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n Pillars\r\n \r\n \r\n
    */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t{IsEnabled(props.user, \"Incident\") ? (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport default class BackOffice extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\r\n\t\tthis.handleChangeTab = this.handleChangeTab.bind(this);\r\n\r\n\t\t// this.state = {\r\n\t\t// selectedTab: 0,\r\n\t\t// };\r\n\r\n\t\t// selected={this.props.selectedTab} onSelectionChange={(index) => this.props.setIndex(index)}\r\n\t}\r\n\r\n\thandleChangeTab = (tag) => {\r\n\t\t// tag == #nometab\r\n\t\tthis.props.history.push(`/backoffice${tag}`);\r\n\t};\r\n\r\n\trender() {\r\n\t\tconst selectedTab = this.props.location.hash || \"\";\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{({ user }) => (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t } />\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t {/* RITM0587358 */}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t{/*\r\n \r\n } />\r\n \r\n } />\r\n \r\n } />\r\n */}\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t{/*RITM0615447_LifeSavingRules*/} \r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t{/* DEV 295 */}\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t{/* FINE DEV 295 */}\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t{/* DEV 295 */}\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t{/* FINE DEV 295 */}\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t{ /* RITM0565431_DEV295 */ }\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t{/* \r\n } />\r\n \r\n } /> */}\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\t\t{/* RITM0946162 */}\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
    \r\n\t\t);\r\n\t}\r\n}\r\n","/* eslint-disable import/prefer-default-export */\r\nimport { Link } from 'react-router-dom';\r\nimport {\r\n ComboBox,\r\n Button,\r\n FormLabel,\r\n DropdownSkeleton,\r\n Loading,\r\n TextArea,\r\n ComposedModal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Form,\r\n FormGroup,\r\n} from 'carbon-components-react';\r\nimport { Online, Offline } from './OnLineOffLine';\r\nimport React from 'react';\r\n\r\nexport const WFActionModal = (props) => {\r\n const isConfirmButtonDisabled = () => {\r\n return (\r\n (props.approver == null && props.withApprover) ||\r\n (props.withTimeApproval && props.month == null && props.trimester == null) ||\r\n (props.withTimeApproval && props.year == null)\r\n );\r\n };\r\n const Role = props.approverRole == 'Division Manager' ? 'Consolidator' : props.approverRole;\r\n const year = new Date().getFullYear();\r\n\r\n //RITM0574609\r\n const years = Array.from(new Array(5), (val, index) => (index + (year-2)).toString());\r\n \r\n const months = [\r\n { name: 'Jan', id: 1 },\r\n { name: 'Feb', id: 2 },\r\n { name: 'Mar', id: 3 },\r\n { name: 'Apr', id: 4 },\r\n { name: 'May', id: 5 },\r\n { name: 'Jun', id: 6 },\r\n { name: 'Jul', id: 7 },\r\n { name: 'Aug', id: 8 },\r\n { name: 'Sep', id: 9 },\r\n { name: 'Oct', id: 10 },\r\n { name: 'Nov', id: 11 },\r\n { name: 'Dec', id: 12 },\r\n ];\r\n const trimesters = [\r\n { name: 'Jan - Feb - Mar', id: 1 },\r\n { name: 'Apr - May - Jun', id: 2 },\r\n { name: 'Jul - Aug - Sep', id: 3 },\r\n { name: 'Oct - Nov - Dec', id: 4 },\r\n ];\r\n\r\n //RITM0646764\r\n const withApproverAndWarning = (props.withApprover && (props.approverWarning !== null && props.approverWarning !== undefined && props.approverWarning !== '')) || false;\r\n \r\n return (\r\n {\r\n return false;\r\n }}\r\n >\r\n
    \r\n\r\n \r\n {withApproverAndWarning ? (\r\n
    \r\n

    {props.approverWarning}

    \r\n {Role}\r\n {props.isLoadingOptions ? (\r\n \r\n ) : (\r\n \r\n item ? item.name + ' ' + item.surname + ' (' + item.email + ')' : ''\r\n }\r\n itemToElement={(item) =>\r\n item ? `${item.name + ' ' + item.surname + ' (' + item.email + ')'} ` : ''\r\n }\r\n onChange={({ selectedItem }) => props.onApproverSelect(selectedItem)}\r\n />\r\n )}\r\n
    \r\n ) : props.withApprover ? (\r\n
    \r\n {Role}\r\n {props.isLoadingOptions ? (\r\n \r\n ) : (\r\n \r\n item ? item.name + ' ' + item.surname + ' (' + item.email + ')' : ''\r\n }\r\n itemToElement={(item) =>\r\n item ? `${item.name + ' ' + item.surname + ' (' + item.email + ')'} ` : ''\r\n }\r\n onChange={({ selectedItem }) => props.onApproverSelect(selectedItem)}\r\n />\r\n )}\r\n
    \r\n ) : (\r\n
    \r\n

    Do you want to {props.action.toLowerCase()} selected entities?

    \r\n {props.approvalNotesRequired ? (\r\n \r\n ) : null}\r\n
    \r\n )}\r\n\r\n {props.withTimeApproval ? (\r\n
    \r\n Year\r\n item || ''}\r\n />\r\n {props.approvalTimeIntervalType === 'trimester' ? (\r\n <>\r\n Trimester\r\n (item ? item.name : '')}\r\n selectedItem={trimesters.find((t) => props.trimester === t.id) || null}\r\n />\r\n \r\n ) : (\r\n <>\r\n Month\r\n (item ? item.name : '')}\r\n selectedItem={months.find((m) => props.month === m.id) || null}\r\n />\r\n \r\n )}\r\n
    \r\n ) : null}\r\n\r\n
    \r\n
    \r\n
      \r\n {props.validationMessages.map((e) => (\r\n
    • \r\n {e}\r\n
    • \r\n ))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Confirm\r\n \r\n \r\n \r\n \r\n \r\n \r\n {!props.isLoadingOperation ? null : }\r\n \r\n );\r\n};\r\n","import { api, dynamic, registry } from './api';\r\nimport CacheStorage from './CacheStorage';\r\n\r\nconst baseURL = `${process.env.REACT_APP_API_URL}api`;\r\n\r\nconst cacheStorage = new CacheStorage();\r\n\r\nconst updateCachedIncident = async (id, data, tab) => {\r\n const url = `${baseURL}/incident/${id}`;\r\n let incident = await cacheStorage.getFromCache(url);\r\n if (incident && incident.tabNotifications && data.id) {\r\n incident[tab] = data;\r\n } else {\r\n incident = data;\r\n }\r\n\r\n await cacheStorage.updateCache(incident, url);\r\n};\r\n\r\nconst updateCachedIncidentList = async (data) => {\r\n const url = `${baseURL}/incident/?page=1&pageSize=10`;\r\n let items = await cacheStorage.getFromCache(url);\r\n\r\n if (items && items.itemList) {\r\n let element = items.itemList.find((el) => el.id == data.id);\r\n\r\n if (element == null) {\r\n items.itemList = items.itemList.concat([data]);\r\n items.rowCount = items.rowCount + 1;\r\n } else {\r\n items.itemList[items.itemList.indexOf(element)] = data;\r\n }\r\n\r\n await cacheStorage.updateCache(items, url);\r\n }\r\n};\r\n\r\nconst createCachedIncidentCAR = async (id, data) => {\r\n //creazione cache lista car pagina dedicata, alla creazione di un nuovo incident\r\n const url = `${baseURL}/incident/${id}/car/`;\r\n cacheStorage.updateCache(data, url);\r\n};\r\n\r\nconst updateCachedIncidentCAR = async (id, data) => {\r\n //update lista car pagina dedicata\r\n const url = `${baseURL}/incident/${id}/car/?page=1&pageSize=10`;\r\n let items = await cacheStorage.getFromCache(url);\r\n\r\n if (items && items.incidentCAR) {\r\n let element = items.incidentCAR.itemList.find((el) => el.id == data.id);\r\n\r\n if (element == null) {\r\n items.incidentCAR.itemList = items.incidentCAR.itemList.concat([data]);\r\n } else {\r\n items.incidentCAR.itemList[items.incidentCAR.itemList.indexOf(element)] = data;\r\n }\r\n\r\n await cacheStorage.updateCache(items, url);\r\n\r\n //update lista car in tabCauses dell'incident\r\n updateCachedTabCausesIncidentCAR(id, items.incidentCAR);\r\n }\r\n};\r\n\r\nconst updateCachedTabCausesIncidentCAR = async (id, data) => {\r\n const url = `${baseURL}/incident/${id}`;\r\n let incident = await cacheStorage.getFromCache(url);\r\n if (incident && incident.tabCauses) {\r\n incident.tabCauses.incidentCAR = data.itemList;\r\n await cacheStorage.updateCache(incident, url);\r\n }\r\n};\r\n\r\nconst createCachedIncidentCARDatail = async (idIncident, idCar, data) => {\r\n //creazione cache dettaglio car pagina dedicata\r\n const url = `${baseURL}/incident/${idIncident}/car/${idCar}`;\r\n const carDetail = {\r\n result: data,\r\n resultCas: {\r\n currentPage: 1,\r\n itemList: [],\r\n pageCount: 0,\r\n pageSize: 10,\r\n rowCount: 0,\r\n },\r\n };\r\n data = carDetail;\r\n await cacheStorage.updateCache(data, url);\r\n};\r\n\r\nconst updateCachedIncidentCA = async (idIncident, idCar, data) => {\r\n //update pagina dettaglio car e lista ca\r\n const url = `${baseURL}/incident/${idIncident}/car/${idCar}`;\r\n\r\n let items = await cacheStorage.getFromCache(url);\r\n\r\n if (items && items.result.ca) {\r\n let element = items.result.ca.find((el) => el.id == data.id);\r\n\r\n if (element == null) {\r\n items.result.ca = items.result.ca.concat([data]);\r\n items.resultCas.itemList = items.resultCas.itemList.concat([data]);\r\n } else {\r\n items.result.ca[items.result.ca.indexOf(element)] = data;\r\n items.resultCas.itemList[items.resultCas.itemList.indexOf(element)] = data;\r\n }\r\n\r\n await cacheStorage.updateCache(items, url);\r\n\r\n //update lista car\r\n updateCachedCAOnIncidentCARList(idIncident, idCar, items.ca);\r\n }\r\n};\r\n\r\nconst updateCachedCAOnIncidentCARList = async (idIncident, idCar, data) => {\r\n const url = `${baseURL}/incident/${idIncident}/car/?page=1&pageSize=10`;\r\n let items = await cacheStorage.getFromCache(url);\r\n\r\n if (items && items.incidentCAR) {\r\n let element = items.incidentCAR.itemList.find((el) => el.id == idCar);\r\n if (element != null) {\r\n element.ca = data;\r\n //console.log({ 'updateCachedCAOnIncidentCARList': items, element });\r\n await cacheStorage.updateCache(items, url);\r\n }\r\n }\r\n};\r\nconst updateReportFilter = async (data) => {\r\n const url = `${baseURL}/incident/filter`;\r\n await cacheStorage.updateCache(data, url);\r\n};\r\nconst updateReport = async (data) => {\r\n const url = `${baseURL}/incident`;\r\n await cacheStorage.updateCache(data, url);\r\n};\r\nconst getBackPaged = async () => {\r\n const url = `${baseURL}/incident/filter`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\nconst fetchIncident = async () => {\r\n await api.getAll('/incident/?page=1&pageSize=10');\r\n await dynamic.getAll('country', { params: { page: 0 } });\r\n await dynamic.getAll('company', { params: { page: 0 } });\r\n await api.getAll('/registry/status?page=0');\r\n await api.getAll('/me/worksitesproject');\r\n\r\n await api.getAll('/activity');\r\n\r\n await dynamic.getAll('place', { params: { page: 0 } });\r\n await dynamic.getAll('probability', { params: { page: 0 } });\r\n await dynamic.getAll('severity', { params: { page: 0 } });\r\n await dynamic.getAll('lifesavingrule', { params: { page: 0 } });\r\n await dynamic.getAll('lifesavingrulecategory', { params: { page: 0 } });\r\n await dynamic.getAll('injurytype', { params: { page: 0 } });\r\n await dynamic.getAll('accidentsource', { params: { page: 0 } });\r\n await dynamic.getAll('measureunit', { params: { page: 0 } });\r\n await dynamic.getAll('contracttype', { params: { page: 0 } });\r\n await dynamic.getAll('shiftduration', { params: { page: 0 } });\r\n await dynamic.getAll('injurysource', { params: { page: 0 } });\r\n await dynamic.getAll('injuryclass', { params: { page: 0 } });\r\n await dynamic.getAll('bodypart', { params: { page: 0 } });\r\n await dynamic.getAll('directcause', { params: { page: 0 } });\r\n await dynamic.getAll('directcausedetail', { params: { page: 0 } });\r\n await dynamic.getAll('rootcause', { params: { page: 0 } });\r\n await dynamic.getAll('rootcausedetail', { params: { page: 0 } });\r\n await dynamic.getAll('rootcausesubdetail', { params: { page: 0 } });\r\n await dynamic.getAll('assetdamagetype', { params: { page: 0 } });\r\n\r\n await dynamic.getAll('workprocess', { params: { page: 0, parent: 'all' } });\r\n await dynamic.getAll('workarea', { params: { page: 0, parent: 'all' } });\r\n await dynamic.getAll('equipment', { params: { page: 0, parent: 'all' } });\r\n await dynamic.getAll('subcontractor', { params: { page: 0, parent: 'all' } });\r\n\r\n await registry.getAll('publicauthorities');\r\n await registry.getAll('transportaccident');\r\n await registry.getAll('workrelated');\r\n await registry.getAll('infooriginator');\r\n\r\n // foreach chiamate condizionali\r\n // dynamic.getAll('workprocess', { params: { page: 0 } })\r\n // .then(response => {\r\n // var data = response.data.itemList;\r\n // data.map(item =>\r\n // dynamic.getAll('workprocess', { params: { page: 0, parent: item.id, } })\r\n // );\r\n // }).catch(error => {\r\n\r\n // }).finally(() => {\r\n\r\n // });\r\n\r\n // dynamic.getAll('workarea', { params: { page: 0 } })\r\n // .then(response => {\r\n // var data = response.data.itemList;\r\n // data.map(item =>\r\n // dynamic.getAll('workarea', { params: { page: 0, parent: item.id, } })\r\n // );\r\n // }).catch(error => {\r\n\r\n // }).finally(() => {\r\n\r\n // });\r\n\r\n // dynamic.getAll('equipment', { params: { page: 0 } })\r\n // .then(response => {\r\n // var data = response.data.itemList;\r\n // data.map(item =>\r\n // dynamic.getAll('equipment', { params: { page: 0, parent: item.id, } })\r\n // );\r\n // }).catch(error => {\r\n\r\n // }).finally(() => {\r\n\r\n // });\r\n //fine foreach\r\n};\r\n\r\nconst getBodyParts = async () => {\r\n const parts = await (await dynamic.getAll('bodypart')).data;\r\n console.log(\"Get body parts\", parts);\r\n return parts;\r\n}\r\n\r\nconst IncidentRepository = {\r\n updateCachedIncident,\r\n updateCachedIncidentList,\r\n createCachedIncidentCAR,\r\n updateCachedIncidentCAR,\r\n createCachedIncidentCARDatail,\r\n updateCachedIncidentCA,\r\n fetchIncident,\r\n updateReport,\r\n updateReportFilter,\r\n getBackPaged,\r\n getBodyParts,\r\n};\r\nexport default IncidentRepository;\r\n","import React, { Component } from \"react\";\r\nimport { Link, Route } from \"react-router-dom\";\r\nimport {\r\n\tSearch,\r\n\tDataTable,\r\n\tLoading,\r\n\tDataTableSkeleton,\r\n\tTextInput,\r\n\tTableContainer,\r\n\tPagination,\r\n\tForm,\r\n\tFormLabel,\r\n\tFormGroup,\r\n\tTableHead,\r\n\tTable,\r\n\tDropdownSkeleton,\r\n\tTableSelectRow,\r\n\tDatePickerSkeleton,\r\n\tTableBatchActions,\r\n\tTableBatchAction,\r\n\tTableBody,\r\n\tTableRow,\r\n\tTableCell,\r\n\tTableHeader,\r\n\tTableToolbar,\r\n\tTableToolbarContent,\r\n\tButton,\r\n} from \"carbon-components-react\";\r\nimport Edit16 from \"@carbon/icons-react/lib/edit/16\";\r\nimport Delete16 from \"@carbon/icons-react/lib/delete/16\";\r\nimport Send16 from \"@carbon/icons-react/lib/send/16\";\r\nimport { CheckmarkOutline16, CheckmarkFilled20, Add20, Error16, DocumentExport16, Download16 } from \"@carbon/icons-react/lib/\";\r\nimport moment, { invalid } from \"moment\";\r\nimport Data16 from \"@carbon/icons-react/lib/data--1/16\";\r\nimport { RenderDataTableCell, NoRecordsPlaceholder } from \"../../helpers/jsonschemaform/DataTableExtention\";\r\nimport { showNotification } from \"../../helpers/notification/BaseNotification\";\r\nimport { getSuccess, getError, entitiesLabels, apioperation, DateFormat, STATUS } from \"../../helpers/Constants\";\r\nimport { incident, me, api } from \"../../helpers/api/api\";\r\nimport { ComboBox } from \"../../helpers/ComboBox\";\r\nimport { CanExecuteAction, IsInRole } from \"../../helpers/authorization/Policies\";\r\nimport { AppContext } from \"../../helpers/context/AppContext\";\r\nimport { WFActionModal } from \"../common/WFActionModal\";\r\nimport PageBreadCrumb from \"../../helpers/PageBreadCrumb\";\r\nimport DateTimePicker from \"../../helpers/DateTimePicker\";\r\nimport { Online, Offline } from \"../common/OnLineOffLine\";\r\nimport FileDownLoadButton from \"../common/FileDownloadButton\";\r\nimport IncidentRepository from \"../../helpers/api/IncidentRepository\";\r\n\r\nexport default class LandingGlobal extends Component {\r\n\tsearchProp = () => ({\r\n\t\tincidentReportId: null,\r\n\t\tidStatus: null,\r\n\t\tidWorksite: null,\r\n\t\tidCountry: null,\r\n\t\ttype: null,\r\n\t\tidPrj: null,\r\n\t\tidCompany: null,\r\n\t\tidMainDivision: null,\r\n\t\tinUse: null,\r\n\t\toccurredAt: null,\r\n\t\tinvestigationLevel: null,\r\n\t\tcompiler: null,\r\n\t\tdataApprover: null,\r\n\t\tdivisionManager: null,\r\n\t});\r\n\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\r\n\t\tthis.state = {\r\n\t\t\tisApprovalModalOpen: false,\r\n\t\t\tapprovalModalAction: \"\",\r\n\t\t\tapprover: null,\r\n\t\t\tapprovalStartDate: null,\r\n\t\t\tapprovalEndDate: null,\r\n\t\t\tisLoadingApproverOptions: true,\r\n\t\t\tapprovalValidationMessages: [],\r\n\t\t\tapprovers: [],\r\n\t\t\tselectedData: [],\r\n\t\t\tapproverRole: \"\",\r\n\t\t\twithApprover: true,\r\n\t\t\tisLoadingWFOperation: false,\r\n\t\t\tapprovalNotesRequired: false,\r\n\t\t\tisLoadingNotificationFile: false,\r\n\t\t\tisLoadingReportFile: false,\r\n\t\t\tisLoading: true,\r\n\t\t\tisLoadingList: true,\r\n\t\t\tisLoadingStatus: true,\r\n\t\t\tisLoadingWorksite: true,\r\n\t\t\tisLoadingCountry: true,\r\n\t\t\tisLoadingProject: true,\r\n\t\t\tisLoadingCompany: true,\r\n\t\t\tisLoadingMainDivision: true,\r\n\t\t\tisLoadingDate: false,\r\n\t\t\tappWorkSiteName: [],\r\n\t\t\titemList: [],\r\n\t\t\tcurrentPage: 1,\r\n\t\t\tpageSize: 10,\r\n\t\t\trowCount: 0,\r\n\t\t\tstatus: [],\r\n\t\t\tworksite: [],\r\n\t\t\tcountry: [],\r\n\t\t\txType: [\"Accident\", \"Near Miss\"],\r\n\t\t\txInUse: [\"In Use\", \"Not in use\"],\r\n\t\t\tprj: [],\r\n\t\t\tcompany: [],\r\n\t\t\tinvestigation: [\r\n\t\t\t\t{ id: \"45f46ce6-3955-4e7e-91e2-1c3a576d53a5\", name: \"A\" },\r\n\t\t\t\t{ id: \"3a0e6c06-274b-456b-b54d-837123284021\", name: \"B\" },\r\n\t\t\t\t{ id: \"220e77aa-0ade-434d-9e57-baaa8f595b2a\", name: \"C\" },\r\n\t\t\t],\r\n\t\t\t// actionstatus: [],\r\n\t\t\tmaindivision: [],\r\n\t\t\t//ResetFilter\r\n\t\t\tisBack: this.props.history.action === \"POP\" || this.props.location.search === \"?isBack\" ? true : false,\r\n\t\t\tsearchModel: {\r\n\t\t\t\t...this.searchProp(),\r\n\t\t\t},\r\n\t\t};\r\n\t\tthis.toggleSearchForm = this.toggleSearchForm.bind(this);\r\n\r\n\t\tthis.updateState = this.updateState.bind(this);\r\n\t\tthis.handleClickCancelSearch = this.handleClickCancelSearch.bind(this);\r\n\t\tthis.getStatus = this.getStatus.bind(this);\r\n\t\tthis.getUserWorksite = this.getUserWorksite.bind(this);\r\n\t\tthis.getCountry = this.getCountry.bind(this);\r\n\t\tthis.getCompany = this.getCompany.bind(this);\r\n\t\tthis.getIncidentList = this.getIncidentList.bind(this);\r\n\r\n\t\tthis.IsRowSelectable = this.IsRowSelectable.bind(this);\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t\tthis.getIncidentList();\r\n\t\tthis.getCountry();\r\n\t\tthis.getCompany();\r\n\t\tthis.getPrj();\r\n\t\tthis.getUserWorksite();\r\n\t\tthis.getStatus();\r\n\t\tthis.getUserDivision();\r\n\t}\r\n\r\n\t/** ***********API get all Incident******************* */\r\n\tgetAll() {\r\n\t\tincident\r\n\t\t\t.getAll()\r\n\t\t\t.then((response) => {\r\n\t\t\t\tconst { data } = response;\r\n\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\titemList: data,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INCIDENT, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingList: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\tgetIncidentList = async (page, isNotBack) => {\r\n\t\tlet data = null;\r\n\t\tif (!this.state.isBack || isNotBack) {\r\n\t\t\tdata = {\r\n\t\t\t\tparams: {\r\n\t\t\t\t\t...this.state.searchModel,\r\n\t\t\t\t\tpage: this.state.currentPage,\r\n\t\t\t\t\tpageSize: this.state.pageSize,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t\tdata.params.page = this.state.currentPage;\r\n\t\t\tdata.params.pageSize = this.state.pageSize;\r\n\t\t} else {\r\n\t\t\tlet filter = await IncidentRepository.getBackPaged();\r\n\t\t\tdata = {\r\n\t\t\t\tparams: filter?.params,\r\n\t\t\t};\r\n\t\t\tthis.setState({\r\n\t\t\t\tsearchModel: filter?.params,\r\n\t\t\t\tcurrentPage: 1, //RITM0549692\r\n\t\t\t});\r\n\t\t\tdata.params.page = 1; //RITM0549692\r\n\t\t\tdata.params.pageSize = filter?.params.pageSize;\r\n\t\t\tif (\r\n\t\t\t\t(filter?.params?.incidentReportId == undefined || filter?.params?.incidentReportId == \"\") &&\r\n\t\t\t\tfilter?.params?.idStatus == undefined &&\r\n\t\t\t\tfilter?.params?.idWorksite == undefined &&\r\n\t\t\t\tfilter?.params?.idCountry == undefined &&\r\n\t\t\t\tfilter?.params?.type == undefined &&\r\n\t\t\t\tfilter?.params?.idPrj == undefined &&\r\n\t\t\t\tfilter?.params.idCompany == undefined &&\r\n\t\t\t\tfilter?.params?.idMainDivision == undefined &&\r\n\t\t\t\tfilter?.params?.inUse == undefined &&\r\n\t\t\t\tfilter?.params?.occurredAt == undefined &&\r\n\t\t\t\tfilter?.params?.investigationLevel == undefined &&\r\n\t\t\t\t(filter?.params?.compiler == undefined || filter?.params?.compiler == \"\") &&\r\n\t\t\t\tfilter?.params?.dataApprover == undefined &&\r\n\t\t\t\tfilter?.params?.divisionManager == undefined\r\n\t\t\t)\r\n\t\t\t\tthis.setState({ isOpenSearchForm: false });\r\n\t\t\telse this.setState({ isOpenSearchForm: true });\r\n\t\t}\r\n\t\tthis.getIncidentListFilter(data);\r\n\t};\r\n\r\n\tgetIncidentListFilter(data) {\r\n\t\tincident\r\n\t\t\t.getWithParam(data)\r\n\t\t\t.then((response) => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\t...response.data,\r\n\t\t\t\t});\r\n\t\t\t\tIncidentRepository.updateReportFilter(data);\r\n\t\t\t\tIncidentRepository.updateReport(data);\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INCIDENT, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoading: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\t/** ***********API******************* */\r\n\r\n\t// Carico prop per combobox\r\n\r\n\t// Country\r\n\tgetCountry = () => {\r\n\t\tapi.getAll(\"/admin/country?page=0\")\r\n\t\t\t.then((response) => {\r\n\t\t\t\tconst data = response.data.itemList;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tcountry: data,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.COUNTRY, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingCountry: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t};\r\n\r\n\tgetPrj = () => {\r\n\t\tme.getAll(\"project\")\r\n\t\t\t.then((response) => {\r\n\t\t\t\tconst { data } = response;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tprj: data,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.PROJECT, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingProject: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t};\r\n\r\n\t// COMPANY\r\n\tgetCompany = () => {\r\n\t\tapi.getAll(\"/admin/company?page=0\")\r\n\t\t\t.then((response) => {\r\n\t\t\t\tconst data = response.data.itemList;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tcompany: data,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.COMPANY, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingCompany: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t};\r\n\r\n\t// STATUS\r\n\tgetStatus = () => {\r\n\t\tapi.getAll(\"/registry/status?page=0\")\r\n\t\t\t.then((response) => {\r\n\t\t\t\tconst { data } = response;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tstatus: data,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.STATUS, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingStatus: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t};\r\n\r\n\t// Division\r\n\tgetUserDivision = () => {\r\n\t\tme.getAll(\"divisions\")\r\n\t\t\t.then((response) => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tmaindivision: response.data,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.DIVISION, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingMainDivision: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t};\r\n\r\n\t// Worksite\r\n\tgetUserWorksite = () => {\r\n\t\tme.getAll(\"worksites\")\r\n\t\t\t.then((response) => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tworksite: response.data,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.WORKSITEGROUP, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingWorksite: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t};\r\n\r\n\tupdateState = (inputName, inputValue, objName) => {\r\n\t\tconst statusCopy = { ...this.state };\r\n\t\tstatusCopy[objName][inputName] = inputValue;\r\n\t\tstatusCopy.isBack = false;\r\n\t\tthis.setState(statusCopy);\r\n\t};\r\n\r\n\t// METODI VARI\r\n\thandleChangeCombo2 = (inputName, selectedItem, objName) => {\r\n\t\tlet inputValue = selectedItem || null;\r\n\t\tif (inputName == \"inUse\") {\r\n\t\t\tif (inputValue == \"In Use\") inputValue = true;\r\n\t\t\telse if (inputValue == \"Not in use\") inputValue = false;\r\n\t\t\telse inputValue = null;\r\n\t\t}\r\n\r\n\t\tconst statusCopy = { ...this.state };\r\n\t\tstatusCopy[objName][inputName] = inputValue;\r\n\t\tstatusCopy.isBack = false;\r\n\t\t// statusCopy['selectedItemCombo'][inputName] = selectedItem;\r\n\t\tthis.setState(statusCopy);\r\n\t};\r\n\r\n\thandleChangeCombo = (inputName, selectedItem, objName) => {\r\n\t\tconst inputValue = selectedItem ? selectedItem.id : null;\r\n\t\tconst statusCopy = { ...this.state };\r\n\t\tstatusCopy[objName][inputName] = inputValue;\r\n\t\tstatusCopy.isBack = false;\r\n\t\t// statusCopy['selectedItemCombo'][inputName] = selectedItem;\r\n\t\tthis.setState(statusCopy);\r\n\t};\r\n\r\n\t/** ***********Form Ricerca******************* */\r\n\ttoggleSearchForm(e) {\r\n\t\te.preventDefault();\r\n\t\tthis.setState((oldState) => ({ isOpenSearchForm: !oldState.isOpenSearchForm }));\r\n\t}\r\n\r\n\thandleChangeSearch = (el) => {\r\n\t\tconst inputName = el.target.name;\r\n\r\n\t\tconst inputValue = el.target.value;\r\n\r\n\t\tthis.updateState(inputName, inputValue, \"searchModel\");\r\n\t};\r\n\r\n\thandleClickSearch = (e) => {\r\n\t\te.preventDefault();\r\n\t\tthis.setState({\r\n\t\t\tisLoading: true,\r\n\t\t});\r\n\t\tthis.getIncidentList({ page: 1 }, true);\r\n\t};\r\n\r\n\thandleClickCancelSearch = () => {\r\n\t\tthis.setState({\r\n\t\t\tisBack: false,\r\n\t\t\tisLoading: true,\r\n\t\t\tsearchModel: {\r\n\t\t\t\t...this.searchProp(),\r\n\t\t\t},\r\n\r\n\t\t\tisOpenSearchForm: false,\r\n\t\t});\r\n\t\tlet params = {\r\n\t\t\tpage: 1,\r\n\t\t\tpageSize: 10,\r\n\t\t\tincidentReportId: null,\r\n\t\t\tidStatus: null,\r\n\t\t\tidWorksite: null,\r\n\t\t\tidCountry: null,\r\n\t\t\ttype: null,\r\n\t\t\tidPrj: null,\r\n\t\t\tidCompany: null,\r\n\t\t\tidMainDivision: null,\r\n\t\t\tinUse: null,\r\n\t\t\toccurredAt: null,\r\n\t\t\tinvestigationLevel: null,\r\n\t\t\tcompiler: null,\r\n\t\t\tdataApprover: null,\r\n\t\t\tdivisionManager: null,\r\n\t\t};\r\n\t\tthis.getIncidentListFilter({ params });\r\n\t};\r\n\r\n\thandleChangePaging = async (page) => {\r\n\t\tawait new Promise((resolve) => {\r\n\t\t\tthis.setState({ currentPage: page.page, pageSize: page.pageSize, loading: true, isLoading: true, isBack: false }, resolve);\r\n\t\t});\r\n\t\tthis.getIncidentList();\r\n\t};\r\n\r\n\tupdateStateDP = (inputName, inputValue, objName) => {\r\n\t\tthis.setState((prevState) => ({\r\n\t\t\t[objName]: {\r\n\t\t\t\t...prevState[objName],\r\n\t\t\t\t[inputName]: inputValue,\r\n\t\t\t\tisBack: false,\r\n\t\t\t},\r\n\t\t}));\r\n\t};\r\n\t// COMPONENTE TENDINA TASTINO\r\n\r\n\trenderSearchform() {\r\n\t\tconst filterItems = {\r\n\t\t\tidStatus: this.state.searchModel?.idStatus ? (this.state.status || []).find((el) => el.id === this.state.searchModel.idStatus) : [],\r\n\t\t\tidWorksite: this.state.searchModel?.idWorksite ? (this.state.worksite || []).find((el) => el.id === this.state.searchModel.idWorksite) : [],\r\n\t\t\tidCountry: this.state.searchModel?.idCountry ? (this.state.country || []).find((el) => el.id === this.state.searchModel.idCountry) : [],\r\n\t\t\ttype: this.state.searchModel?.type ? this.state.searchModel.type : [],\r\n\t\t\tidPrj: this.state.searchModel?.idPrj ? (this.state.prj || []).find((el) => el.id === this.state.searchModel.idPrj) : [],\r\n\t\t\tidCompany: this.state.searchModel?.idCompany ? (this.state.company || []).find((el) => el.id === this.state.searchModel.idCompany) : [],\r\n\t\t\tidActionStatus: null,\r\n\t\t\tidMainDivision: this.state.searchModel?.idMainDivision ? (this.state.maindivision || []).find((el) => el.id === this.state.searchModel.idMainDivision) : [],\r\n\t\t\tinUse: this.state.searchModel?.inUse ? (this.state.searchModel.inUse ? \"In Use\" : \"Not in use\") : [],\r\n\t\t\tinvestigationLevel: this.state.searchModel?.investigationLevel ? (this.state.investigation || []).find((el) => el.id === this.state.searchModel.investigationLevel) : [],\r\n\t\t};\r\n\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\tStatus\r\n\t\t\t\t\t\t{this.state.isLoadingStatus ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t (item ? item.reportingName : \"\")}\r\n\t\t\t\t\t\t\t\tinitialSelectedItem={this.state.searchModel.idStatus ? filterItems.idStatus : \"All\"}\r\n\t\t\t\t\t\t\t\titems={this.state.status}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tWorksite\r\n\t\t\t\t\t\t{this.state.isLoadingWorksite ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t (item ? item.name : \"\")}\r\n\t\t\t\t\t\t\t\tinitialSelectedItem={this.state.searchModel.idWorksite ? filterItems.idWorksite : \"All\"}\r\n\t\t\t\t\t\t\t\titems={this.state.worksite}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tCountry\r\n\t\t\t\t\t\t{this.state.isLoadingCountry ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t (item ? item.name : \"\")}\r\n\t\t\t\t\t\t\t\tinitialSelectedItem={this.state.searchModel.idCountry ? filterItems.idCountry : \"All\"}\r\n\t\t\t\t\t\t\t\titems={this.state.country}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tType\r\n\r\n\t\t\t\t\t\t item || \"\"}\r\n\t\t\t\t\t\t\tinitialSelectedItem={this.state.searchModel.type != null ? filterItems.type : \"All\"}\r\n\t\t\t\t\t\t\titems={this.state.xType}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* \r\n \r\n Reference Year\r\n \r\n (item ? item.name : '')}\r\n initialSelectedItem={filterItems.idReferenceYear}\r\n items={this.state.referenceyear}\r\n // // items={this.state.search.search}\r\n\r\n />\r\n */}\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tProject\r\n\t\t\t\t\t\t{this.state.isLoadingProject ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t (item ? item.name : \"\")}\r\n\t\t\t\t\t\t\t\tinitialSelectedItem={this.state.searchModel.idPrj ? filterItems.idPrj : \"All\"}\r\n\t\t\t\t\t\t\t\titems={this.state.prj}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tOperating Company Branch\r\n\t\t\t\t\t\t{this.state.isLoadingCompany ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t (item ? item.name : \"\")}\r\n\t\t\t\t\t\t\t\tinitialSelectedItem={this.state.searchModel.idCompany ? filterItems.idCompany : \"All\"}\r\n\t\t\t\t\t\t\t\titems={this.state.company}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* \r\n \r\n Corrective / Preventing Action Status\r\n \r\n (item ? item.name : '')}\r\n initialSelectedItem={filterItems.idActionStatus}\r\n items={this.state.actionstatus}\r\n // // items={this.state.search.search}\r\n\r\n />\r\n */}\r\n\t\t\t\t\t{/* \r\n \r\n \r\n Quarter\r\n \r\n (item ? item.name : '')}\r\n initialSelectedItem={filterItems.idQuarter}\r\n items={this.state.quarter}\r\n // // items={this.state.search.search}\r\n\r\n />\r\n */}\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{/* RITM0945977 */}\r\n\t\t\t\t\t\t{/* Main Division */}\r\n\t\t\t\t\t\tMain Business Line\r\n\t\t\t\t\t\t{this.state.isLoadingMainDivision ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t (item ? item.name : \"\")}\r\n\t\t\t\t\t\t\t\tinitialSelectedItem={this.state.searchModel.idMainDivision ? filterItems.idMainDivision : \"All\"}\r\n\t\t\t\t\t\t\t\titems={this.state.maindivision}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tWorksite / Prj In Use\r\n\t\t\t\t\t\t item || \"\"}\r\n\t\t\t\t\t\t\tinitialSelectedItem={this.state.searchModel.inUse != null ? filterItems.inUse : \"All\"}\r\n\t\t\t\t\t\t\titems={this.state.xInUse}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tDate Of Occurrence\r\n\t\t\t\t\t\t{this.state.isLoadingDate ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tInvestigation Level\r\n\t\t\t\t\t\t (item ? item.name : \"\")}\r\n\t\t\t\t\t\t\tinitialSelectedItem={this.state.searchModel.investigationLevel ? filterItems.investigationLevel : \"All\"}\r\n\t\t\t\t\t\t\titems={this.state.investigation}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tIncident Code\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tEmail Compiler\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tEmail Data Approver\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tEmail Consolidator\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t);\r\n\t}\r\n\r\n\thandleApproverSelect = (selectedItem) => {\r\n\t\tthis.setState({ approver: selectedItem });\r\n\t};\r\n\r\n\thandleCloseApprovalModal = () => {\r\n\t\tthis.setState({ isApprovalModalOpen: false }, this.clearApprovalForm);\r\n\t};\r\n\r\n\thandleApprovalNotesChange = (e) => {\r\n\t\tthis.setState({ approvalNotes: e.target.value });\r\n\t};\r\n\r\n\thandleConfirmApprovalModal = () => {\r\n\t\tconst action = this.state.approvalModalAction.toLowerCase();\r\n\t\tconst apiEndpoint = this.state.approvalEndpoint;\r\n\t\tconst data = {\r\n\t\t\tids: this.state.selectedData.map((r) => r.id),\r\n\t\t\towner: this.state.approver,\r\n\t\t\tworkflowNotes: this.state.approvalNotes,\r\n\t\t};\r\n\t\tvar incidentCode = [];\r\n\t\tvar incidentReportIdCode = \"\";\r\n\t\tdata.ids.forEach((item) => incidentCode.push(this.state.itemList.find((el) => el.id == item)));\r\n\t\tincidentCode.forEach((item) => (incidentReportIdCode = incidentReportIdCode + item.incidentReportId + \", \"));\r\n\t\tif (data.ids.length > 1) {\r\n\t\t\tvar incidentNum = \"Incidents\";\r\n\t\t} else {\r\n\t\t\tvar incidentNum = entitiesLabels.INCIDENT;\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\tisLoadingWFOperation: true,\r\n\t\t});\r\n\t\tapi.put(`/incident/${apiEndpoint}`, data, \"\")\r\n\t\t\t.then((response) => {\r\n\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\tshowNotification.success(`${entitiesLabels.SUCCESS}`, `${incidentNum} ${entitiesLabels.WITHCODE} ${getSuccess(incidentReportIdCode, apiEndpoint)}`);\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tisLoadingWFOperation: false,\r\n\t\t\t\t\t\tisApprovalModalOpen: false,\r\n\t\t\t\t\t\tisLoading: true,\r\n\t\t\t\t\t\titemList: [],\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.getIncidentList();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tshowNotification.error();\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tisLoadingWFOperation: false,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INCIDENT, apioperation.PUT));\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingWFOperation: false,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.state.approver = null;\r\n\t\t\t});\r\n\t};\r\n\r\n\tgetUsersInRole = (role, idEntity) => {\r\n\t\tme.getWithParam(\"users\", {\r\n\t\t\tparams: { Role: role, IdEntity: idEntity, includeAdmins: true },\r\n\t\t})\r\n\t\t\t.then((response) => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tapprovers: response.data,\r\n\t\t\t\t\tisLoadingApproverOptions: false,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.ROLE, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingApproverOptions: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t};\r\n\r\n\tIsRowSelectable(tableRow, selectedRows, user) {\r\n\t\tconst row = this.state.itemList.find((i) => i.id == tableRow.id);\r\n\r\n\t\tif (row.idStatus == STATUS.Consolidated) return false;\r\n\r\n\t\tif (selectedRows.length == 0) {\r\n\t\t\tconst canSelect =\r\n\t\t\t\tCanExecuteAction(\"Incident\", \"Reporting\", user, row.idStatus, \"Submit\", row) ||\r\n\t\t\t\tCanExecuteAction(\"Incident\", \"Reporting\", user, row.idStatus, \"Approve\", row) ||\r\n\t\t\t\tCanExecuteAction(\"Incident\", \"Reporting\", user, row.idStatus, \"Consolidate\", row) ||\r\n\t\t\t\tCanExecuteAction(\"Incident\", \"Reporting\", user, row.idStatus, \"Reject\", row) ||\r\n\t\t\t\tCanExecuteAction(\"Incident\", \"Reporting\", user, row.idStatus, \"RejectConsolidate\", row) ||\r\n\t\t\t\tCanExecuteAction(\"Incident\", \"Reporting\", user, row.idStatus, \"Delete\", row);\r\n\t\t\treturn canSelect;\r\n\t\t}\r\n\r\n\t\tif (selectedRows.length > 0) {\r\n\t\t\tconst selectableIncident = this.state.itemList.find((i) => i.id == selectedRows[0].id);\r\n\t\t\tconst selectableState = selectableIncident.idStatus;\r\n\t\t\tconst selectableDivision = selectableIncident.idDivision;\r\n\t\t\tconst selectableWorksite = selectableIncident.idWorksite;\r\n\r\n\t\t\tif (row.idStatus == selectableState && (row.idStatus == STATUS.Draft ? row.idWorksite == selectableWorksite : row.idDivision == selectableDivision)) {\r\n\t\t\t\tconst canSelect =\r\n\t\t\t\t\tCanExecuteAction(\"Incident\", \"Reporting\", user, row.idStatus, \"Submit\", row) ||\r\n\t\t\t\t\tCanExecuteAction(\"Incident\", \"Reporting\", user, row.idStatus, \"Approve\", row) ||\r\n\t\t\t\t\tCanExecuteAction(\"Incident\", \"Reporting\", user, row.idStatus, \"Consolidate\", row) ||\r\n\t\t\t\t\tCanExecuteAction(\"Incident\", \"Reporting\", user, row.idStatus, \"Reject\", row) ||\r\n\t\t\t\t\tCanExecuteAction(\"Incident\", \"Reporting\", user, row.idStatus, \"RejectConsolidate\", row) ||\r\n\t\t\t\t\tCanExecuteAction(\"Incident\", \"Reporting\", user, row.idStatus, \"Delete\", row);\r\n\t\t\t\treturn canSelect;\r\n\t\t\t\t// return true;\r\n\t\t\t}\r\n\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t}\r\n\r\n\tdownloadFile() {\r\n\t\tif (this.state.isExportLoading) return;\r\n\r\n\t\tthis.setState({\r\n\t\t\tisExportLoading: true,\r\n\t\t});\r\n\t\tapi.getWithParam(\"/incident/excel\", { responseType: \"arraybuffer\" })\r\n\t\t\t.then((response) => {\r\n\t\t\t\t// fileDownload(new Blob([response.data]), 'report.xlsx');\r\n\t\t\t\tconst data = new Blob([response.data], {\r\n\t\t\t\t\ttype: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\r\n\t\t\t\t});\r\n\t\t\t\tconst csvURL = window.URL.createObjectURL(data);\r\n\t\t\t\tconst tempLink = document.createElement(\"a\");\r\n\t\t\t\ttempLink.href = csvURL;\r\n\r\n\t\t\t\tconst nomefile = `${\"Export_\" + \"Incident_\"}${moment().format(\"YYYYMMDDHHmmSS\")}.xlsx`;\r\n\t\t\t\ttempLink.setAttribute(\"download\", nomefile);\r\n\r\n\t\t\t\tdocument.body.appendChild(tempLink);\r\n\t\t\t\ttempLink.click();\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, \"Download File\", apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisExportLoading: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\tDownloadNotification(incidentId) {\r\n\t\tthis.setState({ isLoadingNotificationFile: true });\r\n\t\tincident\r\n\t\t\t.downloadNotification(incidentId, { responseType: \"arraybuffer\" })\r\n\t\t\t.then((response) => {\r\n\t\t\t\tconst data = new Blob([response.data], { type: \"application/pdf\" });\r\n\t\t\t\tconst csvURL = window.URL.createObjectURL(data);\r\n\t\t\t\tconst tempLink = document.createElement(\"a\");\r\n\t\t\t\ttempLink.href = csvURL;\r\n\t\t\t\tconst incidentCode = this.state.itemList.find((i) => i.id == incidentId);\r\n\t\t\t\tconst nomefile = `Incident_Notification_${incidentCode.incidentReportId}.pdf`;\r\n\t\t\t\ttempLink.setAttribute(\"download\", nomefile);\r\n\t\t\t\tdocument.body.appendChild(tempLink);\r\n\t\t\t\ttempLink.click();\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INCIDENT_NOTIFICATION, apioperation.DOWNLOAD));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({ isLoadingNotificationFile: false });\r\n\t\t\t});\r\n\t}\r\n\r\n\tDownloadReport(incidentId) {\r\n\t\tthis.setState({ isLoadingReportFile: true });\r\n\t\tincident\r\n\t\t\t.downloadReport(incidentId, { responseType: \"arraybuffer\" })\r\n\t\t\t.then((response) => {\r\n\t\t\t\tconst data = new Blob([response.data], { type: \"application/pdf\" });\r\n\t\t\t\tconst csvURL = window.URL.createObjectURL(data);\r\n\t\t\t\tconst tempLink = document.createElement(\"a\");\r\n\t\t\t\ttempLink.href = csvURL;\r\n\t\t\t\tconst incidentCode = this.state.itemList.find((i) => i.id == incidentId);\r\n\t\t\t\tconst nomefile = `Incident_Report_${incidentCode.incidentReportId}.pdf`;\r\n\t\t\t\ttempLink.setAttribute(\"download\", nomefile);\r\n\t\t\t\tdocument.body.appendChild(tempLink);\r\n\t\t\t\ttempLink.click();\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INCIDENT_REPORT, apioperation.DOWNLOAD));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({ isLoadingReportFile: false });\r\n\t\t\t});\r\n\t}\r\n\r\n\tbatchActionClick(actionKey, actionName, approverRole, withApprover, approvalNotesRequired, selectedRows) {\r\n\t\tconst incident = this.state.itemList.find((i) => i.id == selectedRows[0].id);\r\n\r\n\t\tconst idEntity = actionKey == \"Submit\" ? incident.idWorksite : actionKey == \"Approve\" ? incident.idDivision : null;\r\n\r\n\t\tthis.setState({\r\n\t\t\tapprovalModalAction: actionName,\r\n\t\t\tisApprovalModalOpen: true,\r\n\t\t\tisLoadingApproverOptions: true,\r\n\t\t\twithApprover,\r\n\t\t\tselectedData: selectedRows,\r\n\t\t\tapproverRole,\r\n\t\t\tapprovalEndpoint: actionKey,\r\n\t\t\tapprovalNotesRequired,\r\n\t\t});\r\n\r\n\t\tif (withApprover) this.getUsersInRole(approverRole, idEntity);\r\n\t}\r\n\r\n\tgetIncident = (selectedRows) => {\r\n\t\tif (selectedRows && selectedRows.length > 0) {\r\n\t\t\treturn this.state.itemList.find((el) => el.id == selectedRows[0].id);\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\r\n\tgetStatusId = (idRow) => {\r\n\t\tconst r = this.state.itemList.find((el) => el.id == idRow);\r\n\t\treturn r && r.idStatus;\r\n\t};\r\n\r\n\t/** ***********Render******************* */\r\n\tgetIncidentNotificationCode = (id) => {\r\n\t\tconst incidentCode = this.state.itemList.find((el) => el.id == id);\r\n\t\treturn \"Incident_Notification_\" + incidentCode.incidentReportId + \".pdf\";\r\n\t};\r\n\tgetIncidentReportCode = (id) => {\r\n\t\tconst incidentCode = this.state.itemList.find((el) => el.id == id);\r\n\t\treturn \"Incident_Report_\" + incidentCode.incidentReportId + \".pdf\";\r\n\t};\r\n\trender() {\r\n\t\tconst headersDataTable = [\r\n\t\t\t{ key: \"status\", header: \"Status\", type: \"status\" },\r\n\t\t\t{ key: \"incidentReportId\", header: \"Code\" },\r\n\t\t\t//RITM0945977\r\n\t\t\t// { key: \"division\", header: \"Division\" },\r\n\t\t\t{ key: \"division\", header: \"Business Line\" },\r\n\t\t\t{ key: \"worksite\", header: \"Worksite\" },\r\n\t\t\t{ key: \"title\", header: \"Title\" },\r\n\t\t\t{ key: \"occurrenceDate\", header: \"Occurence Date\", type: \"date\" },\r\n\t\t\t{ key: \"type\", header: \"Type\" },\r\n\t\t\t{ key: \"outcome\", header: \"Outcome\" },\r\n\t\t\t{ key: \"investigationLevel\", header: \"Investigation Level\" },\r\n\t\t];\r\n\r\n\t\tconst paginationProps = () => ({\r\n\t\t\tpage: this.state.currentPage || 1,\r\n\t\t\ttotalItems: this.state.rowCount || 0,\r\n\t\t\tpageSize: this.state.pageSize || 10,\r\n\t\t\tpageSizes: [10, 20, 30, 40, 50],\r\n\t\t\tonChange: this.handleChangePaging,\r\n\t\t});\r\n\r\n\t\tconst skeletonRowCount = this.state.rowCount > 0 && this.state.pageSize > this.state.rowCount ? this.state.rowCount : 5;\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{({ user }) => (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t{!this.state.isOpenSearchForm ? \"\" : this.renderSearchform()}\r\n\r\n\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{selectedRows.length > 0 ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{CanExecuteAction(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Incident\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Reporting\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedRows.length > 0 ? this.getStatusId(selectedRows[0].id) : null,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Submit\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getIncident(selectedRows)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.batchActionClick(\"Submit\", \"Submit\", \"Data Approver\", true, false, selectedRows)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSubmit Report\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{CanExecuteAction(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Incident\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Reporting\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedRows.length > 0 ? this.getStatusId(selectedRows[0].id) : null,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Approve\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getIncident(selectedRows)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.batchActionClick(\"Approve\", \"Approve\", \"Division Manager\", true, false, selectedRows)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tApprove Report\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{CanExecuteAction(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Incident\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Reporting\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedRows.length > 0 ? this.getStatusId(selectedRows[0].id) : null,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Consolidate\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getIncident(selectedRows)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.batchActionClick(\"Consolidate\", \"Consolidate\", null, false, false, selectedRows)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tConsolidate Report\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{CanExecuteAction(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Incident\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Reporting\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedRows.length > 0 ? this.getStatusId(selectedRows[0].id) : null,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Reject\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getIncident(selectedRows)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.batchActionClick(\"Reject\", \"Reject\", null, false, true, selectedRows)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tReject Report\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{CanExecuteAction(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Incident\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Reporting\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedRows.length > 0 ? this.getStatusId(selectedRows[0].id) : null,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"RejectConsolidate\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getIncident(selectedRows)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.batchActionClick(\"RejectConsolidate\", \"Reject\", null, false, true, selectedRows)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tReject Report\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{CanExecuteAction(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Incident\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Reporting\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedRows.length > 0 ? this.getStatusId(selectedRows[0].id) : null,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Delete\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getIncident(selectedRows)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.batchActionClick(\"Delete\", \"Delete\", null, false, false, selectedRows)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDelete\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\t\t{this.state.isLoading ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{headers.map((header) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{header.header}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tActions\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{rows == null || rows.length == 0 ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trows.map((row) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.IsRowSelectable(row, selectedRows, user) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\" \"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\" \"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{row.cells.map((cell) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t x.key === cell.info.header)} />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`${entitiesLabels.ERROR}`,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tgetError(error, entitiesLabels.INCIDENT_NOTIFICATION, apioperation.DOWNLOAD)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trenderIcon={DocumentExport16}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticonDescription=\"Download Notification\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"bx--export-form\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Download Notification\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkind=\"ghost\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tapiUrl={`/incident/notification/${row.id}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t//fileName={`Incident_Notification_${row.incidentReportId}.pdf`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfileName={this.getIncidentNotificationCode(row.id)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonDownLoadStart={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLoadingNotificationFile: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonDownLoadEnd={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLoadingNotificationFile: false,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INCIDENT_REPORT, apioperation.DOWNLOAD));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\" bx--export-tab-form\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trenderIcon={DocumentExport16}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticonDescription=\"Download Report\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Download Report\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkind=\"ghost\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tapiUrl={`/incident/report/${row.id}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t//fileName={`Incident_Report_${row.incidentReportId}.pdf`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfileName={this.getIncidentReportCode(row.id)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonDownLoadStart={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLoadingReportFile: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonDownLoadEnd={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLoadingReportFile: false,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t))\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
    \r\n\t\t);\r\n\t}\r\n}\r\n","import React from 'react';\r\n\r\nconst { Consumer, Provider } = React.createContext();\r\n\r\nconst withScrollingConsumer = Component => props => (\r\n {data => }\r\n);\r\n\r\nexport { Consumer, Provider, withScrollingConsumer };\r\n","import React from 'react';\r\nimport debounce from 'debounce';\r\nimport PropTypes from 'prop-types';\r\nimport { Provider } from './scrollContext';\r\n\r\nexport default class ScrollingProvider extends React.Component {\r\n static propTypes = {\r\n /** ms. to wait until the calculation of the current section */\r\n debounceDelay: PropTypes.number,\r\n /** scrolling style */\r\n scrollBehavior: PropTypes.oneOf(['auto', 'smooth']),\r\n /** React component */\r\n children: PropTypes.node,\r\n };\r\n\r\n static defaultProps = {\r\n debounceDelay: 50,\r\n scrollBehavior: 'smooth',\r\n children: null,\r\n };\r\n\r\n state = {\r\n selected: '',\r\n };\r\n\r\n refList = {};\r\n\r\n componentDidMount() {\r\n document.addEventListener('scroll', this.debounceScroll, true);\r\n this.handleScroll();\r\n }\r\n\r\n componentWillUnmount() {\r\n document.removeEventListener('scroll', this.debounceScroll, true);\r\n }\r\n\r\n handleScroll = () => {\r\n const selected = Object.entries(this.refList).reduce(\r\n (acc, [key, value]) => {\r\n if (value.current) {\r\n const { top } = value.current.getBoundingClientRect();\r\n if (top) {\r\n const differenceFromTop = Math.abs(top);\r\n\r\n if (acc)\r\n return differenceFromTop < acc.differenceFromTop\r\n ? {\r\n differenceFromTop,\r\n key,\r\n }\r\n : acc;\r\n }\r\n }\r\n },\r\n {\r\n differenceFromTop: 9999,\r\n key: '',\r\n }\r\n );\r\n\r\n if (selected) this.setState({ selected: selected.key });\r\n };\r\n\r\n // eslint-disable-next-line\r\n debounceScroll = debounce(this.handleScroll, this.props.debounceDelay || 50);\r\n\r\n registerRef = (id) => {\r\n const newRef = React.createRef();\r\n this.refList = { ...this.refList, [id]: newRef };\r\n return newRef;\r\n };\r\n\r\n scrollTo = (section) => {\r\n const { scrollBehavior: behavior } = this.props;\r\n const sectionRef = this.refList[section];\r\n if (!sectionRef) return console.warn('Section ID not recognized!');\r\n\r\n const top = sectionRef.current.offsetTop - 185;\r\n\r\n return this.setState({ selected: section }, () =>\r\n window.scrollTo({\r\n top,\r\n behavior,\r\n })\r\n );\r\n };\r\n\r\n render() {\r\n const { selected } = this.state;\r\n const { children } = this.props;\r\n\r\n const value = {\r\n registerRef: this.registerRef,\r\n scrollTo: this.scrollTo,\r\n refList: this.refList,\r\n selected,\r\n };\r\n return {children};\r\n }\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Consumer } from './scrollContext';\r\n\r\nconst Section = ({ id, children, ...rest }) => (\r\n \r\n {({ registerRef }) => (\r\n
    \r\n {children}\r\n
    \r\n )}\r\n
    \r\n);\r\n\r\nSection.propTypes = {\r\n /** Section ID */\r\n id: PropTypes.string.isRequired,\r\n /** Section content */\r\n children: PropTypes.node,\r\n};\r\n\r\nSection.defaultProps = {\r\n children: null,\r\n};\r\n\r\nexport default Section;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Consumer } from './scrollContext';\r\n\r\nconst SectionLink = ({ section, children }) => (\r\n \r\n {({ scrollTo, selected }) => {\r\n const onClick = () => scrollTo(section);\r\n const isSelected = selected === section;\r\n return children({ onClick, isSelected });\r\n }}\r\n \r\n);\r\n\r\nSectionLink.propTypes = {\r\n /** Section ID */\r\n section: PropTypes.string.isRequired,\r\n /** renderProp */\r\n children: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default SectionLink;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport CheckmarkFilled16 from '@carbon/icons-react/lib/checkmark--filled/16';\r\nimport CheckmarkOutline16 from '@carbon/icons-react/lib/checkmark--outline/16';\r\nimport { ScrollingProvider, Section, SectionLink } from '../../lib/react-scroll-section/src/index'\r\nimport Radio16 from '@carbon/icons-react/lib/radio-button/16'\r\n\r\n//const Menu = styled.ul`\r\n// position: fixed;\r\n// z-index: 1;\r\n// left: 50%;\r\n// transform: translateX(-50%);\r\n// display: table;\r\n// margin-left: auto;\r\n// margin-right: auto;\r\n// margin: 0;\r\n//`;\r\n\r\n//const Item = styled.li`\r\n// display: inline-block;\r\n// text-align: center;\r\n// cursor: pointer;\r\n// transition: all 0.25s;\r\n// margin: 0;\r\n// padding: 40px 10px;\r\n// font-weight: bold;\r\n// font-size: 20px;\r\n// user-select: none;\r\n// color: ${props => (props.selected ? \"#07689f\" : \"inherit\")};\r\n// border-top: 5px solid ${props =>\r\n// props.selected ? \"#ff7e67\" : \"transparent\"};\r\n//`;\r\n\r\nconst Menu = ({ children }) => (\r\n
      \r\n {children}\r\n
    \r\n);\r\n\r\nconst Item = ({ section, children }) => (\r\n \r\n {link => (\r\n
  • \r\n \r\n

    \r\n {children}\r\n

    \r\n
    \r\n

    \r\n
    \r\n\r\n \r\n
  • \r\n )}\r\n
    \r\n);\r\n\r\nexport { Item, Menu };\r\n\r\nexport default styled;\r\n","import { api, registry } from './api';\r\nimport CacheStorage from './CacheStorage';\r\nimport { v4 as uuid } from 'uuid';\r\n\r\nconst baseURL = `${process.env.REACT_APP_API_URL}api`;\r\n\r\nconst cacheStorage = new CacheStorage();\r\n\r\nconst getCachedDivisions = async () => {\r\n const url = `${baseURL}/me/divisions`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\nconst getCachedSubDivision = async () => {\r\n const url = `${baseURL}/division/subdivision`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\nconst getCacheBackPaged = async () => {\r\n const url = `${baseURL}/Reports/reportsummaries/filter`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\nconst getCachedActivity = async () => {\r\n const url = `${baseURL}/activity`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\nconst getCachedCompanies = async () => {\r\n const url = `${baseURL}/company`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\n\r\nconst getCachedProjects = async () => {\r\n const url = `${baseURL}/project`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\n\r\nconst getCachedWorkSites = async () => {\r\n const url = `${baseURL}/WorkSite?page=0`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\n\r\nconst getCachedCountry = async () => {\r\n const url = `${baseURL}/country`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\n\r\nconst getCachedStatus = async () => {\r\n const url = `${baseURL}/registry/status`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\nconst getCachedSubcontractors = async () => {\r\n const url = `${baseURL}/reports/subcontractors`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\nconst getCachedEnvironmentSchema = async (id) => {\r\n const url = `${baseURL}/reports/environmentschema/${id}`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\nconst getCachedReportEnvironment = async (id) => {\r\n const url = `${baseURL}/reports/environment/${id}`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\nconst getCachedReportSafety = async (id) => {\r\n const url = `${baseURL}/reports/safety/${id}`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\nconst getCachedReportAssetIntegrity = async (id) => {\r\n const url = `${baseURL}/reports/assetIntegrity/${id}`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\nconst geCachedLeasedAssetReportData = async (idReport) => {\r\n const url = `${baseURL}/reports/environment/${idReport}/leasedasset`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\nconst ReportRepository = {\r\n getDivisions: async () =>\r\n (await getCachedDivisions()) || (await api.getAll(`${baseURL}/me/divisions`)).data,\r\n getSubDivision: async () =>\r\n (await getCachedSubDivision()) || (await api.getAll(`${baseURL}/division/subdivision`)).data,\r\n getActivity: async () =>\r\n (await getCachedActivity()) || (await api.getAll(`${baseURL}/activity`)).data,\r\n getCompanies: async () =>\r\n (await getCachedCompanies()) || (await api.getAll(`${baseURL}/company`)).data,\r\n getProjects: async (company) => {\r\n const projects =\r\n (await getCachedProjects()) || (await api.getAll(`${baseURL}/me/project`)).data;\r\n if (company) return projects.filter((w) => w.idCompany === company);\r\n return projects;\r\n },\r\n getBackPaged: async () => {\r\n return await getCacheBackPaged();\r\n },\r\n getCountry: async () =>\r\n (await getCachedCountry()) || (await api.getAll(`${baseURL}/country`)).data,\r\n getStatus: async () =>\r\n (await getCachedStatus()) || (await api.getAll(`${baseURL}/registry/status`)).data,\r\n getWorkSites: async () =>\r\n (await getCachedWorkSites()) ||\r\n (await api.getWithParam('/WorkSite', { params: { page: 0 } })).data,\r\n getSubcontractors: async () => (await api.getAll(`${baseURL}/reports/subcontractors`)).data ||\r\n (await getCachedSubcontractors()),\r\n getListLeasedAssetReportData : async (id) => (await api.getAll(`${baseURL}/reports/environment/${id}/listleasedassets`)).data,\r\n getLeasedAssetById : async (idRport, id) => (await api.getAll(`${baseURL}/reports/environment/${idRport}/leasedasset/${id}`)).data,\r\n getEnvironmentSchema: async (id) =>\r\n (await getCachedEnvironmentSchema()) ||\r\n (await api.getAll(`${baseURL}/reports/environmentschema/${id}`)).data,\r\n getSafetyComputedField: async (id, idSubContractor) => {\r\n try {\r\n return (\r\n await api.getAll(\r\n `${baseURL}/reports/safety/computedFields/?id=${id}&idSubContractor=${idSubContractor}`\r\n )\r\n ).data;\r\n } catch {\r\n const computedField = {\r\n id: uuid(),\r\n isSaipem: false,\r\n idSubContractor: null,\r\n subContractor: null,\r\n averageManpower: null,\r\n workedManhours: null,\r\n fatalAccidents: 0,\r\n lostTimeInjuries: 0,\r\n workRestrictedCases: 0,\r\n medicalTreatments: 0,\r\n firstAidCases: 0,\r\n nearMissHS: 0,\r\n nearMissENV: 0,\r\n daysLost: 0,\r\n restrictedWorkDays: 0,\r\n commutingInjuries: 0,\r\n roadTrafficAccidents: 0,\r\n kmDriven: null,\r\n hseTrainingHours: null,\r\n jobSafetyAnalysis: null,\r\n toolBoxTalks: null,\r\n seniorManagementHSEVisits: null,\r\n hseInspections: null,\r\n hseMeetings: null,\r\n drillHS: null,\r\n drillENV: null,\r\n drillHSPlanned: null,\r\n drillENVPlanned: null,\r\n hazardObservationCards: 0,\r\n };\r\n return computedField;\r\n }\r\n },\r\n getReportEnvironment: async (id) =>\r\n (await api.getAll(`${baseURL}/reports/environment/${id}`)).data,\r\n getReportSafety: async (id) => (await api.getAll(`${baseURL}/reports/safety/${id}`)).data,\r\n getReportAssetIntegrity: async (id) =>\r\n (await api.getAll(`${baseURL}/reports/assetIntegrity/${id}`)).data,\r\n updateCachedReportList: async (data) => {\r\n const url = `${baseURL}/reports/reportsummaries/${data.id}`;\r\n await cacheStorage.updateCache(data, url);\r\n },\r\n updateCachedEnvironment: async (id, data) => {\r\n const url = `${baseURL}/reports/environment/${id}`;\r\n const dataCached = await getCachedReportEnvironment(id);\r\n if(dataCached){\r\n dataCached.oilSpillNumberEnvSampling = data.oilSpillNumberEnvSampling;\r\n dataCached.oilSpillRecoveredVolum = data.oilSpillRecoveredVolum;\r\n dataCached.oilSpillExistentOilResponse = data.oilSpillExistentOilResponse;\r\n dataCached.chemicalSpillNumberEnvSampling = data.chemicalSpillNumberEnvSampling;\r\n dataCached.chemicalSpillRecoveredVolum = data.chemicalSpillRecoveredVolum;\r\n dataCached.bottleWater = data.bottleWater;\r\n dataCached.waterSourceReportData = data.waterSourceReportData;\r\n dataCached.waterDischargedReportData = data.waterDischargedReportData;\r\n dataCached.waterReusedReportData = data.waterDischargedReportData;\r\n dataCached.wasteHazReportData = data.wasteHazReportData;\r\n dataCached.wasteNonHazReportData = data.wasteNonHazReportData;\r\n dataCached.energySourceReportData = data.energySourceReportData;\r\n dataCached.oilSpillReportData = data.oilSpillReportData;\r\n dataCached.chemicalSpillReportData = data.chemicalSpillReportData;\r\n dataCached.wasteMonetizationReportData = data.wasteMonetizationReportData;\r\n \r\n dataCached.waterSourceNotes = data.waterSourceNotes;\r\n dataCached.waterDischargedReusedNotes = data.waterDischargedReusedNotes;\r\n dataCached.waterHazNotes = data.waterHazNotes;\r\n dataCached.waterNonHazNotes = data.waterNonHazNotes;\r\n dataCached.energySourceNotes = data.energySourceNotes;\r\n dataCached.oilSpillNotes = data.oilSpillNotes;\r\n dataCached.chemicalSpillNotes = data.chemicalSpillNotes;\r\n dataCached.wasteMonetizationNotes = data.wasteMonetizationNotes;\r\n await cacheStorage.updateCache(dataCached, url)\r\n }\r\n;\r\n },\r\n updateCachedSafety: async (id, data) => {\r\n const url = `${baseURL}/reports/safety/${id}`;\r\n const dataCached = await getCachedReportSafety(id);\r\n //RITM0959400 - Undefined Error Message Fix\r\n if(dataCached){\r\n dataCached.safetyData = data;\r\n await cacheStorage.updateCache(dataCached, url);\r\n }\r\n //End\r\n },\r\n updateCachedAssetIntegrity: async (id, data) => {\r\n const url = `${baseURL}/reports/assetIntegrity/${id}`;\r\n const dataCached = await getCachedReportAssetIntegrity(id);\r\n dataCached.assetIntegrity = data;\r\n await cacheStorage.updateCache(dataCached, url);\r\n },\r\n updateReportDetail: async (data) => {\r\n let url;\r\n switch (data.discipline) {\r\n case 'Safety':\r\n url = `${baseURL}/reports/safety/${data.id}`;\r\n data.safetyData = [];\r\n // data.compiledBy= \"Francesco Pollice\"\r\n break;\r\n case 'Environment':\r\n url = `${baseURL}/reports/environment/${data.id}`;\r\n data.oilSpillNumberEnvSampling = 0;\r\n data.oilSpillRecoveredVolum = 0;\r\n data.oilSpillExistentOilResponse = false;\r\n data.chemicalSpillNumberEnvSampling = 0;\r\n data.chemicalSpillRecoveredVolum = 0;\r\n data.bottleWater = 0;\r\n // data.idReportEnvironment: \"f77593ab-db71-4b90-4993-08d7e05580f1\"\r\n data.waterSourceReportData = [];\r\n data.waterDischargedReportData = [];\r\n data.waterReusedReportData = [];\r\n data.wasteHazReportData = [];\r\n data.wasteNonHazReportData = [];\r\n data.energySourceReportData = [];\r\n data.leasedAssetReportData = [];\r\n data.oilSpillReportData = [];\r\n data.chemicalSpillReportData = [];\r\n data.wasteMonetizationReportData = [];\r\n break;\r\n default:\r\n url = `${baseURL}/reports/assetIntegrity/${data.id}`;\r\n data.assetIntegrity = {\r\n id: uuid(),\r\n vsc: 0,\r\n scEq: 0,\r\n scc: 0,\r\n scp: 0,\r\n scEqPS: 0,\r\n sccps: 0,\r\n scpps: 0,\r\n scEqPSES: 0,\r\n sccpses: 0,\r\n vscActionsOverdue: 0,\r\n vscActionsRaised: 0,\r\n closedMoC: 0,\r\n totalMoC: 0,\r\n overdueAIAudits: 0,\r\n plannedAIAudits: 0,\r\n overdueWOSafetyCriticalEquipment: 0,\r\n plannedWOSafetyCriticalEquipment: 0,\r\n scEqFailures: 0,\r\n sccCoveredByMT: 0,\r\n missingOrExpiredMT: 0,\r\n totalExpectedMT: 0,\r\n sccConveredByCompetence: 0,\r\n sctCoveredBySCPOrTFC: 0,\r\n totalSCT: 0,\r\n updatedEmergencyPlan: 0,\r\n };\r\n break;\r\n }\r\n\r\n await cacheStorage.updateCache(data, url);\r\n },\r\n updateReportFilter: async (data) => {\r\n const url = `${baseURL}/Reports/reportsummaries/filter`;\r\n await cacheStorage.updateCache(data, url);\r\n },\r\n updateReport: async (data) => {\r\n const url = `${baseURL}/Reports/reportsummaries`;\r\n await cacheStorage.updateCache(data, url);\r\n },\r\n updateLeasedAssetReportData: async (idReport, data) => (await api.put(`${baseURL}/reports/environment/${idReport}/leasedasset`, data)),\r\n updateCachedLeasedAssetReportData: async (idReport, data) => {\r\n const url = `${baseURL}/reports/environment/${idReport}/leasedasset`;\r\n const dataCached = await geCachedLeasedAssetReportData(idReport);\r\n dataCached.leasedAssetReportData = data;\r\n await cacheStorage.updateCache(dataCached, url);\r\n },\r\n createLeasedAssetReportData: async (idReport, data) => (await api.post(`${baseURL}/reports/environment/${idReport}/createleasedasset`, data)),\r\n preFetch: async () => {\r\n await api.getAll(`${baseURL}/Reports/reportsummaries?page=1&pageSize=10`);\r\n await api.getAll(`${baseURL}/Reports/reportsummaries?page=2&pageSize=10`);\r\n await api.getAll(`${baseURL}/Reports/reportsummaries?page=3&pageSize=10`);\r\n await api.getWithParam('/WorkSite', { params: { page: 0 } });\r\n await api.getAll(`${baseURL}/reports/environmentschema`);\r\n await api.getAll(`${baseURL}/reports/subcontractors`);\r\n await api.getAll('/me/worksitesproject');\r\n await registry.getAll('infooriginator');\r\n },\r\n deleteLeasedAssetReportData : async (idReport, id) => (await api.delete(`${baseURL}/reports/${idReport}/environment/leasedassetreportdata/`, id)),\r\n};\r\nexport default ReportRepository;\r\n","import React, { Component } from 'react';\r\nimport { MultiSelect, DropdownSkeleton } from 'carbon-components-react';\r\nimport isEqual from 'lodash.isequal';\r\nimport PropTypes from 'prop-types';\r\n\r\nexport default class MultiComboBox extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n shouldComponentUpdate(nextProps, nextState) {\r\n return !isEqual(nextProps, this.props);\r\n }\r\n\r\n render() {\r\n\r\n const {\r\n name,\r\n alt,\r\n onChange,\r\n id,\r\n items,\r\n ...initProps\r\n } = this.props;\r\n\r\n const _onChange = (selectedItem) => {\r\n const items = selectedItem ? selectedItem.selectedItems : null;\r\n\r\n return this.props.onChange(name, items, alt);\r\n };\r\n return this.props.loading ? (\r\n \r\n ) : (\r\n \r\n );\r\n }\r\n}\r\n\r\nMultiComboBox.defaultProps = {\r\n invalid: false,\r\n invalidText: '',\r\n initialSelectedItems: [],\r\n disabled: true\r\n};\r\n","import React from 'react';\r\nimport isEqual from 'lodash.isequal';\r\nimport '../scss/emailchips.scss';\r\nimport WarningFilled16 from '@carbon/icons-react/lib/warning--filled/16';\r\nimport PropTypes from 'prop-types';\r\n\r\nexport default class EmailChips extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n value: '',\r\n error: null,\r\n };\r\n }\r\n\r\n shouldComponentUpdate(nextProps, nextState) {\r\n return !isEqual(nextProps, this.props) || !isEqual(nextState, this.state);\r\n }\r\n\r\n handleChange = (evt) => {\r\n this.setState({\r\n value: evt.target.value,\r\n error: null,\r\n });\r\n };\r\n\r\n clearInput = () => {\r\n this.setState({ value: '' });\r\n };\r\n\r\n setError = (error) => {\r\n this.setState({ error });\r\n };\r\n\r\n convertItems = (value, type, outType) => {\r\n if (!value) return outType === 'text' ? '' : [];\r\n\r\n if (type === outType) return value;\r\n\r\n if (outType === 'text') {\r\n return value.join();\r\n }\r\n // array\r\n return value.split(',');\r\n };\r\n\r\n render() {\r\n const items = this.convertItems(this.props.value, this.props.type, 'array');\r\n\r\n function isInList(email) {\r\n return items.includes(email);\r\n }\r\n\r\n function isEmail(email) {\r\n return /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/.test(email);\r\n }\r\n\r\n const isValid = (email) => {\r\n let error = null;\r\n\r\n if (isInList(email)) {\r\n error = `${email} has already been added.`;\r\n }\r\n\r\n if (!isEmail(email)) {\r\n error = `${email} is not a valid email address.`;\r\n }\r\n\r\n if (error) {\r\n this.setError(error);\r\n return false;\r\n }\r\n\r\n return true;\r\n };\r\n\r\n const handleSave = (array) => {\r\n this.props.onChange(this.convertItems(array, 'array', this.props.type));\r\n };\r\n\r\n const handleKeyDown = (evt) => {\r\n if (['Enter', 'Tab', ','].includes(evt.key)) {\r\n evt.preventDefault();\r\n\r\n const value = this.state.value.trim();\r\n\r\n if (value && isValid(value)) {\r\n const array = [...items, this.state.value];\r\n handleSave(array);\r\n this.clearInput();\r\n }\r\n }\r\n };\r\n\r\n const handleDelete = (item) => {\r\n const array = items.filter((i) => i !== item);\r\n handleSave(array);\r\n };\r\n\r\n const handlePaste = (evt) => {\r\n evt.preventDefault();\r\n const paste = evt.clipboardData.getData('text');\r\n const emails = paste.match(/[\\w\\d\\.-]+@[\\w\\d\\.-]+\\.[\\w\\d\\.-]+/g);\r\n\r\n if (emails) {\r\n const toBeAdded = emails.filter((email) => isEmail(email) && !isInList(email));\r\n\r\n const array = [...items, ...toBeAdded];\r\n handleSave(array);\r\n this.clearInput();\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n {this.state.error || this.props.invalid ? (\r\n \r\n ) : null}\r\n \r\n
    \r\n {this.state.error &&

    {this.state.error}

    }\r\n\r\n {items.map((item) => (\r\n
    \r\n {item}\r\n {this.props.disabled ? null : (\r\n \r\n )}\r\n
    \r\n ))}\r\n
    \r\n );\r\n }\r\n}\r\nEmailChips.propTypes = {\r\n invalid: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n placeholder: PropTypes.string,\r\n onChange: PropTypes.func.isRequired,\r\n type: PropTypes.string,\r\n value: PropTypes.string,\r\n};\r\nEmailChips.defaultProps = {\r\n invalid: false,\r\n disabled: true,\r\n placeholder: '',\r\n type: 'text',\r\n value: '',\r\n};\r\n","import { Delete16, Download16 } from \"@carbon/icons-react\";\r\nimport { Button, DropdownSkeleton, FormGroup, FormLabel, Table, TableBody, TableCell, TableContainer, TableHead, TableHeader, TableRow, TextInputSkeleton } from \"carbon-components-react\";\r\nimport PropTypes from \"prop-types\";\r\nimport React, { Component } from \"react\";\r\nimport { registry } from \"../../helpers/api/api\";\r\nimport { apioperation, entitiesLabels, getError, Megabyte } from \"../../helpers/Constants\";\r\nimport { NoRecordsPlaceholder } from \"../../helpers/jsonschemaform/DataTableExtention\";\r\nimport showNotification from \"../../helpers/notification/BaseNotification\";\r\nimport FileDownLoadButton from \"./FileDownloadButton\";\r\nimport FileUpload from \"./FileUpload\";\r\nimport { Online } from \"./OnLineOffLine\";\r\n\r\nexport const attachmentTablePrivacyText = \"(It is forbidden to upload photos which show people's faces. It is also forbidden to upload photos on which it is possible to recognize specific people)\"\r\nexport default class AttachmentTable extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\tappStatus: null,\r\n\t\t};\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t\tthis.getStatus();\r\n\t}\r\n\r\n\tgetStatus = () => {\r\n\t\tregistry\r\n\t\t\t.getAll(\"status\")\r\n\t\t\t.then((response) => {\r\n\t\t\t\tconst { data } = response;\r\n\t\t\t\tthis.setState({ appStatus: data });\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.STATUS, apioperation.GET));\r\n\t\t\t});\r\n\t};\r\n\r\n\tremove = (id) => this.props.onDeleteFile(id);\r\n\r\n\tonUpload = (fileIdentifier, fileName, fileType, size) => {\r\n\t\tthis.props.onUploadFIle(fileIdentifier, fileName, fileType, size);\r\n\t};\r\n\r\n\tsumAttachmentSize = (onlyImage = false) => {\r\n\t\tlet sum = 0\r\n\t\tif(onlyImage) sum = this.props.items?.filter(a => a.attachment.contentType.includes('image') && a.attachment.size).reduce((sum, item) => sum + +item.attachment.size, 0);\r\n\t\telse sum = this.props.items?.reduce((prevSum, item) => prevSum + +item.attachment.size, 0);\r\n\t\treturn sum;\r\n\t};\r\n\r\n\trenderUploadFile() {\r\n\t\tif (!this.props.model) return ;\r\n\t\tif (!this.state.appStatus) return ;\r\n\t\tconst canUploadOtherDocument = this.props.maxUploadDocument == null ? true : (this.props.items?.length ?? 0) < this.props.maxUploadDocument;\r\n\t\treturn (\r\n\t\t\tcanUploadOtherDocument &&\r\n\t\t\t!this.props.isDisabled && (\r\n\t\t\t\t\r\n\t\t\t)\r\n\t\t);\r\n\t}\r\n\r\n\trender() {\r\n\t\tconst isDocumentTypeSpecified = this.props.items?.some((item) => item.documentType);\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t
    \r\n\t\t\t\t\t{this.renderUploadFile()}\r\n\t\t\t\t
    \r\n\r\n\t\t\t\t
    \r\n\t\t\t\t\tAttachments\r\n\t\t\t\t\t{!this.props.model ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : !this.state.appStatus ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tName\r\n\t\t\t\t\t\t\t\t\t\t{isDocumentTypeSpecified && Document Type}\r\n\t\t\t\t\t\t\t\t\t\tActions\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{this.props.items == null || this.props.items.length === 0 ? (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\tthis.props.items.map((item) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{item.attachment?.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{isDocumentTypeSpecified && {item.attachment?.documentType ?? \"\"}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t showNotification.error(getError(error, null, apioperation.DOWNLOAD))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trenderIcon={Download16}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticonDescription=\"Download\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkind=\"ghost\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tapiUrl={this.props.apiDownloadUrl + item.attachment?.fileIdentifier}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfileName={item.attachment?.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonDownLoadStart={() => {}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonDownLoadEnd={() => {}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t))\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t\r\n\t\t);\r\n\t}\r\n}\r\n\r\nAttachmentTable.propTypes = {\r\n\tmodel: PropTypes.object,\r\n\titems: PropTypes.array,\r\n\tapiDownloadUrl: PropTypes.string,\r\n\tisDisabled: PropTypes.bool,\r\n};\r\n","import React, { Component } from 'react';\r\nimport { Button, FileUploader, InlineNotification } from 'carbon-components-react';\r\nimport uploadIcon from '@carbon/icons-react/lib/upload/16';\r\nimport PropTypes from 'prop-types';\r\nimport { fileUpload } from '../../helpers/api/api';\r\nimport {Megabyte, entitiesLabels} from '../../helpers/Constants';\r\nimport { attachmentTablePrivacyText } from './AttachmentTable';\r\n\r\nexport default class FileUpload extends Component {\r\n fileUploader;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n canUpload: false,\r\n isFileValid: true,\r\n validationErrorTitle: '',\r\n validationErrorSubTitle: '',\r\n statusUpload: 'edit',\r\n };\r\n this.onFileUploadChange = this.onFileUploadChange.bind(this);\r\n this.clearFiles = this.clearFiles.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n }\r\n\r\n clearFiles = () => {\r\n this.fileUploader.clearFiles();\r\n this.setState(() => ({\r\n canUpload: false,\r\n isFileValid: true,\r\n validationErrorTitle: '',\r\n validationErrorSubTitle: '',\r\n }));\r\n };\r\n \r\n isTotalFilesSizeExceeded = (file, isImagefile) => {\r\n const totalImageSizeLimitExceeded = isImagefile ? this.props.sumImageAttachmentSize + file.size >= Megabyte.THREEMEGABYTE : false;\r\n const totalFilesSizeLimitExceeded = this.props.totalFilesSizeLimit != null ? this.props.sumAttachmentSize + file.size >= this.props.totalFilesSizeLimit : false\r\n\t\treturn totalImageSizeLimitExceeded || totalFilesSizeLimitExceeded;\r\n\t};\r\n\r\n\tisSingleFileSizeExceeded = (file, isImagefile) => {\r\n\t\tif (isImagefile) return file.size >= Megabyte.THREEMEGABYTE;\r\n\t\tconst singleFileSizeLimit = this.props.singleFileSizeLimit ?? Megabyte.FOURMEGABYTE * 2;\r\n\t\treturn file.size >= singleFileSizeLimit;\r\n\t};\r\n\r\nonFileUploadChange = (evt) => {\r\n\t\tthis.setState(() => ({ statusUpload: \"edit\" }));\r\n\t\tconst file = evt.target.files[0] ?? null;\r\n\t\tif (file === null) return;\r\n\r\n\t\tconst fileName = file.name;\r\n\t\tconst isImagefile = file.type.includes(\"image\");\r\n\t\tlet validationErrorTitle = \"\";\r\n\t\tlet validationErrorSubTitle = \"\";\r\n\r\n\t\tswitch (true) {\r\n\t\t\tcase this.isSingleFileSizeExceeded(file, isImagefile):\r\n\t\t\t\tvalidationErrorTitle = `${fileName} exceeds size limit.`;\r\n\t\t\t\tvalidationErrorSubTitle = `${isImagefile ? entitiesLabels.THREEMEGABYTEMAXSIZE : (this.props.maxSingleSizeErrorLabel ?? entitiesLabels.EIGHTMEGABYTEMAXSIZE) + \".\"} ${entitiesLabels.SELECTNEWFILE}`;\r\n\t\t\t\tbreak;\r\n\t\t\tcase this.isTotalFilesSizeExceeded(file, isImagefile):\r\n\t\t\t\tvalidationErrorTitle = `Sum of file size exceeds size limit. ${isImagefile ? `(${this.availableImageAttachmentSize(Megabyte.THREEMEGABYTE)}).` : \"\"}`;\r\n\t\t\t\tvalidationErrorSubTitle = `${isImagefile ? \"The sum of the size of the images cannot exceed 3MB\" : this.props.maxTotalSizeErrorLabel ?? entitiesLabels.EIGHTMEGABYTEMAXSIZE}. ${entitiesLabels.SELECTNEWFILE}`;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t}\r\n\r\n\t\tconst anyError = Boolean(validationErrorTitle || validationErrorSubTitle);\r\n\t\tthis.setState(() => ({\r\n\t\t\tcanUpload: !anyError,\r\n\t\t\tisFileValid: !anyError,\r\n\t\t\tvalidationErrorTitle,\r\n\t\t\tvalidationErrorSubTitle,\r\n\t\t}));\r\n\t};\r\n\r\n handleSubmit = async (event) => {\r\n event.preventDefault();\r\n this.setState(() => ({\r\n canUpload: false,\r\n isFileValid: true,\r\n validationErrorTitle: '',\r\n validationErrorSubTitle: '',\r\n statusUpload: 'uploading',\r\n }));\r\n const file = event.target.inputFile.files[0];\r\n const fileName = file.name;\r\n const fileIdentifier = `${this.props.StoragePath}_${new Date().getTime()}_${fileName}`;\r\n const formData = new FormData();\r\n formData.append('File', file);\r\n formData.append('Container', this.props.Container);\r\n formData.append('StoragePath', this.props.StoragePath);\r\n formData.append('FileIdentifier', fileIdentifier);\r\n\r\n try {\r\n await fileUpload.post(formData);\r\n const data = { identifier: fileName, blobName: fileIdentifier };\r\n this.setState(() => ({\r\n canUpload: false,\r\n isFileValid: true,\r\n validationErrorTitle: '',\r\n validationErrorSubTitle: '',\r\n statusUpload: 'complete',\r\n }));\r\n this.fileUploader.clearFiles();\r\n this.props.onUpload(data, file.name, file.type, file.size);\r\n } catch (error) {\r\n console.error(error);\r\n this.setState(() => ({\r\n canUpload: true,\r\n isFileValid: false,\r\n validationErrorTitle: 'An error occurred while uploading file: ',\r\n validationErrorSubTitle: error.message,\r\n statusUpload: 'edit',\r\n }));\r\n }\r\n };\r\n\r\navailableImageAttachmentSize = (sizeLimit) => {\r\n const sumOfImageAttachedSize = this.props.sumImageAttachmentSize ?? 0\r\n\t\tif (Megabyte.THREEMEGABYTE - sumOfImageAttachedSize > 0) return `${((sizeLimit - sumOfImageAttachedSize) / Megabyte.ONEMEGABYTE).toFixed(2)} ${entitiesLabels.MBAVAILABLE}`;\r\n\t\treturn `0 ${entitiesLabels.MBAVAILABLE}`;\r\n\t};\r\n\r\n createCustomDescriptionForImage = () =>{\r\n const availableImageSize = this.props.sumImageAttachmentSize != null ? (\"(\" + this.availableImageAttachmentSize(Megabyte.THREEMEGABYTE) + \")\") : \"\"\r\n return `${this.props.acceptDescription} ${entitiesLabels.MAXSUMIMAGESIZE} ${availableImageSize}.`\r\n }\r\n\r\n returnDescription = () => {\r\n if(!this.props.acceptDescription) return \"only files at 8mb or less\"\r\n if(this.props.acceptDescription && this.props.accept?.includes('.jpeg')) return this.createCustomDescriptionForImage()\r\n return this.props.acceptDescription\r\n }\r\n\r\n render() {\r\n const notification = !this.state.isFileValid ? (\r\n {}}\r\n role=\"alert\"\r\n subtitle={this.state.validationErrorSubTitle}\r\n title={this.state.validationErrorTitle}\r\n />\r\n ) : null;\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n (this.fileUploader = node)}\r\n accept={this.props.accept ? this.props.accept :['.doc', '.docx', '.xls', '.xlsx', '.pptx', '.pptm', '.ppt', '.pdf','.jpeg', '.jpg', '.png', '.gif' ]}\r\n buttonKind=\"primary\"\r\n buttonLabel=\"Choose a file\"\r\n title= {this.props.title ?? null}\r\n filenameStatus={this.state.statusUpload}\r\n iconDescription=\"Choose\"\r\n labelDescription={this.returnDescription()}\r\n labelTitle={this.props.customMainDescription ?? attachmentTablePrivacyText}\r\n multiple={false}\r\n name=\"inputFile\"\r\n onClick={this.clearFiles}\r\n onChange={this.onFileUploadChange}\r\n disabled={this.props.disabled}\r\n className=\"bx--content-detail\"\r\n sumAttachmentSize = {this.props.sumAttachmentSize}\r\n />\r\n \r\n Clear selected file\r\n \r\n {this.state.canUpload ? (\r\n \r\n Upload\r\n \r\n ) : (\r\n \r\n Upload\r\n \r\n )}\r\n
    \r\n
    \r\n {notification}\r\n
    \r\n );\r\n }\r\n}\r\nFileUpload.propTypes = {\r\n Container: PropTypes.string,\r\n StoragePath: PropTypes.string,\r\n disabled: PropTypes.bool,\r\n onUpload: PropTypes.func.isRequired,\r\n};\r\nFileUpload.defaultProps = {\r\n Container: 'saipem',\r\n StoragePath: '',\r\n disabled: true,\r\n};\r\n","/* eslint-disable import/prefer-default-export */\r\n/* eslint-disable react/sort-comp */\r\nimport React, { Component } from 'react';\r\nimport {\r\n Button,\r\n Table,\r\n TableContainer,\r\n TableHead,\r\n TableHeader,\r\n TableBody,\r\n TableRow,\r\n TableCell,\r\n ComposedModal,\r\n ModalHeader,\r\n ModalBody,\r\n TableToolbar,\r\n FormGroup,\r\n} from 'carbon-components-react';\r\nimport { v4 as uuid } from 'uuid';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { Delete16, Add16, Download16 } from '@carbon/icons-react';\r\nimport FileUpload from '../common/FileUpload';\r\nimport { NoRecordsPlaceholder } from '../../helpers/jsonschemaform/DataTableExtention';\r\nimport { ComboBox } from '../../helpers/ComboBox';\r\nimport { api } from '../../helpers/api/api';\r\nimport { getError, entitiesLabels, apioperation } from '../../helpers/Constants';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport FileDownLoadButton from '../common/FileDownloadButton';\r\nimport { Online, Offline } from '../common/OnLineOffLine';\r\nconst AttachmentTypes = [\r\n 'Accident Investigation Report (Signed)',\r\n 'Pictures',\r\n 'Sketches',\r\n 'Medical Reports',\r\n 'HSE Training',\r\n 'Tool Box Talks',\r\n 'Permit To Work',\r\n 'Job Safety Analysis',\r\n 'Witness Statement',\r\n 'Other Documentation (specify)',\r\n];\r\nconst AttachmentTypesNotification = ['Pictures', 'Files'];\r\n\r\nexport class IncidentAttachment extends Component {\r\n clearAttachment = () => ({\r\n id: null, // guid\r\n fileIdentifier: null,\r\n name: null,\r\n contentType: null,\r\n size: null,\r\n type: null,\r\n });\r\n\r\n initialState = (props) => ({\r\n idIncident: props.idIncident, // guid\r\n attachment: this.clearAttachment(),\r\n attachmentTypes: this.props.flagNotificationTab ? AttachmentTypesNotification : AttachmentTypes,\r\n key: `modalAtt_${new Date().getTime()}`,\r\n isOpenModal: false,\r\n });\r\n\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator();\r\n this.state = {\r\n ...this.initialState(props),\r\n };\r\n }\r\n\r\n toggleModal = (open) => {\r\n this.setState({\r\n isOpenModal: open,\r\n attachmentTypes: this.props.flagNotificationTab\r\n ? AttachmentTypesNotification\r\n : AttachmentTypes,\r\n });\r\n };\r\n\r\n addAttachment = () => {\r\n this.setState({ key: `modalAtt_${new Date().getTime()}`, isOpenModal: true });\r\n };\r\n\r\n downloadAttachment = async (item) => {\r\n try {\r\n // this.setState({ downloading: id });\r\n const file = (\r\n await api.getBlob(\r\n `/incident/${this.state.idIncident}/attachment/${item.attachment.fileIdentifier}`\r\n )\r\n ).data;\r\n return this.downloadFile(file, item.attachment.name);\r\n } catch (error) {\r\n return showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.FileUpload, apioperation.GET)\r\n );\r\n } finally {\r\n // this.setState({ downloading: null });\r\n }\r\n };\r\n\r\n downloadFile(blob, fileName) {\r\n if (navigator.msSaveBlob) {\r\n // IE 10+\r\n navigator.msSaveBlob(blob, fileName);\r\n } else {\r\n const link = document.createElement('a');\r\n // Browsers that support HTML5 download attribute\r\n if (link.download !== undefined) {\r\n const url = URL.createObjectURL(blob);\r\n link.setAttribute('href', url);\r\n link.setAttribute('download', fileName);\r\n link.style.visibility = 'hidden';\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n }\r\n }\r\n\r\n // downloadAttachment(item) {\r\n // incident.getAttachment(this.state.idIncident, { params: { filePath: item.attachment.filePath } })\r\n // .then(response => {\r\n // window.open(response.data);\r\n\r\n // }).catch(error => {\r\n // showNotification.error(getError(error, entitiesLabels.ATTACHMENT, apioperation.POST));\r\n\r\n // }).finally(() => {\r\n\r\n // });\r\n // }\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n\r\n this.setState(statusCopy);\r\n };\r\n\r\n onUpload = (fileIdentifier, fileName, fileType, size) => {\r\n var last = fileName.split('.').pop();\r\n if (\r\n this.state.attachment.type === 'Pictures' &&\r\n //RITM1019407\r\n last.toLowerCase() !== 'jpeg' &&\r\n last.toLowerCase() !== 'jpg' &&\r\n last.toLowerCase() !== 'png' &&\r\n last.toLowerCase() !== 'PNG' &&\r\n last.toLowerCase() !== 'gif'\r\n //End\r\n ) {\r\n return showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n 'This format cannot be accepted'\r\n );\r\n }\r\n if (\r\n this.state.attachment.type === 'Files' &&\r\n //RITM1019407\r\n last.toLowerCase() !== 'doc' &&\r\n last.toLowerCase() !== 'docx' &&\r\n last.toLowerCase() !== 'xls' &&\r\n last.toLowerCase() !== 'xlsx' &&\r\n last.toLowerCase() !== 'ppt' &&\r\n last.toLowerCase() !== 'pptx' &&\r\n last.toLowerCase() !== 'zip' &&\r\n last.toLowerCase() !== 'txt' &&\r\n last.toLowerCase() !== 'pdf'\r\n //End\r\n ) {\r\n return showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n 'This format cannot be accepted'\r\n );\r\n }\r\n if (\r\n this.props.flagNotificationTab === true &&\r\n this.state.attachment.type === 'Pictures' &&\r\n size >= 3145728\r\n ) {\r\n return showNotification.warning(`${entitiesLabels.WARNING}`, 'Image size too large');\r\n } else {\r\n const attachment = { ...this.state.attachment };\r\n\r\n attachment.id = uuid();\r\n attachment.fileIdentifier = fileIdentifier.blobName;\r\n attachment.name = fileName;\r\n attachment.contentType = fileType;\r\n attachment.size = size;\r\n // attachment.filePath = file.localPath;\r\n\r\n this.toggleModal(false);\r\n this.setState({\r\n attachment: this.clearAttachment(),\r\n });\r\n return this.props.addNewAttachment(attachment);\r\n }\r\n };\r\n\r\n remove = (id) => {\r\n this.props.removeAttachment(id);\r\n };\r\n\r\n calculateImageAttachmentSize = () => {\r\n return this.props.attachments?.filter(a => a.attachment.contentType.includes('image') && a.attachment.size).reduce((prev, cur) => prev = prev + Number(cur.attachment.size) , 0 )\r\n };\r\n\r\n render() {\r\n const validations = {\r\n type: this.validator.message('type', this.state.attachment.type, 'required'),\r\n file: this.validator.message('type', this.state.attachment.id, 'required'),\r\n };\r\n const rows = this.props.attachments || [];\r\n\r\n const modalHeader = {\r\n title: 'Add new',\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.toggleModal(false),\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n \r\n

    \r\n {!this.props.isDisabled && (\r\n {\r\n this.addAttachment();\r\n }}\r\n renderIcon={Add16}\r\n >\r\n Add new\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n Name\r\n Type\r\n Size\r\n Actions\r\n \r\n \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n rows.map((item, index) => (\r\n \r\n {item.attachment.name}\r\n {item.attachment.type}\r\n {`${(Number(item.attachment.size)/(1024*1024)).toFixed(2)} MB`}\r\n \r\n
    \r\n \r\n {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(\r\n error,\r\n entitiesLabels.INCIDENT_NOTIFICATION,\r\n apioperation.DOWNLOAD\r\n )\r\n );\r\n }}\r\n size=\"small\"\r\n renderIcon={Download16}\r\n iconDescription=\"Download\"\r\n kind=\"ghost\"\r\n apiUrl={`/incident/${this.state.idIncident}/attachment/${item.attachment.fileIdentifier}`}\r\n fileName={item.attachment.name}\r\n onDownLoadStart={() => {}}\r\n onDownLoadEnd={() => {}}\r\n />\r\n {!this.props.isDisabled && (\r\n this.remove(item.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n />\r\n )}\r\n \r\n \r\n {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(\r\n error,\r\n entitiesLabels.INCIDENT_NOTIFICATION,\r\n apioperation.DOWNLOAD\r\n )\r\n );\r\n }}\r\n size=\"small\"\r\n renderIcon={Download16}\r\n iconDescription=\"Download\"\r\n kind=\"ghost\"\r\n apiUrl={`/incident/${this.state.idIncident}/attachment/${item.attachment.fileIdentifier}`}\r\n fileName={item.attachment.name}\r\n onDownLoadStart={() => {}}\r\n onDownLoadEnd={() => {}}\r\n />\r\n {!this.props.isDisabled && (\r\n this.remove(item.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n disabled={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 this.toggleModal(false)}\r\n >\r\n \r\n

    Attachment

    \r\n
    \r\n \r\n {this.state.isOpenModal ? (\r\n
    \r\n
    \r\n
    \r\n \r\n item || ''}\r\n items={this.state.attachmentTypes}\r\n invalid={validations.type != null}\r\n />\r\n {validations.type}\r\n \r\n
    \r\n
    \r\n \r\n {this.state.attachment.type && (\r\n \r\n )}\r\n {validations.file}\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\n );\r\n }\r\n}\r\n","import { Accordion, AccordionItem, Table, TableBody, TableCell, TableContainer, TableHead, TableHeader, TableRow } from \"carbon-components-react\";\r\nimport React from \"react\";\r\n//RITM0615454_DEV615_MatriciOutcomes\r\nexport default function AssestmentLevelTableLegend() {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tCONSEQUENCE\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tSEVERITY OF INCIDENT\r\n\t\t\t\t\t\t\t\tINJURY TO PERSONS\r\n\t\t\t\t\t\t\t\tDAMAGE TO ASSETS\r\n\t\t\t\t\t\t\t\tEFFECTS ON ENVIRONMENT\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tSPATIAL EXTENSION\r\n\t\t\t\t\t\t\t\tIMPACT ON HIGH VULNERABLE AREAS\r\n\t\t\t\t\t\t\t\tCLEAN UP INTERVENTION/REMEDIATION\r\n\t\t\t\t\t\t\t\tLOCAL COMMUNITIES IMPACT\r\n\t\t\t\t\t\t\t\tREQUIREMENTS/AUTHORITIES\r\n\t\t\t\t\t\t\t\tREPUTATIONAL IMPACT\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t1 Negligible\r\n\t\t\t\t\t\t\t\tSlight injury or limited health effects(First Aid)\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tSlight damage
    No disruption to operation\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\tInvolve a negligible area (around few meters) inside the Company’s premises and do not spread into the environment\r\n\t\t\t\t\t\t\t\tNot impacted\r\n\t\t\t\t\t\t\t\tManaged with internal emergency team\r\n\t\t\t\t\t\t\t\tNot impacted\r\n\t\t\t\t\t\t\t\tReporting not necessary\r\n\t\t\t\t\t\t\t\tNot reported in the news\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t2 Low\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tMinor injury\r\n\t\t\t\t\t\t\t\t\t
    Effects on health (Medical Treatment or Work restricted case)\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tMinor damage
    Brief disruption (cost10K€-100K€ or 1day downtime)\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\tInvolve a small area inside the Company’s premises, contained before spreading into the environment\r\n\t\t\t\t\t\t\t\tNot impacted\r\n\t\t\t\t\t\t\t\tManaged with internal emergency team\r\n\t\t\t\t\t\t\t\tNot impacted\r\n\t\t\t\t\t\t\t\tReported to Local authority without any fines\r\n\t\t\t\t\t\t\t\tNot reported in the news\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t3 Medium\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tSerious injury or health effects or temporary or permanent total invalidity\r\n\t\t\t\t\t\t\t\t\t
    (Lost Time Injury)
    {\" \"}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tLocal damage
    Partial disruption (cost 100k€-500k€ or 1-7 days downtime)\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\tInvolve a medium area (within the Company premises, or at most within a few km), spreading into the environment with short term effects\r\n\t\t\t\t\t\t\t\tNot impacted\r\n\t\t\t\t\t\t\t\tManaged with internal emergency team\r\n\t\t\t\t\t\t\t\tMight be impacted with no lasting effect\r\n\t\t\t\t\t\t\t\tReported to Local authority (Port Authority, etc) with negligible fines\r\n\t\t\t\t\t\t\t\tReported in Local News\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t4 High\r\n\t\t\t\t\t\t\t\tSingle fatality \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tMajor damage
    Major disruption(cost 500k€-3M€ or 1-2 weeks downtime)\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\tInvolve a wide area (out of the Company premises) spreading into the environment with medium term effects\r\n\t\t\t\t\t\t\t\tImpacted with short term effect\r\n\t\t\t\t\t\t\t\tRequired the intervention of external facilities\r\n\t\t\t\t\t\t\t\tImpacted with short term effect (up to few months effect)\r\n\t\t\t\t\t\t\t\tReported to National authority (inspections, fines, stop of operations) with not negligible fines\r\n\t\t\t\t\t\t\t\tReported in National News\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t5 Very High\r\n\t\t\t\t\t\t\t\tMultiple fatalities\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tExtensive damage
    Very mayor disruption (cost 3M€-10M€ or more than 2 weeks downtime)\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\tInvolve a wide/extensive area (out of the Company premises) spreading into the environment with long term effects\r\n\t\t\t\t\t\t\t\tImpacted with medium or long term effect\r\n\t\t\t\t\t\t\t\tRequired the intervention of external facilities or remediation not possible\r\n\t\t\t\t\t\t\t\tImpacted with medium or long term effect (significative time spawn effect)\r\n\t\t\t\t\t\t\t\tReported to National authority (inspections, fines, stop of operations) with not negligible fines\r\n\t\t\t\t\t\t\t\tReported in International News\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n}\r\n","import { RadioButton, Table, TableBody, TableCell, TableContainer, TableHead, TableHeader, TableRow, TooltipIcon } from \"carbon-components-react\";\r\nimport React, { Component } from \"react\";\r\nimport AssestmentLevelTableLegend from \"./AssestmentLevelTableLegend\";\r\nimport { v4 as uuid } from 'uuid';\r\n//RITM0615454_DEV615_MatriciOutcomes\r\n //const props = {\r\n //\tvalidations: {},\r\n //\toutcomeModel,\r\n //\tappMatrixCell,\r\n //\tappMatrixColor,\r\n //\tappProbabilities,\r\n // appSeveritiesInvestigation,\r\n // isDisabled,\r\n //\thandleChangeAssestmentLevel: () => 0,\r\n //};\r\n\r\nclass AssestmentLevelTable extends Component {\r\n\tconstructor(props){\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\tidTable: uuid()\r\n\t\t}\r\n\t}\r\n\tgetTooltip(item) {\r\n\t\tif (!item) return;\r\n\t\tconst tooltipObj = {\r\n\t\t\t1: \"Never occurred in the Oil&Gas sector.\",\r\n\t\t\t2: \"Already occurred in the Oil&Gas sector. Similar occurrences have already been recorded in the Oil&Gas sector. \",\r\n\t\t\t3: \"Already occurred in the Company. Some similar occurrences have already been recorded in the Saipem group (less than once a year). \",\r\n\t\t\t4: \"It has occurred many times in the Company. Many occurrences have already been recorded in the Saipem group (more than once a year). \",\r\n\t\t\t5: \"It has occurred on the site many times a year. Many occurrences have already been recorded at one particular branch in the Saipem group (more than once a year). \",\r\n\t\t};\r\n\r\n\t\treturn tooltipObj[item.code];\r\n\t}\r\n\r\n\thandleChangeRadio = (value, property) => {\r\n\t\tconst [propertyName ]= property.split(\"_\")\r\n\t\tthis.props.handleChangeRadioAssestmentLevel(value, propertyName, this.props.outcomeModel.idOutcome)\r\n\t}\r\n\r\n\trenderMatrixCell = (item) => {\r\n\t\tconst idTable = this.state.idTable\r\n\t\tconst row = this.props.appMatrixCell[item.code];\r\n\t\tconst idSeverity = this.props.outcomeModel?.idInvestigationLevelPotentialConsequenceSeverity;\r\n\t\tconst idProbability = this.props.outcomeModel?.idInvestigationLevelPotentialConsequenceProbability;\r\n\t\tconst idRealConsequenceSeverity = this.props.outcomeModel?.idInvestigationLevelRealConsequenceSeverity\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{\"Level \" + item.code + \" - \" + item.name}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{this.props.appProbabilities.map((prob) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t this.props.handleChangeInvestigationLvlPotCons(value, this.props.outcomeModel.idOutcome)}\r\n\t\t\t\t\t\t\tchecked={idSeverity == item.id && idProbability == prob.id}\r\n\t\t\t\t\t\t\tdisabled={this.props.isDisabled}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\trender() {\r\n\t\tconst { validations, appMatrixCell, appMatrixColor, appSeveritiesInvestigation } = this.props;\r\n\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t

    Assessment - Level

    \r\n\t\t\t\t\t\t{this.props.automaticallyCalculated && (Automatically calculated after saving)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tInvestigation Level For Real Consequences*\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tInvestigation Level For Potential Consequences*\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{this.props.appProbabilities.map((item) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{appMatrixCell && appMatrixColor && appSeveritiesInvestigation.map((item) => this.renderMatrixCell(item))}\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{validations.idInvestigationLevelRealConsequenceSeverity}\r\n\t\t\t\t\t\t\t\t\t{validations.idInvestigationLevelPotentialConsequenceSeverity}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t);\r\n\t}\r\n}\r\n\r\nexport default AssestmentLevelTable;\r\n","import React, { Component } from 'react';\r\nimport {\r\n TextInput,\r\n Button,\r\n Table,\r\n DatePickerInput,\r\n DatePicker,\r\n StructuredListCell,\r\n StructuredListBody,\r\n Toggle,\r\n ToggleSmall,\r\n ModalWrapper,\r\n StructuredListHead,\r\n StructuredListRow,\r\n Form,\r\n Accordion,\r\n AccordionItem,\r\n DataTable,\r\n StructuredListWrapper,\r\n TableContainer,\r\n TableHead,\r\n TableHeader,\r\n TableBody,\r\n TableRow,\r\n TableCell,\r\n Checkbox,\r\n FormLabel,\r\n FileUploader,\r\n RadioButtonGroup,\r\n FormGroup,\r\n MultiSelect,\r\n RadioButton,\r\n TextArea,\r\n TimePicker,\r\n TimePickerSelect,\r\n Tabs,\r\n Tab,\r\n ComposedModal,\r\n ModalHeader,\r\n ModalBody,\r\n SelectItem,\r\n TooltipIcon,\r\n} from 'carbon-components-react';\r\nimport CheckmarkFilled16 from '@carbon/icons-react/lib/checkmark--filled/16';\r\nimport CheckmarkOutline16 from '@carbon/icons-react/lib/checkmark--outline/16';\r\nimport View16 from '@carbon/icons-react/lib/view--filled/16';\r\nimport Add16 from '@carbon/icons-react/lib/add/16';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport OverFlowVertical16 from '@carbon/icons-react/lib/overflow-menu--vertical/16';\r\nimport Radiobutton16 from '@carbon/icons-react/lib/radio-button/16';\r\nimport { ChevronLeft16, Information16 } from '@carbon/icons-react';\r\nimport { ScrollingProvider, Section } from '../../lib/react-scroll-section/src/index';\r\nimport { Menu, Item } from '../../helpers/scrolling/ScrollingMenuItem';\r\nimport '../../scss/custom.scss';\r\nimport { ENGINE_METHOD_NONE } from 'constants';\r\nimport { switchDateFormat } from '../../helpers/jsonschemaform/customwidget/utils';\r\nimport { ComboBox } from '../../helpers/ComboBox';\r\nimport MultiComboBox from '../../helpers/MultiComboBox';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport {\r\n getSuccess,\r\n getError,\r\n entitiesLabels,\r\n apioperation,\r\n DateFormat,\r\n} from '../../helpers/Constants';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { api } from '../../helpers/api/api';\r\nimport moment from 'moment';\r\nimport { IsInRole, IsEditable } from '../../helpers/authorization/Policies';\r\nimport EmailChips from '../../helpers/EmailChips';\r\nimport DateTimePicker from '../../helpers/DateTimePicker';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { IncidentAttachment } from './IncidentAttachment';\r\n//RITM0615454_DEV615_MatriciOutcomes\r\nimport AssestmentLevelTable from './AssestmentLevelTable';\r\nconst incidentTabNotificationsModel = {\r\n occurrenceDate: '',\r\n occurrenceTime: '',\r\n\r\n idWorkSiteProject: null,\r\n idWorksite: null,\r\n idProject: null,\r\n idActivity: null,\r\n\r\n idDivision: null,\r\n idCompany: null,\r\n idCountry: null,\r\n idCustomer: null,\r\n\r\n division: '', //solo visualizzazione\r\n company: '', //solo visualizzazione\r\n country: '', //solo visualizzazione\r\n customer: '', //solo visualizzazione\r\n\r\n type: '', //*Il Type si ricava sulla base dei valori selezionati di Real Outcome. Basta un valore Real Outcome a Yes selezionato per determinare il valore Accident per il Type\r\n\r\n outcomeAsset: null,\r\n outcomeEnvironmental: null,\r\n outcomeHarm: null,\r\n realOutcomeAsset: null,\r\n realOutcomeEnvironmental: null,\r\n realOutcomeHarm: null,\r\n\r\n//RITM0615454_DEV615_MatriciOutcomes\r\n incidentOutcomes: [],\r\n //----\r\n\r\n emergencyClass: '',\r\n publicAuthoritiesAndEntitiesInvolved: '',\r\n specifyOther: '',\r\n transportAccident: '',\r\n transportAccidentEquipped: null,\r\n infoOriginator: '',\r\n\r\n //region details\r\n title: '',\r\n workRelated: '',\r\n place: '',\r\n companyVehicleProvided: null,\r\n briefDescription: '',\r\n immediateActionsTaken: '',\r\n\r\n //region Assessment\r\n //RITM0615454_DEV615_MatriciOutcomes\r\n idInvestigationLevelRealConsequenceSeverity: uuid(),\r\n idInvestigationLevelPotentialConsequenceSeverity: uuid(), //matrix\r\n idInvestigationLevelPotentialConsequenceProbability: uuid(), //matrix\r\n idRealConsequenceSeverity: null,\r\n idPotentialConsequenceSeverity: null,\r\n\r\n //region LifeSavingRules\r\n lifeSavingRules: null,\r\n lsrNote: '',\r\n //notificationDate: undefined,\r\n mailTo: '',\r\n mailCc: '',\r\n mailBody: '',\r\n mailSubject: '',\r\n\r\n attachmentNotifications: [],\r\n};\r\n\r\nconst baseUrl = '/incident/';\r\nconst filterByDate = (el, date) => {\r\n return el.start <= date && date <= el.end;\r\n};\r\n//RITM0615454_DEV615_MatriciOutcomes\r\nconst INCIDENT_OUTCOME_ENUM = {\r\n outcomeHarm: { idOutcome: 0, title: \"Harm To People\" },\r\n outcomeAsset: { idOutcome: 1, title: \"Property/Asset\" },\r\n outcomeEnvironmental: { idOutcome: 2, title: \"Environmental\" },\r\n}\r\nconst levelOneRealConsequenceId = \"6d945ccf-e982-4695-9b25-ad9a004a8f77\"\r\n\r\nexport default class IncidentTabNotification extends Component {\r\n initialState = (props) => {\r\n let initialState = {\r\n listWorksitesPrj: [],\r\n flagTime: false,\r\n appWorksites: null,\r\n appProject: null,\r\n showConsequenceLegend: false,\r\n outcomeTab: 0, //RITM0615454_DEV615_MatriciOutcomes\r\n incidentModel: {\r\n ...incidentTabNotificationsModel,\r\n },\r\n isDisabled: props.incidentEditModel\r\n ? !IsEditable(\r\n 'Incident',\r\n 'Reporting',\r\n props.user,\r\n props.incidentEditModel.status.id,\r\n 'Notification',\r\n props.incidentEditModel\r\n )\r\n : false,\r\n };\r\n\r\n if (props.incidentEditModel) {\r\n initialState.incidentModel = { ...props.incidentEditModel };\r\n initialState.outcomeTab = this.getFirstActiveOutcomeTab(initialState.incidentModel)\r\n if (initialState.incidentModel.occurrenceDate) {\r\n let dateTime = this.convertOccurrenceDate(1, initialState.incidentModel.occurrenceDate);\r\n initialState.incidentModel.occurrenceDate = dateTime.occurrenceDate;\r\n initialState.incidentModel.occurrenceTime = dateTime.occurrenceTime;\r\n }\r\n }\r\n\r\n return initialState;\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator({ locale: 'en' });\r\n this.validatorTime = new SimpleReactValidator({ locale: 'en' });\r\n this.updateState = this.updateState.bind(this);\r\n this.handleChangeCombo = this.handleChangeCombo.bind(this);\r\n this.state = {\r\n ...this.initialState(props),\r\n };\r\n\r\n // RITM0615447\r\n this.idNoViolationLifeSavingRule = \"4e732b42-fb52-4a46-b49c-6decdcd94d80\"\r\n }\r\n\r\n\r\n componentWillReceiveProps(nextProps) {\r\n //loading valori combo calcolate,\r\n if (\r\n nextProps.incidentEditModel &&\r\n this.state.incidentModel.occurrenceDate &&\r\n nextProps.appAllWorksites &&\r\n nextProps.appAllWorksitePrj\r\n ) {\r\n let occurrenceDate = this.state.incidentModel.occurrenceDate;\r\n let appWorksites = null;\r\n let appProject = null;\r\n let listWorksitesPrj = [];\r\n\r\n if (/([12]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01]))/.test(occurrenceDate))\r\n appWorksites = (nextProps.appAllWorksites || []).filter((el) =>\r\n filterByDate(el, occurrenceDate)\r\n );\r\n\r\n if (this.state.incidentModel.idWorksite) {\r\n let idWorksite = this.state.incidentModel.idWorksite;\r\n\r\n listWorksitesPrj = (nextProps.appAllWorksitePrj || []).filter(\r\n (el) => el.idWorkSite == idWorksite\r\n );\r\n\r\n if (/([12]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01]))/.test(occurrenceDate))\r\n listWorksitesPrj = (listWorksitesPrj || []).filter((el) =>\r\n filterByDate(el, occurrenceDate)\r\n );\r\n\r\n appProject = listWorksitesPrj.map((item) => ({\r\n id: item.idProject,\r\n name: item.project,\r\n idWorksitePrj: item.id,\r\n }));\r\n }\r\n\r\n this.setState({\r\n appWorksites,\r\n listWorksitesPrj,\r\n appProject,\r\n });\r\n }\r\n }\r\n\r\n selectTab = (index) => {\r\n this.props.selectTab(index);\r\n };\r\n addNewAttachment = (data) => {\r\n try {\r\n if (data == null) return;\r\n //insert\r\n let oldattachment = this.state.incidentModel.attachmentNotifications || [];\r\n\r\n let newItem = {\r\n id: uuid(), //guid\r\n idIncident: this.props.incidentEditModel?.id ? this.props.incidentEditModel.id : uuid(),\r\n idAttachment: data.id, //guid\r\n attachment: data,\r\n };\r\n\r\n let newattachment = oldattachment.concat([newItem]);\r\n this.updateState('attachmentNotifications', newattachment, 'incidentModel');\r\n } catch (error) {\r\n showNotification.error();\r\n }\r\n };\r\n removeAttachment = (id) => {\r\n if (!id) return;\r\n\r\n let statusCopy = Object.assign({}, this.state.incidentModel);\r\n statusCopy.attachmentNotifications = statusCopy.attachmentNotifications.filter(\r\n (el) => el.id !== id\r\n );\r\n\r\n this.setState({\r\n incidentModel: statusCopy,\r\n });\r\n };\r\n getWorkSite(occurrenceDate) {\r\n try {\r\n var data = this.props.appAllWorksites;\r\n\r\n if (/([12]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01]))/.test(occurrenceDate))\r\n data = (data || []).filter((el) => filterByDate(el, occurrenceDate));\r\n\r\n this.setState({\r\n appWorksites: data,\r\n });\r\n } catch {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n 'Error filtering ' + entitiesLabels.WORKSITE\r\n );\r\n this.setState({\r\n listWorksitesPrj: [],\r\n appWorksites: null,\r\n appProject: null,\r\n });\r\n }\r\n }\r\n\r\n getWorksitesPrj(idWorksite, occurrenceDate) {\r\n try {\r\n var data = (this.props.appAllWorksitePrj || []).filter((el) => el.idWorkSite == idWorksite);\r\n\r\n if (/([12]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01]))/.test(occurrenceDate))\r\n data = (data || []).filter((el) => filterByDate(el, occurrenceDate));\r\n\r\n var appProject = data.map((item) => ({\r\n id: item.idProject,\r\n name: item.project,\r\n idWorksitePrj: item.id,\r\n }));\r\n\r\n this.setState({\r\n listWorksitesPrj: data,\r\n appProject,\r\n });\r\n } catch {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n 'Error filtering ' + entitiesLabels.WORKSITEPROJECT\r\n );\r\n this.setState({\r\n listWorksitesPrj: [],\r\n appProject: null,\r\n });\r\n }\r\n // api.getAll(baseUrl + 'worksiteproject/' + idWorksite)\r\n // .then(response => {\r\n // var data = response.data;\r\n // if (/([12]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01]))/.test(occurrenceDate))\r\n // data = data != null ? data.filter(el => filterByDate(el, occurrenceDate)) : [];\r\n // var appProject = data.map(item => ({ id: item.idProject, name: item.project, idWorksitePrj: item.id }));\r\n\r\n // this.setState({\r\n // listWorksitesPrj: data,\r\n // appProject\r\n // });\r\n // }).catch(error => {\r\n // showNotification.error(getError(error, entitiesLabels.WORKSITEPROJECT, apioperation.GET));\r\n // this.setState({\r\n // listWorksitesPrj: [],\r\n // appProject: null\r\n // });\r\n // }).finally(() => {\r\n\r\n // });\r\n }\r\n getTooltip(item) {\r\n if (item.code == 1) {\r\n return 'Never occurred in the Oil&Gas sector.';\r\n }\r\n if (item.code == 2) {\r\n return 'Already occurred in the Oil&Gas sector. Similar occurrences have already been recorded in the Oil&Gas sector. ';\r\n }\r\n if (item.code == 3) {\r\n return 'Already occurred in the Company. Some similar occurrences have already been recorded in the Saipem group (less than once a year). ';\r\n }\r\n if (item.code == 4) {\r\n return 'It has occurred many times in the Company. Many occurrences have already been recorded in the Saipem group (more than once a year). ';\r\n }\r\n if (item.code == 5) {\r\n return 'It has occurred on the site many times a year. Many occurrences have already been recorded at one particular branch in the Saipem group (more than once a year). ';\r\n }\r\n }\r\n updateState = (inputName, inputValue, objName) => {\r\n let statusCopy = Object.assign({}, this.state);\r\n statusCopy[objName][inputName] = inputValue;\r\n\r\n //DEV 615\r\n const oucomePropertyNames = [\"outcomeHarm\", \"outcomeAsset\", \"outcomeEnvironmental\"]\r\n const realOutcomePropertyNames = [\"realOutcomeHarm\", \"realOutcomeAsset\", \"realOutcomeEnvironmental\"]\r\n let idOutcome = null;\r\n if (oucomePropertyNames.includes(inputName)) {\r\n idOutcome = INCIDENT_OUTCOME_ENUM[inputName].idOutcome\r\n\r\n\r\n if (inputValue === false) statusCopy.incidentModel.incidentOutcomes = statusCopy.incidentModel.incidentOutcomes?.filter(el => el.idOutcome !== idOutcome)\r\n else {\r\n const alreadyExist = statusCopy.incidentModel.incidentOutcomes.find(out => out.idOutcome === idOutcome)\r\n if (!alreadyExist) {\r\n const outcomeObj = { idOutcome, idIncident: this.state.incidentModel?.id }\r\n statusCopy.incidentModel.incidentOutcomes.push(outcomeObj)\r\n }\r\n }\r\n const isTheOnlyOneActive = oucomePropertyNames.filter(property => statusCopy.incidentModel[property] === true)?.length === 1 ? true : false\r\n if ((inputValue === false && idOutcome === this.state.outcomeTab) || (inputValue === true && isTheOnlyOneActive)) statusCopy.outcomeTab = this.getFirstActiveOutcomeTab(statusCopy.incidentModel)\r\n }\r\n\r\n if (realOutcomePropertyNames.includes(inputName)) {\r\n const propertyName = oucomePropertyNames.find(property => inputName.toLowerCase().includes(property.toLowerCase()))\r\n idOutcome = INCIDENT_OUTCOME_ENUM[propertyName].idOutcome\r\n\r\n const alreadyExistingOut = statusCopy.incidentModel.incidentOutcomes.find(out => out.idOutcome === idOutcome)\r\n if (alreadyExistingOut && inputValue === false) alreadyExistingOut.idInvestigationLevelRealConsequenceSeverity = levelOneRealConsequenceId\r\n\r\n if (!alreadyExistingOut) {\r\n const outcomeObj = { idOutcome, idIncident: this.state.incidentModel?.id }\r\n statusCopy.incidentModel.incidentOutcomes.push(outcomeObj)\r\n }\r\n\r\n }\r\n //FINE DEV 615\r\n \r\n\r\n this.setState(statusCopy);\r\n };\r\n\r\n //RITM0615454_DEV615_MatriciOutcomes\r\n getFirstActiveOutcomeTab = (model) => {\r\n const oucomePropertyNames = [\"outcomeHarm\", \"outcomeAsset\", \"outcomeEnvironmental\"]\r\n let activeOutcomeIds = []\r\n oucomePropertyNames.forEach(outName => {\r\n if (model && model[outName] === true) {\r\n const idOutcome = INCIDENT_OUTCOME_ENUM[outName].idOutcome\r\n activeOutcomeIds.push(idOutcome)\r\n }\r\n })\r\n if (activeOutcomeIds.length === 0) return 0\r\n if (activeOutcomeIds.length === 1) return activeOutcomeIds[0]\r\n return activeOutcomeIds.sort((a, b) => a - b)[0]\r\n }\r\n //FINE //RITM0615454_DEV615_MatriciOutcomes\r\n updateStatesTime = (inputName, inputValue, objName) => {\r\n if (inputValue == false) {\r\n this.setState({ flagTime: true });\r\n if (!this.validatorTime.allValid()) {\r\n this.validatorTime.showMessages();\r\n }\r\n } else {\r\n let statusCopy = Object.assign({}, this.state);\r\n statusCopy[objName][inputName] = inputValue;\r\n statusCopy.flagTime = false;\r\n this.setState(statusCopy);\r\n }\r\n };\r\n\r\n handleChangeModel = (el) => {\r\n let inputName = el.target.name;\r\n let inputValue = el.target.value;\r\n let objName = el.target.alt;\r\n this.updateState(inputName, inputValue, objName);\r\n };\r\n\r\n handleChangeTitle = (el) => {\r\n let inputName = el.target.name;\r\n let inputValue = el.target.value;\r\n let objName = el.target.alt;\r\n\r\n let statusCopy = Object.assign({}, this.state);\r\n statusCopy[objName][inputName] = inputValue;\r\n statusCopy[objName]['mailSubject'] = inputValue;\r\n this.setState(statusCopy);\r\n };\r\n\r\n //nelle combobox da richiamare, in modo sincrono, dopo il primo setState\r\n loadRelatedProperties = (inputName, inputValue, selectedItem) => {\r\n if (inputName == 'occurrenceDate') {\r\n if (inputValue) this.getWorkSite(inputValue);\r\n else\r\n this.setState({\r\n appWorksites: null,\r\n listWorksitesPrj: [],\r\n appProject: null,\r\n });\r\n }\r\n\r\n if (inputName == 'idWorksite') {\r\n if (inputValue) this.getWorksitesPrj(inputValue, this.state.incidentModel.occurrenceDate);\r\n else {\r\n this.setState({\r\n listWorksitesPrj: [],\r\n appProject: null,\r\n });\r\n }\r\n }\r\n };\r\n\r\n handleChangeMultiCombo = (inputName, selectedItem, objName) => {\r\n let inputValue =\r\n selectedItem && selectedItem.length ? selectedItem.map((el) => el.name).join(',') : null;\r\n\r\n let statusCopy = Object.assign({}, this.state[objName]);\r\n statusCopy[inputName] = inputValue;\r\n\r\n this.setState({ [objName]: statusCopy });\r\n };\r\n\r\n handleChangeCombo = (inputName, selectedItem, objName) => {\r\n let inputValue = selectedItem ? selectedItem.id : null;\r\n\r\n let statusCopy = Object.assign({}, this.state[objName]);\r\n statusCopy[inputName] = inputValue;\r\n\r\n if (inputName == 'idWorksite') {\r\n statusCopy.idProject = null; \r\n statusCopy.idWorkSiteProject = null;\r\n statusCopy.idDivision = null; //RITM0617607\r\n statusCopy.idActivity = null; //RITM0617607\r\n statusCopy.idCompany = null;\r\n statusCopy.idCountry = null;\r\n statusCopy.idCustomer = null;\r\n statusCopy.division = '';\r\n statusCopy.company = '';\r\n statusCopy.country = '';\r\n statusCopy.customer = '';\r\n }\r\n\r\n if (inputName == 'idProject') {\r\n if (selectedItem) {\r\n let wksprj = this.state.listWorksitesPrj.find((el) => el.id == selectedItem.idWorksitePrj);\r\n\r\n statusCopy.idWorkSiteProject = wksprj.id;\r\n \r\n //RITM0497904\r\n const appActivity = wksprj?.idDivision ? this.props.appActivity.filter((el) => el.idDivision == wksprj?.idDivision) : null;\r\n statusCopy.idActivity = appActivity && appActivity.length > 0 ? appActivity[0]?.id : null;\r\n\r\n statusCopy.idDivision = wksprj.idDivision; //RITM0617607 \r\n statusCopy.idCompany = wksprj.idCompany;\r\n statusCopy.idCountry = wksprj.idCountry;\r\n statusCopy.idCustomer = wksprj.idCustomer;\r\n statusCopy.division = wksprj.division;\r\n statusCopy.company = wksprj.company;\r\n statusCopy.country = wksprj.country;\r\n statusCopy.customer = wksprj.customer;\r\n } else {\r\n statusCopy.idWorkSiteProject = null;\r\n statusCopy.idDivision = null; //RITM0617607\r\n statusCopy.idActivity = null; //RITM0617607\r\n statusCopy.idCompany = null;\r\n statusCopy.idCountry = null;\r\n statusCopy.idCustomer = null;\r\n statusCopy.division = '';\r\n statusCopy.company = '';\r\n statusCopy.country = '';\r\n statusCopy.customer = '';\r\n }\r\n }\r\n if (inputName == 'infoOriginator') {\r\n statusCopy.idSubContractor = null;\r\n }\r\n this.setState({ [objName]: statusCopy }, () => {\r\n this.loadRelatedProperties(inputName, inputValue, selectedItem);\r\n });\r\n };\r\n\r\n updateStateDP = (inputName, inputValue, objName) => {\r\n let statusCopy = Object.assign({}, this.state[objName]);\r\n statusCopy[inputName] = inputValue;\r\n\r\n if (inputName == 'occurrenceDate') {\r\n statusCopy.idWorksite = null;\r\n statusCopy.idProject = null;\r\n\r\n statusCopy.idWorkSiteProject = null;\r\n statusCopy.idDivision = null;\r\n statusCopy.idCompany = null;\r\n statusCopy.idCountry = null;\r\n statusCopy.idCustomer = null;\r\n statusCopy.idActivity = null;\r\n statusCopy.division = '';\r\n statusCopy.company = '';\r\n statusCopy.country = '';\r\n statusCopy.customer = '';\r\n }\r\n\r\n this.setState({ [objName]: statusCopy }, () => {\r\n this.loadRelatedProperties(inputName, inputValue);\r\n });\r\n };\r\n\r\n handleChangeOutcome = (value, id, event) => {\r\n if (value == false || value == 'false') {\r\n let realOutcomeRadio = null;\r\n if (id == 'outcomeAsset') realOutcomeRadio = 'realOutcomeAsset';\r\n else if (id == 'outcomeEnvironmental') realOutcomeRadio = 'realOutcomeEnvironmental';\r\n else if (id == 'outcomeHarm') realOutcomeRadio = 'realOutcomeHarm';\r\n\r\n if (realOutcomeRadio != null) this.updateState(realOutcomeRadio, null, 'incidentModel');\r\n }\r\n this.updateState(id, value, 'incidentModel');\r\n };\r\n\r\n handleChangeRadio = (value, id, event) => {\r\n if (value == 'true') {\r\n value = true;\r\n } else if (value == 'false') {\r\n value = false;\r\n } else if (value == 'null') {\r\n value = null;\r\n }\r\n\r\n this.updateState(id, value, event.target.alt);\r\n };\r\n //RITM0615454_DEV615_MatriciOutcomes\r\n handleChangeRadioAssestmentLevel = (value, property, outcomeId) => {\r\n const statusCopy = { ...this.state.incidentModel }\r\n const existOutcome = statusCopy.incidentOutcomes?.some(out => out.idOutcome == outcomeId)\r\n const outcome = existOutcome ? statusCopy.incidentOutcomes?.find(out => out.idOutcome == outcomeId) : { idOutcome: outcomeId, idIncident: this.state.incidentModel.id }\r\n outcome[property] = value\r\n if (!existOutcome) statusCopy.incidentOutcomes ? statusCopy.incidentOutcomes.push(outcome) : statusCopy.incidentOutcomes = [outcome]\r\n this.setState({ incidentModel: statusCopy })\r\n }\r\n //RITM0615454_DEV615_MatriciOutcomes\r\n handleChangeInvestigationLvlPotCons = (/*value*/ severityProbabilityPair, outcomeId) => {\r\n const [idSeverity, idProbability] = severityProbabilityPair?.split('_') //Split the idSeverity from idProbability\r\n let statusCopy = { ...this.state.incidentModel }\r\n\r\n const existOutcome = statusCopy.incidentOutcomes?.some(out => out.idOutcome === outcomeId)\r\n\r\n const outcome = existOutcome ? statusCopy.incidentOutcomes?.find(outcome => outcome.idOutcome === outcomeId) : { idOutcome: outcomeId, idIncident: this.state.incidentModel.id }\r\n outcome.idInvestigationLevelPotentialConsequenceSeverity = idSeverity ?? null;\r\n outcome.idInvestigationLevelPotentialConsequenceProbability = idProbability ?? null;\r\n if (!existOutcome) statusCopy.incidentOutcomes.push(outcome)\r\n\r\n //FINE RITM0615454_DEV615_MatriciOutcomes\r\n this.setState({ incidentModel: statusCopy });\r\n };\r\n\r\n handleChangePubAutEntInv = (value, id) => {\r\n let selectedValue = this.state.incidentModel.publicAuthoritiesAndEntitiesInvolved;\r\n let oldvalues = selectedValue ? selectedValue.split(',') : [];\r\n let element = oldvalues.find((el) => el == id);\r\n\r\n if (value && element == null) {\r\n let newvalues = oldvalues.concat([id]);\r\n this.updateState(\r\n 'publicAuthoritiesAndEntitiesInvolved',\r\n newvalues.join(','),\r\n 'incidentModel'\r\n );\r\n } else if (!value && element != null) {\r\n let newvalues = oldvalues.filter((el) => el !== id);\r\n this.updateState(\r\n 'publicAuthoritiesAndEntitiesInvolved',\r\n newvalues.join(','),\r\n 'incidentModel'\r\n );\r\n }\r\n };\r\n\r\n handleChangeLifeSavingRules = (value, id) => {\r\n let inputName = 'lifeSavingRules';\r\n let oldValues = this.state.incidentModel[inputName] || [];\r\n\r\n let element = oldValues.find((el) => el.idLifeSavingRule == id);\r\n if (value && element == null) {\r\n // RITM0615447\r\n const savingRule = this.props.appLifeSavingRule.find(el => el.id == id)\r\n let obj = { id: uuid(), idIncident: undefined, idLifeSavingRule: id, isExclusive: savingRule.isExclusive };\r\n let newValues = obj.isExclusive ? [obj] : oldValues.concat([obj]);\r\n //FINE RITM0615447\r\n this.updateState(inputName, newValues, 'incidentModel');\r\n this.props.setlifeSavingRules(newValues);\r\n } else if (!value && element != null) {\r\n let newValues = oldValues.filter((el) => el.idLifeSavingRule != id);\r\n this.updateState(inputName, newValues, 'incidentModel');\r\n this.props.setlifeSavingRules(newValues);\r\n } \r\n };\r\n\r\n getIncidentType = () => {\r\n const valore =\r\n this.state.incidentModel.realOutcomeAsset == true ||\r\n this.state.incidentModel.realOutcomeEnvironmental == true ||\r\n this.state.incidentModel.realOutcomeHarm == true;\r\n\r\n return { isAccident: valore, text: valore ? 'Accident' : 'Near Miss' };\r\n };\r\n\r\n isCheckedPubAutEntInv = (id) => {\r\n const selectedValue = this.state.incidentModel.publicAuthoritiesAndEntitiesInvolved || '';\r\n let element = selectedValue.split(',').find((el) => el == id);\r\n return element != null;\r\n };\r\n\r\n getLifeSavingRuleByCategory = (list, idCategory) => {\r\n if (list == null) list = [];\r\n if (idCategory == null) return list;\r\n\r\n return list.filter((item) => item.idLifeSavingRuleCategory == idCategory /*RITM0615447*/ && item.id !== this.idNoViolationLifeSavingRule) || [];\r\n };\r\n\r\n renderIncidentLegenda = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n CONSEQUENCE\r\n \r\n \r\n SEVERITY OF INCIDENT\r\n INJURY TO PERSONS\r\n DAMAGE TO ASSETS\r\n EFFECTS ON ENVIRONMENT\r\n \r\n \r\n \r\n \r\n \r\n SPATIAL EXTENSION\r\n IMPACT ON HIGH VULNERABLE AREAS\r\n CLEAN UP INTERVENTION/REMEDIATION\r\n LOCAL COMMUNITIES IMPACT\r\n REQUIREMENTS/AUTHORITIES\r\n REPUTATIONAL IMPACT\r\n \r\n \r\n \r\n \r\n 1 Negligible\r\n \r\n Slight injury or limited health effects(First Aid)\r\n \r\n \r\n Slight damage
    No disruption to operation\r\n
    \r\n \r\n Involve a negligible area (around few meters) inside the Company’s premises and\r\n do not spread into the environment\r\n \r\n Not impacted\r\n Managed with internal emergency team\r\n Not impacted\r\n Reporting not necessary\r\n Not reported in the news\r\n
    \r\n \r\n 2 Low\r\n \r\n Minor injury\r\n
    Effects on health (Medical Treatment or Work restricted case)\r\n
    \r\n \r\n Minor damage
    Brief disruption (cost10K€-100K€ or 1day downtime)\r\n
    \r\n \r\n Involve a small area inside the Company’s premises, contained before spreading\r\n into the environment\r\n \r\n Not impacted\r\n Managed with internal emergency team\r\n Not impacted\r\n Reported to Local authority without any fines\r\n Not reported in the news\r\n
    \r\n \r\n 3 Medium\r\n \r\n Serious injury or health effects or temporary or permanent total invalidity\r\n
    (Lost Time Injury)
    {' '}\r\n
    \r\n \r\n Local damage
    Partial disruption (cost 100k€-500k€ or 1-7 days downtime)\r\n
    \r\n \r\n Involve a medium area (within the Company premises, or at most within a few km),\r\n spreading into the environment with short term effects\r\n \r\n Not impacted\r\n Managed with internal emergency team\r\n Might be impacted with no lasting effect\r\n \r\n Reported to Local authority (Port Authority, etc) with negligible fines\r\n \r\n Reported in Local News\r\n
    \r\n \r\n 4 High\r\n Single fatality \r\n \r\n Major damage
    Major disruption(cost 500k€-3M€ or 1-2 weeks downtime)\r\n
    \r\n \r\n Involve a wide area (out of the Company premises) spreading into the environment\r\n with medium term effects\r\n \r\n Impacted with short term effect\r\n Required the intervention of external facilities\r\n \r\n Impacted with short term effect (up to few months effect)\r\n \r\n \r\n Reported to National authority (inspections, fines, stop of operations) with not\r\n negligible fines\r\n \r\n Reported in National News\r\n
    \r\n \r\n 5 Very High\r\n Multiple fatalities\r\n \r\n Extensive damage
    Very mayor disruption (cost 3M€-10M€ or more than 2\r\n weeks downtime)\r\n
    \r\n \r\n Involve a wide/extensive area (out of the Company premises) spreading into the\r\n environment with long term effects\r\n \r\n Impacted with medium or long term effect\r\n \r\n Required the intervention of external facilities or remediation not possible\r\n \r\n \r\n Impacted with medium or long term effect (significative time spawn effect)\r\n \r\n \r\n Reported to National authority (inspections, fines, stop of operations) with not\r\n negligible fines\r\n \r\n Reported in International News\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n renderMatrixCell = (item) => {\r\n const row = this.props.appMatrixCell[item.code];\r\n const idSeverity = this.state.incidentModel.idInvestigationLevelPotentialConsequenceSeverity;\r\n const idProbability = this.state.incidentModel\r\n .idInvestigationLevelPotentialConsequenceProbability;\r\n return (\r\n \r\n \r\n {'Level ' + item.code + ' - ' + item.name}\r\n \r\n \r\n \r\n \r\n {this.props.appProbabilities.map((prob) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n );\r\n };\r\n\r\n convertOccurrenceDate = (mode, value) => {\r\n if (mode) {\r\n let date = moment.utc(value);\r\n return {\r\n occurrenceDate: date.format('YYYY-MM-DD'),\r\n occurrenceTime: date.format('LT'),\r\n };\r\n }\r\n\r\n return moment\r\n .utc(\r\n this.state.incidentModel.occurrenceDate + ' ' + this.state.incidentModel.occurrenceTime,\r\n 'YYYY-MM-DD LT'\r\n )\r\n .format();\r\n };\r\n\r\n saveTabNotification = (send) => {\r\n if (this.validator.allValid()) {\r\n if (!this.validatorTime.allValid()) {\r\n this.props.isSubmitted(true);\r\n\r\n let datiForm = this.state.incidentModel;\r\n datiForm.type = this.getIncidentType().text;\r\n datiForm.occurrenceDate = this.convertOccurrenceDate(0);\r\n if (!datiForm.realOutcomeAsset && !datiForm.realOutcomeEnvironmental && !datiForm.realOutcomeHarm) {\r\n datiForm.emergencyClass = '';\r\n datiForm.transportAccident = '';\r\n datiForm.publicAuthoritiesAndEntitiesInvolved = '';\r\n }\r\n if (!this.props.isEdit) {\r\n datiForm.id = uuid();\r\n }\r\n if (!this.props.isEdit && this.state.incidentModel.attachmentNotifications.length > 0) {\r\n this.state.incidentModel.attachmentNotifications.map(\r\n (atta) => (atta.idIncident = datiForm.id)\r\n );\r\n }\r\n /* RITM0655780 */\r\n let method;\r\n if (send === true) {\r\n method = this.props.isEdit\r\n ? api.put('/incident/', datiForm, datiForm.id + '/notification')\r\n : api.post('/incident/', datiForm);\r\n } else {\r\n method = this.props.isEdit\r\n ? api.put('/incident/', datiForm, datiForm.id + '/notification/onlysave')\r\n : api.post('/incident/onlysave', datiForm);\r\n }\r\n /* END RITM0655780 */\r\n\r\n method\r\n .then((response) => {\r\n if (response.status == 200) {\r\n var resp = response.data;\r\n // showNotification.success(this.state.incidentModel.id != null ? getSuccess(entitiesLabels.INCIDENT, apioperation.PUT) : getSuccess(entitiesLabels.INCIDENT, apioperation.POST));\r\n // if (!this.props.isEdit) {\r\n // this.props.history.push('/incident/' + resp.id);\r\n // } else {\r\n // this.props.updateType(datiForm);\r\n // }\r\n //modifica offline\r\n let idIncidentReport = datiForm.incidentReportId !== null ? datiForm.incidentReportId : response.data.incidentReportId;\r\n let notificationDateIncidentReport = datiForm.notificationDate !== null ? datiForm.notificationDate : response.data.notificationDate;\r\n if(send === false){\r\n if(idIncidentReport === null){\r\n //Visualizza la conferma del salvataggio se la notifica non è stata ancora inviata alla creazione\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.INCIDENT} ${entitiesLabels.WITHCODE} ${getSuccess(\r\n idIncidentReport,\r\n apioperation.POST\r\n )} but the notification has not been sent yet!`\r\n )\r\n } \r\n else if(notificationDateIncidentReport === null || notificationDateIncidentReport === '0001-01-01T00:00:00Z'){\r\n //Visualizza la conferma del salvataggio se la notifica non è stata ancora inviata alla modifica\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.INCIDENT} ${entitiesLabels.WITHCODE} ${getSuccess(\r\n idIncidentReport,\r\n apioperation.PUT\r\n )} but the notification has not been sent yet!`\r\n )\r\n }\r\n else{\r\n //Visualizza la conferma del salvataggio se la notifica è stata già inviata alla modifica\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n `${entitiesLabels.INCIDENT} ${entitiesLabels.WITHCODE} ${getSuccess(\r\n idIncidentReport,\r\n apioperation.PUT\r\n )}`\r\n );\r\n }\r\n }\r\n else{\r\n if(idIncidentReport === null){\r\n //Visualizza la conferma del salvataggio se la notifica è stata inviata alla creazione\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n `${entitiesLabels.INCIDENT} ${entitiesLabels.WITHCODE} ${getSuccess(\r\n idIncidentReport,\r\n apioperation.POST\r\n )}`\r\n );\r\n } \r\n else{\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n `${entitiesLabels.INCIDENT} ${entitiesLabels.WITHCODE} ${getSuccess(\r\n idIncidentReport,\r\n apioperation.PUT\r\n )}`\r\n );\r\n } \r\n }\r\n\r\n if (!this.props.isEdit) {\r\n //todo aggiornare il modello dati con le props mancanti\r\n //this.props.history.push('/incident/' + datiForm.id);\r\n datiForm['idCompiler'] = this.props.user.id;\r\n datiForm['idStatus'] = 1;\r\n datiForm['status'] = {\r\n caManagementName: 'Draft',\r\n carManagementName: 'Assigned',\r\n id: 1,\r\n name: 'Draft',\r\n planningName: 'Draft',\r\n reportingName: 'Opened',\r\n };\r\n\r\n datiForm['progressiveId'] = 0;\r\n datiForm['incidentReportId'] = null;\r\n //notificationDate\r\n //processed\r\n }\r\n\r\n if(send === true){\r\n datiForm['notificationDate'] = resp.notificationDate;\r\n }\r\n\r\n this.props.updateCacheIncidentModel(datiForm, 'tabNotifications');\r\n this.props.onChange(\r\n this.state.incidentModel.outcomeAsset,\r\n this.state.incidentModel.outcomeEnvironmental,\r\n this.state.incidentModel.outcomeHarm,\r\n this.state.incidentModel.realOutcomeHarm\r\n );\r\n\r\n //RITM0615454_DEV615_MatriciOutcomes\r\n const statusCopy = { ...this.state.incidentModel }\r\n statusCopy.idInvestigationLevelPotentialConsequenceProbability = resp.idInvestigationLevelPotentialConsequenceProbability;\r\n statusCopy.idInvestigationLevelPotentialConsequenceSeverity = resp.idInvestigationLevelPotentialConsequenceSeverity;\r\n statusCopy.idInvestigationLevelRealConsequenceSeverity = resp.idInvestigationLevelRealConsequenceSeverity;\r\n statusCopy.idInvestigation = resp.idInvestigation;\r\n this.setState({ incidentModel: statusCopy })\r\n //RITM0864430\r\n let injuredPersonCount = resp.injuredPeople? resp.injuredPeople?.length : 0;\r\n if (send === true && this.state.incidentModel.realOutcomeHarm === true && injuredPersonCount === 0){\r\n this.props.updateAutoOpenInjuredPerson(true);\r\n if (!this.props.isEdit)\r\n {\r\n this.props.updateEditMode(resp.id);\r\n }\r\n this.selectTab(1);\r\n } \r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n //RITM0615454_DEV615_MatriciOutcomes\r\n //const isOutcomeTableError = error.response.data.includes(\"table\") ?? false\r\n const isOutcomeTableError = (error.response.data.includes(\"table\") || error.response.data.includes(\"outcome\")) ?? false\r\n\r\n if (isOutcomeTableError) showNotification.warning(`${entitiesLabels.WARNING}`, error.response.data)\r\n else showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INCIDENT, apioperation.POST))\r\n })\r\n .finally(() => {\r\n this.props.isSubmitted(false);\r\n });\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n entitiesLabels.INCIDENT + ' Time is invalid '\r\n );\r\n this.forceUpdate();\r\n }\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n entitiesLabels.INCIDENT + ' required fields are missing '\r\n );\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n isRealLessPotential() {\r\n let severities = this.props.appSeveritiesConsequences || [];\r\n let real = severities.find((el) => el.id == this.state.incidentModel.idRealConsequenceSeverity);\r\n let potential = severities.find(\r\n (el) => el.id == this.state.incidentModel.idPotentialConsequenceSeverity\r\n );\r\n if (real && potential) {\r\n return real.code <= potential.code;\r\n }\r\n return false;\r\n }\r\n\r\n isLifeSavingRulesDisabled = (idSavingRule) => {\r\n if (this.state.isDisabled) return true\r\n\r\n const selectedLifeSavingRules = this.state.incidentModel.lifeSavingRules?.map(el => this.props.appLifeSavingRule?.find(x => x.id === el.idLifeSavingRule)) ?? []\r\n if (selectedLifeSavingRules.length === 0) return false\r\n\r\n const isSomeExlusiveSelected = selectedLifeSavingRules.some((el) => el.isExclusive)\r\n const isThisSelected = selectedLifeSavingRules.find((el) => el.id == idSavingRule) ?? false\r\n return isSomeExlusiveSelected && !isThisSelected\r\n }\r\n\r\n //RITM0615454_DEV615_MatriciOutcomes\r\n isRealOutcome(outcomeTitle) {\r\n if (outcomeTitle === \"Harm To People\") return this.state.incidentModel.realOutcomeHarm ?? false\r\n if (outcomeTitle === \"Property/Asset\") return this.state.incidentModel.realOutcomeAsset ?? false\r\n if (outcomeTitle === \"Environmental\") return this.state.incidentModel.realOutcomeEnvironmental ?? false\r\n return false\r\n }\r\n //FINE RITM0615454_DEV615_MatriciOutcomes\r\n\r\n render() {\r\n const typeIncident = this.getIncidentType();\r\n const probabilities = this.props.appProbabilities || [];\r\n const appActivity = this.state.incidentModel.idDivision\r\n ? this.props.appActivity.filter((el) => el.idDivision == this.state.incidentModel.idDivision)\r\n : null;\r\n const showSpecifyOther = this.isCheckedPubAutEntInv('Other');\r\n const appProject = this.state.appProject;\r\n const appWorksites = this.state.appWorksites;\r\n const subContractorsByInfo = this.state.incidentModel?.infoOriginator\r\n ? (this.props.subContractors || []).filter(\r\n (el) => el.infoOriginator?.name == this.state.incidentModel?.infoOriginator\r\n )\r\n : [];\r\n const selectedItemCombo = {\r\n idWorksite: (appWorksites || []).find((el) => el.id == this.state.incidentModel.idWorksite),\r\n idProject: (appProject || []).find((el) => el.id == this.state.incidentModel.idProject),\r\n idActivity: (appActivity || []).find((el) => el.id == this.state.incidentModel.idActivity),\r\n transportAccident: (this.props.appTransportAccident || []).find(\r\n (el) => el.id == this.state.incidentModel.transportAccident\r\n ),\r\n infoOriginator: (this.props.appInfoOriginator || []).find(\r\n (el) => el.id == this.state.incidentModel?.infoOriginator\r\n ),\r\n subContractor: (subContractorsByInfo || {}).find(\r\n (el) => el.id == this.state.incidentModel?.idSubContractor\r\n ),\r\n workRelated: (this.props.appWorkRelated || []).find(\r\n (el) => el.id == this.state.incidentModel.workRelated\r\n ),\r\n place: (this.props.appPlace || []).find((el) => el.id == this.state.incidentModel.place),\r\n };\r\n\r\n const showTransportAccidentEquipped =\r\n selectedItemCombo.transportAccident != null &&\r\n selectedItemCombo.transportAccident.specifyOther == true; // this.state.incidentModel.transportAccident == 'RoadTraffic';\r\n const showIsWorkRelatedCommunting =\r\n selectedItemCombo.workRelated != null && selectedItemCombo.workRelated.specifyOther == true; //this.state.incidentModel.workRelated == 'Communting';\r\n this.validator.purgeFields(); //si usa quando ci sono validazioni condizionali tra più campi\r\n\r\n const validationsTime = {\r\n validTime: this.validatorTime.message('validTime', this.state.flagTime, 'accepted'),\r\n };\r\n const validations = {\r\n occurrenceDate: this.validator.message(\r\n 'occurrenceDate',\r\n this.state.incidentModel.occurrenceDate,\r\n 'required'\r\n ),\r\n occurrenceTime: this.validator.message(\r\n 'occurrenceTime',\r\n this.state.incidentModel.occurrenceTime,\r\n 'required'\r\n ),\r\n\r\n idWorksite: this.validator.message(\r\n 'Worksite',\r\n this.state.incidentModel.idWorksite,\r\n 'required'\r\n ),\r\n idProject: this.validator.message(\r\n 'Project',\r\n this.state.incidentModel.idProject,\r\n 'required'\r\n ),\r\n idActivity: this.validator.message(\r\n 'Activity',\r\n this.state.incidentModel.idActivity,\r\n 'required'\r\n ),\r\n outcome: this.validator.message(\r\n 'outcome',\r\n this.state.incidentModel.outcomeAsset ||\r\n this.state.incidentModel.outcomeEnvironmental ||\r\n this.state.incidentModel.outcomeHarm,\r\n 'accepted'\r\n ),\r\n specifyOther: this.validator.message(\r\n 'specifyOther',\r\n showSpecifyOther == true && this.state.incidentModel.specifyOther,\r\n 'required'\r\n ),\r\n infoOriginator: this.validator.message(\r\n 'infoOriginator',\r\n this.state.incidentModel.infoOriginator,\r\n 'required'\r\n ),\r\n subContractor: this.validator.message(\r\n 'idSubContractor',\r\n this.state.incidentModel?.infoOriginator === 'Saipem'\r\n ? true\r\n : this.state.incidentModel.idSubContractor,\r\n 'required'\r\n ),\r\n realOutcomeAsset: this.validator.message(\r\n 'realOutcomeAsset',\r\n !this.state.incidentModel.outcomeAsset || this.state.incidentModel.realOutcomeAsset != null,\r\n 'accepted'\r\n ),\r\n realOutcomeEnvironmental: this.validator.message(\r\n 'realOutcomeEnvironmental',\r\n !this.state.incidentModel.outcomeEnvironmental ||\r\n this.state.incidentModel.realOutcomeEnvironmental != null,\r\n 'accepted'\r\n ),\r\n realOutcomeHarm: this.validator.message(\r\n 'realOutcomeHarm',\r\n !this.state.incidentModel.outcomeHarm || this.state.incidentModel.realOutcomeHarm != null,\r\n 'accepted'\r\n ),\r\n title: this.validator.message('title', this.state.incidentModel.title, 'required'),\r\n workRelated: this.validator.message(\r\n 'work Related',\r\n this.state.incidentModel.workRelated,\r\n 'required'\r\n ),\r\n place: showIsWorkRelatedCommunting\r\n ? this.validator.message('place', this.state.incidentModel.place, 'required')\r\n : null,\r\n companyVehicleProvided: showIsWorkRelatedCommunting\r\n ? this.validator.message(\r\n 'companyVehicleProvided',\r\n this.state.incidentModel.companyVehicleProvided != null,\r\n 'accepted'\r\n )\r\n : null,\r\n\r\n //matrix\r\n // { this.incidentModel.idInvestigationLevelRealConsequenceSeverity }\r\n\r\n //RITM0615454_DEV615_MatriciOutcomes - adesso questi valori vengono calcolati da BE\r\n // idInvestigationLevelRealConsequenceSeverity: this.validator.message(\r\n // 'idInvestigationLevelRealConsequenceSeverity',\r\n // this.state.incidentModel.idInvestigationLevelRealConsequenceSeverity != null,\r\n // 'accepted'\r\n // ),\r\n // idInvestigationLevelPotentialConsequenceSeverity: this.validator.message(\r\n // 'idInvestigationLevelPotentialConsequenceSeverity',\r\n // this.state.incidentModel.idInvestigationLevelPotentialConsequenceSeverity != null,\r\n // 'accepted'\r\n // ),\r\n //FINE //RITM0615454_DEV615_MatriciOutcomes\r\n // lifeSavingRules: this.validator.message(\r\n // 'Life Saving Rules',\r\n // this.state.incidentModel.lifeSavingRules != null ? this.state.incidentModel.lifeSavingRules[0]: null,\r\n // 'required'\r\n // ),\r\n mailTo: this.validator.message('mailTo', this.state.incidentModel.mailTo, 'required'),\r\n mailBody: this.validator.message('mailBody', this.state.incidentModel.mailBody, 'required'),\r\n };\r\n \r\n //RITM0615454_DEV615_MatriciOutcomes\r\n const outcomeProperty = Object.keys(INCIDENT_OUTCOME_ENUM).find(outcomeName => INCIDENT_OUTCOME_ENUM[outcomeName].idOutcome === this.state.outcomeTab)\r\n const selectedOutcome = outcomeProperty ? { ...INCIDENT_OUTCOME_ENUM[outcomeProperty], propertyName: outcomeProperty } : null\r\n\r\n // RITM0615447\r\n const NoViolationLSR = this.props.appLifeSavingRule?.find(el => el.id === this.idNoViolationLifeSavingRule)\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n \r\n 1.1 Event Detail\r\n 1.2 Incident Description\r\n 1.3 General Data\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    1.1 Event Details

    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n\r\n {validations.occurrenceDate}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {validations.occurrenceTime}\r\n {this.state.flagTime ? (\r\n
    Invalid time format
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.idWorksite}\r\n items={appWorksites}\r\n disabled={appWorksites == null || this.state.isDisabled}\r\n invalid={validations.idWorksite != null}\r\n />\r\n {validations.idWorksite}\r\n \r\n
    \r\n
    \r\n \r\n (item ? item.name : '')}\r\n initialSelectedItem={\r\n selectedItemCombo.idProject ? selectedItemCombo.idProject : {}\r\n }\r\n items={appProject}\r\n disabled={\r\n appProject == null || this.state.isDisabled || appProject.length == 0\r\n }\r\n invalid={validations.idProject != null}\r\n />\r\n {validations.idProject}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n (item ? item.name : '')}\r\n // initialSelectedItem={\r\n // selectedItemCombo.idActivity ? selectedItemCombo.idActivity : {}\r\n // }\r\n //RITM0497904\r\n selectedItem={selectedItemCombo.idActivity ? selectedItemCombo.idActivity : {}}\r\n items={appActivity}\r\n disabled={\r\n appActivity == null || this.state.isDisabled || appActivity.length == 0\r\n }\r\n invalid={validations.idActivity != null}\r\n />\r\n {validations.idActivity}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {/* RITM0945977 */}\r\n {/* Division */}\r\n Business Line\r\n Operating Company\r\n Country\r\n Client\r\n \r\n \r\n \r\n \r\n \r\n {this.state.incidentModel.division}\r\n \r\n \r\n {this.state.incidentModel.company}\r\n \r\n \r\n {this.state.incidentModel.country}\r\n \r\n \r\n {this.state.incidentModel.customer}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    1.2 Incident description

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

    {typeIncident.text}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Potential OutCome*\r\n It can be selected one or more \r\n
    \r\n
    \r\n Real OutCome?*\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n {validations.outcome}\r\n {this.state.incidentModel.outcomeAsset ? validations.realOutcomeAsset : ''}\r\n {this.state.incidentModel.outcomeEnvironmental\r\n ? validations.realOutcomeEnvironmental\r\n : ''}\r\n {this.state.incidentModel.outcomeHarm ? validations.realOutcomeHarm : ''}\r\n
    \r\n
    \r\n
    \r\n\r\n {typeIncident.isAccident && (\r\n <>\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {this.props.appPublicAuthoritiesAndEntitiesInvolved.map((item) => (\r\n \r\n ))}\r\n {showSpecifyOther && (\r\n \r\n )}\r\n {validations.specifyOther}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n (item ? item.text : '')}\r\n initialSelectedItem={selectedItemCombo.transportAccident}\r\n items={this.props.appTransportAccident}\r\n disabled={this.state.isDisabled}\r\n />\r\n \r\n {showTransportAccidentEquipped && (\r\n \r\n \r\n \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 ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.infoOriginator}\r\n items={this.props.appInfoOriginator.filter(\r\n (item) => item.name !== 'SAP')} // Rimuovi l'opzione \"SAP\" dalla lista\r\n // items={this.props.appInfoOriginator}\r\n disabled={this.state.isDisabled}\r\n invalid={validations.infoOriginator != null}\r\n />\r\n {validations.infoOriginator}\r\n \r\n
    \r\n
    \r\n \r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.subContractor}\r\n items={subContractorsByInfo}\r\n shouldFilterItem={({ item, inputValue }) =>\r\n item.name.toLowerCase().includes(inputValue.toLowerCase())\r\n }\r\n disabled={\r\n this.state.isDisabled ||\r\n selectedItemCombo.infoOriginator?.name === 'Saipem' ||\r\n selectedItemCombo.infoOriginator == null\r\n }\r\n invalid={validations.subContractor != null}\r\n />\r\n {validations.subContractor}\r\n \r\n
    \r\n
    \r\n\r\n {/* //RITM0615454_DEV615_MatriciOutcomes */}\r\n
    \r\n
    \r\n this.setState({ outcomeTab: index })}\r\n tabContentClassName=\"tab-content\"\r\n >\r\n {Object.keys(INCIDENT_OUTCOME_ENUM).map(outcomeName => {\r\n const currentOutcome = INCIDENT_OUTCOME_ENUM[outcomeName]\r\n return (\r\n )\r\n })}\r\n \r\n out.idOutcome === selectedOutcome?.idOutcome) ?? { idOutcome: selectedOutcome?.idOutcome, idIncident: this.state.incidentModel?.id }}\r\n appMatrixCell={this.props.appMatrixCell ?? []}\r\n appMatrixColor={this.props.appMatrixColor ?? []}\r\n appProbabilities={this.props.appProbabilities ?? []}\r\n appSeveritiesInvestigation={this.props.appSeveritiesInvestigation ?? []}\r\n handleChangeInvestigationLvlPotCons={this.handleChangeInvestigationLvlPotCons}\r\n handleChangeRadioAssestmentLevel={this.handleChangeRadioAssestmentLevel}\r\n disableLevelRealConsequence={!this.isRealOutcome(selectedOutcome.title)}\r\n isDisabled={(this.state.isDisabled ?? false) || !this.state.incidentModel[selectedOutcome?.propertyName]}\r\n />\r\n
    \r\n
    \r\n {/* FINE //RITM0615454_DEV615_MatriciOutcomes */}\r\n\r\n
    \r\n

    Details

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {validations.title}\r\n \r\n
    \r\n
    \r\n \r\n (item ? item.text : '')}\r\n initialSelectedItem={selectedItemCombo.workRelated}\r\n items={this.props.appWorkRelated}\r\n invalid={validations.workRelated != null}\r\n disabled={this.state.isDisabled}\r\n />\r\n {validations.workRelated}\r\n \r\n
    \r\n
    \r\n {showIsWorkRelatedCommunting && (\r\n
    \r\n
    \r\n \r\n (item ? item.text : '')}\r\n initialSelectedItem={selectedItemCombo.place}\r\n items={this.props.appPlace}\r\n invalid={validations.place != null}\r\n disabled={this.state.isDisabled}\r\n />\r\n {validations.place}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {validations.companyVehicleProvided}\r\n \r\n
    \r\n
    \r\n )}\r\n\r\n
    \r\n
    \r\n \r\n \r\n this.updateState('briefDescription', el.target.value, 'incidentModel')\r\n }\r\n hideLabel={true}\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={100}\r\n disabled={this.state.isDisabled}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n \r\n this.updateState('immediateActionsTaken', el.target.value, 'incidentModel')\r\n }\r\n hideLabel={true}\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={100}\r\n disabled={this.state.isDisabled}\r\n />\r\n \r\n
    \r\n
    \r\n {/* //RITM0615454_DEV615_MatriciOutcomes */}\r\n { }}\r\n handleChangeRadioAssestmentLevel={() => { }}\r\n isDisabled={true}\r\n automaticallyCalculated={true}\r\n />\r\n\r\n
    \r\n
    \r\n

    Life Saving Rules Violations

    \r\n
    \r\n
    \r\n
    \r\n {this.props.appLifeSavingRuleCategory.map((item) => (\r\n // \r\n
    \r\n {this.getLifeSavingRuleByCategory(this.props.appLifeSavingRule, item.id).map(\r\n (rule) => (\r\n
    \r\n el.idLifeSavingRule == rule.id\r\n ) != null\r\n }\r\n onChange={this.handleChangeLifeSavingRules}\r\n className=\"\"\r\n // RITM0615447\r\n disabled={this.isLifeSavingRulesDisabled(rule.id)}\r\n />\r\n
    \r\n )\r\n )}\r\n
    \r\n // \r\n ))}\r\n {/* RITM0615447 */}\r\n
    \r\n el.idLifeSavingRule == NoViolationLSR?.id\r\n ) != null\r\n }\r\n onChange={this.handleChangeLifeSavingRules}\r\n className=\"\"\r\n disabled={this.isLifeSavingRulesDisabled(NoViolationLSR?.id)}\r\n />\r\n
    \r\n
    \r\n {this.props.toSubmit && (this.state.incidentModel.lifeSavingRules == null || this.state.incidentModel.lifeSavingRules?.length <= 0) ? \r\n
    \r\n
    The life saving rules violation field is required.
    \r\n
    \r\n : <>\r\n }\r\n \r\n {/* FINE RITM0615447 */}\r\n
    \r\n
    \r\n \r\n \r\n this.updateState('lsrNote', el.target.value, 'incidentModel')\r\n }\r\n hideLabel={true}\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={100}\r\n disabled={this.state.isDisabled}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Attachments

    \r\n
    (It is prohibited to add in the report/notification any sensitive picture (i.e. wound, stitches, broken part, etc..) or any sensitive information related to the injured person. It is also forbidden to upload photos on which is possible to recognize specific people)
    \r\n
    \r\n
    \r\n \r\n
    {validations.attachment}
    \r\n
    \r\n
    \r\n
    \r\n

    1.3 General Data

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

    Notification Finalisation

    \r\n
    \r\n
    \r\n {this.state.incidentModel && this.state.incidentModel.notificationDate &&\r\n !this.state.incidentModel.notificationDate.startsWith('0001-01-01') && (\r\n
    \r\n \r\n \r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n this.updateState('mailTo', value, 'incidentModel')}\r\n invalid={validations.mailTo != null}\r\n disabled={this.state.isDisabled}\r\n title=\"⚠ Do Not use Personal Accounts\"\r\n //placeholder=\"Input mail To\"\r\n />\r\n\r\n {/* */}\r\n {validations.mailTo}\r\n \r\n
    \r\n
    \r\n \r\n this.updateState('mailCc', value, 'incidentModel')}\r\n disabled={this.state.isDisabled}\r\n title=\"⚠ Do Not use Personal Accounts\"\r\n //placeholder=\"Input mail Cc\"\r\n />\r\n {/* */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.updateState('mailBody', el.target.value, 'incidentModel')\r\n }\r\n hideLabel={true}\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={100}\r\n disabled={this.state.isDisabled}\r\n invalid={validations.mailBody != null}\r\n />\r\n {validations.mailBody}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n this.props.cancel()}\r\n className=\"bx--col bx--btn--max-width\"\r\n size=\"default\"\r\n kind=\"secondary\"\r\n >\r\n Cancel\r\n \r\n this.saveTabNotification(false)}\r\n disabled={this.state.isDisabled}\r\n className=\"bx--col bx--btn--max-width\"\r\n size=\"default\"\r\n kind=\"primary\"\r\n >\r\n Save\r\n \r\n this.saveTabNotification(true)}\r\n disabled={this.state.isDisabled}\r\n className=\"bx--col bx--btn--max-width\"\r\n size=\"default\"\r\n kind=\"primary\"\r\n >\r\n Save & Send\r\n \r\n window.print()}\r\n disabled={this.state.isDisabled}\r\n className=\"bx--col bx--btn--max-width\"\r\n size=\"default\"\r\n kind=\"secondary\"\r\n >\r\n Print\r\n \r\n this.selectTab(1)}\r\n disabled={!this.props.isEdit}\r\n className=\"bx--col bx--btn--max-width\"\r\n size=\"default\"\r\n kind=\"secondary\"\r\n >\r\n Next Step\r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Button, FormGroup, TextArea, TextInput, Loading } from 'carbon-components-react';\r\nimport { DocumentExport16 } from '@carbon/icons-react/lib/';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { v4 as uuid } from 'uuid';\r\nimport PropTypes from 'prop-types';\r\nimport FileDownLoadButton from '../common/FileDownloadButton';\r\nimport { Section } from '../../lib/react-scroll-section/src/index';\r\nimport { Menu, Item } from '../../helpers/scrolling/ScrollingMenuItem';\r\nimport '../../scss/custom.scss';\r\n\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport { getSuccess, getError, entitiesLabels, apioperation } from '../../helpers/Constants';\r\nimport { api, dynamic } from '../../helpers/api/api';\r\nimport { ConfirmAlertCustom } from '../../helpers/ConfirmAlertCustom';\r\nimport { IsEditable } from '../../helpers/authorization/Policies';\r\nimport EmailChips from '../../helpers/EmailChips';\r\nimport { Online, Offline } from '../common/OnLineOffLine';\r\n\r\nconst incidentTabReportModel = {\r\n id: null,\r\n noInjured: null,\r\n injuredPeople: [], // array di IncidentInjuredPerson\r\n eventCause: '',\r\n actions: '',\r\n dueDate: null,\r\n mailBodyReport: null,\r\n mailSubjectReport: null,\r\n};\r\nexport default class IncidentTabReport extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator();\r\n this.updateState = this.updateState.bind(this);\r\n // this.handleChangeCombo = this.handleChangeCombo.bind(this);\r\n this.state = {\r\n ...this.initialState(props),\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.getContractType();\r\n this.getShiftDuration();\r\n this.getInjurySource();\r\n this.getInjuryClass();\r\n this.getBodyPart();\r\n this.setMailSubject();\r\n }\r\n\r\n setMailSubject() {\r\n if (!this.state.incidentModel.mailSubjectReport) {\r\n const statusCopy = { ...this.state };\r\n statusCopy.incidentModel.mailSubjectReport = `Incident ID ${this.props.incidentEditModel.incidentReportId} Investigation Report`;\r\n this.setState(statusCopy);\r\n } else {\r\n const statusCopy = { ...this.state };\r\n statusCopy.incidentModel.mailSubjectReport = this.state.incidentModel.mailSubjectReport;\r\n this.setState(statusCopy);\r\n }\r\n }\r\n\r\n getBodyPart() {\r\n dynamic\r\n .getAll('bodypart', { params: { page: 0 } })\r\n .then((response) => {\r\n const data = response.data.itemList;\r\n this.setState({\r\n appBodyPart: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.BODYPART, apioperation.GET));\r\n })\r\n .finally(() => {});\r\n }\r\n\r\n getInjuryClass() {\r\n dynamic\r\n .getAll('injuryclass', { params: { page: 0 } })\r\n .then((response) => {\r\n const data = response.data.itemList;\r\n this.setState({\r\n appInjuryClass: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INJURYCLASS, apioperation.GET));\r\n })\r\n .finally(() => {});\r\n }\r\n\r\n getInjurySource() {\r\n dynamic\r\n .getAll('injurysource', { params: { page: 0 } })\r\n .then((response) => {\r\n const data = response.data.itemList;\r\n this.setState({\r\n appInjurySource: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INJURYSOURCE, apioperation.GET));\r\n })\r\n .finally(() => {});\r\n }\r\n\r\n getContractType() {\r\n dynamic\r\n .getAll('contracttype', { params: { page: 0 } })\r\n .then((response) => {\r\n const data = response.data.itemList;\r\n this.setState({\r\n appContractType: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.CONTRACTTYPE, apioperation.GET));\r\n })\r\n .finally(() => {});\r\n }\r\n\r\n getShiftDuration() {\r\n dynamic\r\n .getAll('shiftduration', { params: { page: 0 } })\r\n .then((response) => {\r\n const data = response.data.itemList;\r\n this.setState({\r\n appShiftDuration: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.SHIFDURATION, apioperation.GET));\r\n })\r\n .finally(() => {});\r\n }\r\n\r\n initialState = (props) => {\r\n const initialState = {\r\n keyModal: `modal_${new Date().getTime()}`,\r\n editModel: null,\r\n isEditModal: false,\r\n isOpenModal: false,\r\n isOpenDeleteModal: false,\r\n isDeleting: false,\r\n idToDelete: false,\r\n isLoadingReportFile: false,\r\n incidentModel: {\r\n ...incidentTabReportModel,\r\n },\r\n isDisabled: true,\r\n };\r\n if (props.incidentEditModel) {\r\n initialState.incidentModel = { ...props.incidentEditModel };\r\n initialState.isDisabled = !IsEditable(\r\n 'Incident',\r\n 'Reporting',\r\n props.user,\r\n props.incidentEditModel.status.id,\r\n 'Report',\r\n props.incidentEditModel\r\n );\r\n }\r\n return initialState;\r\n };\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n\r\n this.setState(statusCopy);\r\n };\r\n\r\n updateStateDP = (inputName, inputValue, objName) => {\r\n this.setState(\r\n (prevState) => ({\r\n [objName]: {\r\n ...prevState[objName],\r\n [inputName]: inputValue,\r\n },\r\n }),\r\n () => {\r\n this.initialState(inputName, inputValue);\r\n }\r\n );\r\n };\r\n\r\n selectTab = (index) => {\r\n this.props.selectTab(index);\r\n };\r\n\r\n toggleModal = (open) => {\r\n this.setState({ isOpenModal: open });\r\n };\r\n\r\n addNewPerson = () => {\r\n this.setState({ keyModal: `modal_${new Date().getTime()}` });\r\n this.setState({ isEditModal: false, isOpenModal: true, editModel: null });\r\n };\r\n\r\n editModal = (id) => {\r\n this.setState({ keyModal: `modal_${new Date().getTime()}` });\r\n this.setState((prevState) => {\r\n const item = prevState.incidentModel.injuredPeople.find((el) => el.id === id);\r\n return { editModel: item, isEditModal: true, isOpenModal: true };\r\n });\r\n };\r\n\r\n handleSaveModal = (data) => {\r\n try {\r\n if (data == null) return;\r\n\r\n const oldinjuredPeople = this.state.incidentModel.injuredPeople || [];\r\n\r\n if (this.state.isEditModal) {\r\n // edit\r\n const { id } = data;\r\n const indexElement = oldinjuredPeople.findIndex((el) => el.id === id);\r\n if (indexElement > -1) {\r\n const newinjuredPeople = [...oldinjuredPeople];\r\n newinjuredPeople[indexElement] = data;\r\n this.updateState('injuredPeople', newinjuredPeople, 'incidentModel');\r\n } else {\r\n showNotification.error();\r\n }\r\n } else {\r\n // insert\r\n const dataObj = { ...data };\r\n dataObj.idIncident = this.props.incidentEditModel.id;\r\n dataObj.id = uuid(); // id IncidentInjuredPerson\r\n dataObj.toSave = true; // solo gli injured appena creati possono essere modificati\r\n const newinjuredPeople = oldinjuredPeople.concat([dataObj]);\r\n this.updateState('injuredPeople', newinjuredPeople, 'incidentModel');\r\n }\r\n\r\n this.setState({ isOpenModal: false });\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INCIDENT, 'handleSaveModal'));\r\n }\r\n };\r\n\r\n getInjuryTypeName = (id) => {\r\n const element = this.props.appInjuryType.find((el) => el.id === id);\r\n return element ? element.name : '';\r\n };\r\n\r\n saveTabReport = () => {\r\n if (this.validator.allValid()) {\r\n this.props.isSubmitted(true);\r\n\r\n const datiForm = this.state.incidentModel;\r\n\r\n api\r\n .put('/incident/', datiForm, `${datiForm.id}/report`)\r\n .then((response) => {\r\n if (response.status === 200) {\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,\r\n this.state.incidentModel.id != null\r\n ? `${entitiesLabels.INCIDENT} ${entitiesLabels.WITHCODE} ${datiForm.incidentReportId} ${getSuccess('report distribution', apioperation.PUT)}`\r\n : getSuccess(entitiesLabels.INCIDENT, apioperation.POST)\r\n );\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INCIDENT, apioperation.POST));\r\n })\r\n .finally(() => {\r\n this.props.isSubmitted(false);\r\n });\r\n this.props.updateCacheIncidentModel(datiForm, 'tabReport');\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.INCIDENT} required fields are missing `\r\n );\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n confirmDelete = (id) => {\r\n this.setState({\r\n idToDelete: id,\r\n isOpenDeleteModal: true,\r\n isDeleting: false,\r\n });\r\n };\r\n\r\n onCloseConfirm = () => {\r\n this.setState({\r\n isOpenDeleteModal: false,\r\n });\r\n };\r\n\r\n deleteItem = () => {\r\n const id = this.state.idToDelete;\r\n this.setState({\r\n isDeleting: true,\r\n });\r\n\r\n this.setState((prevState) => {\r\n const statusCopy = { ...prevState.incidentModel };\r\n statusCopy.injuredPeople = statusCopy.injuredPeople.filter((el) => el.id !== id);\r\n\r\n return {\r\n incidentModel: statusCopy,\r\n isDeleting: false,\r\n isOpenDeleteModal: false,\r\n };\r\n });\r\n };\r\n\r\n handleChangeRadio = (value, id, event) => {\r\n let v = null; \r\n if (value === 'true') {\r\n v = true;\r\n } else if (value === 'false') {\r\n v = false;\r\n } else if (value === 'null') {\r\n v = null;\r\n }\r\n\r\n this.updateState(event.target.name, v, event.target.alt);\r\n };\r\n \r\n handleChangeModel = (el) => {\r\n const inputName = el.target.name;\r\n const inputValue = el.target.value;\r\n const objName = el.target.alt;\r\n this.updateState(inputName, inputValue, objName);\r\n };\r\n\r\n render() {\r\n if (!this.props.incidentEditModel || !this.props.incidentEditModel.id) {\r\n return null;\r\n }\r\n\r\n this.validator.purgeFields(); // si usa quando ci sono validazioni condizionali tra più campi\r\n const validations = {\r\n // immediateActions: \r\n // this.validator.message('immediateActions', \r\n // this.state.hocCardModel.immediateActions,\r\n // 'required'),\r\n mailBodyReport: this.validator.message(\r\n 'mailBodyReport',\r\n this.state.incidentModel.mailBodyReport,\r\n 'required'\r\n ),\r\n mailSubjectReport: this.validator.message(\r\n 'mailSubjectReport',\r\n this.state.incidentModel.mailSubjectReport,\r\n 'required'\r\n ),\r\n };\r\n\r\n const rows = this.state.incidentModel.injuredPeople || [];\r\n // const injuredPersonModalProps = {\r\n // key: this.state.keyModal,\r\n // title: 'Injured Person',\r\n // editModel: this.state.editModel,\r\n // isOpenModal: this.state.isOpenModal,\r\n // isEditModal: this.state.isEditModal,\r\n // mode: this.state.isEditModal ? 2 : 0,\r\n // appType: this.props.appType,\r\n // appNationality: this.props.appCountry,\r\n // appInjuryType: this.props.appInjuryType,\r\n // appContractType: this.state.appContractType,\r\n // appShiftDuration: this.state.appShiftDuration,\r\n // appInjurySource: this.state.appInjurySource,\r\n // appInjuryClass: this.state.appInjuryClass,\r\n // appBodyPart: this.state.appBodyPart,\r\n // toggleModal: this.toggleModal,\r\n // save: this.handleSaveModal,\r\n // };\r\n\r\n const getNameById = (id) => {\r\n if (id == null) return '';\r\n const element = rows.find((el) => el.id === id);\r\n return element ? element.fullname : '';\r\n };\r\n\r\n // const confirmDelProps = () => ({\r\n // idToDelete: this.state.idToDelete,\r\n // nameItem: getNameById(this.state.idToDelete),\r\n // isDeleting: this.state.isDeleting,\r\n // open: this.state.isOpenDeleteModal, // open state\r\n // onCloseConfirm: this.onCloseConfirm, // no click\r\n // deleteItem: this.deleteItem, // yes click fn()\r\n // });\r\n\r\n return (\r\n <>\r\n \r\n \r\n
    \r\n
    \r\n \r\n 4.1 Report Distribution\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {' '}\r\n

    \r\n 4.1 Report Distribution\r\n

    \r\n {' '}\r\n \r\n {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.INCIDENT_REPORT, apioperation.DOWNLOAD)\r\n );\r\n }}\r\n size=\"small\"\r\n className=\" selection-items-list-costum bx--data-table-container-absolute \"\r\n renderIcon={DocumentExport16}\r\n iconDescription=\"Download Report\"\r\n title=\"Download Report\"\r\n kind=\"ghost\"\r\n apiUrl={`/incident/report/${this.state.incidentModel.id}`}\r\n fileName={`Incident_Report_${this.state.incidentModel.incidentReportId}.pdf`}\r\n onDownLoadStart={() => {\r\n this.setState({\r\n isLoadingReportFile: true,\r\n });\r\n }}\r\n onDownLoadEnd={() => {\r\n this.setState({\r\n isLoadingReportFile: false,\r\n });\r\n }}\r\n />\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n this.updateState('mailTo', value, 'incidentModel')}\r\n invalid={validations.mailTo != null}\r\n disabled={this.state.isDisabled}\r\n title=\"⚠ Do Not use Personal Accounts\"\r\n // placeholder=\"Input mail To\"\r\n />\r\n\r\n {/* */}\r\n {validations.mailTo}\r\n \r\n
    \r\n
    \r\n \r\n this.updateState('mailCc', value, 'incidentModel')}\r\n disabled={this.state.isDisabled}\r\n title=\"⚠ Do Not use Personal Accounts\"\r\n // placeholder=\"Input mail Cc\"\r\n />\r\n {/* */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {validations.mailSubjectReport}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.updateState('mailBodyReport', el.target.value, 'incidentModel')\r\n }\r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={100}\r\n disabled={this.state.isDisabled}\r\n invalid={validations.mailBody != null}\r\n />\r\n {validations.mailBodyReport}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n this.selectTab(2)}\r\n className=\"bx--col bx--btn--max-width\"\r\n size=\"default\"\r\n kind=\"secondary\"\r\n >\r\n Prev Step\r\n \r\n this.props.cancel()}\r\n className=\"bx--col bx--btn--max-width\"\r\n size=\"default\"\r\n kind=\"secondary\"\r\n >\r\n Cancel\r\n \r\n this.saveTabReport()}\r\n disabled={this.state.isDisabled}\r\n className=\"bx--col bx--btn--max-width\"\r\n size=\"default\"\r\n kind=\"primary\"\r\n >\r\n Save\r\n \r\n \r\n this.props.submitReport()}\r\n className=\"bx--col bx--btn--max-width\"\r\n size=\"default\"\r\n kind=\"primary\"\r\n >\r\n Submit\r\n \r\n \r\n \r\n this.props.submitReport()}\r\n className=\"bx--col bx--btn--max-width\"\r\n size=\"default\"\r\n kind=\"primary\"\r\n >\r\n Submit\r\n \r\n \r\n window.print()}\r\n disabled={this.state.isDisabled}\r\n className=\"bx--col bx--btn--max-width\"\r\n size=\"default\"\r\n kind=\"secondary\"\r\n >\r\n Print\r\n \r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nIncidentTabReport.propTypes = {\r\n cancel: PropTypes.func.isRequired,\r\n isSubmitted: PropTypes.func.isRequired,\r\n selectTab: PropTypes.func.isRequired,\r\n submitReport: PropTypes.func.isRequired,\r\n updateCacheIncidentModel: PropTypes.func.isRequired,\r\n appInjuryType: PropTypes.arrayOf(PropTypes.shape({\r\n id: PropTypes.string,\r\n code: PropTypes.string,\r\n name: PropTypes.string,\r\n inUse: PropTypes.bool,\r\n createdBy: PropTypes.string,\r\n createdOn: PropTypes.instanceOf(Date),\r\n updatedBy: PropTypes.string,\r\n updatedOn: PropTypes.instanceOf(Date),\r\n validSince: PropTypes.instanceOf(Date),\r\n validUntil: PropTypes.instanceOf(Date),\r\n typology: PropTypes.string\r\n })).isRequired,\r\n incidentEditModel: PropTypes.shape({\r\n noInjured: PropTypes.string,\r\n injuredPeople: PropTypes.array,\r\n eventCause: PropTypes.string,\r\n actions: PropTypes.string,\r\n dueDate: PropTypes.instanceOf(Date),\r\n mailTo: PropTypes.string,\r\n mailCc: PropTypes.string,\r\n mailBodyReport: PropTypes.string,\r\n mailSubjectReport: PropTypes.string,\r\n processed: PropTypes.bool,\r\n id: PropTypes.string,\r\n progressiveId: PropTypes.number,\r\n incidentReportId: PropTypes.string,\r\n idStatus: PropTypes.number,\r\n status: PropTypes.object,\r\n idCompiler: PropTypes.string,\r\n idDataApprover: PropTypes.string,\r\n idDivisionManager: PropTypes.string,\r\n }).isRequired\r\n};\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n TextArea,\r\n Button,\r\n FormGroup,\r\n ComposedModal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Toggle,\r\n} from 'carbon-components-react';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { entitiesLabels } from '../../helpers/Constants';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport DateTimePicker from '../../helpers/DateTimePicker';\r\n\r\nexport class IncidentEventModal extends Component {\r\n incidentEventModel = (props) => {\r\n if (props.isEditModal) {\r\n return { ...props.editModel };\r\n }\r\n\r\n return {\r\n id: null, //guid\r\n occurredAt: null, //datetime\r\n briefDescription: '', //string\r\n anomaly: false, //bool\r\n idIncident: null, //guid\r\n };\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator({autoForceUpdate: this, locale: 'en'}); \r\n this.validatorTime = new SimpleReactValidator({autoForceUpdate: this, locale: 'en'});\r\n this.state = {\r\n flagTime : false,\r\n model: {\r\n ...this.incidentEventModel(props),\r\n },\r\n };\r\n }\r\n\r\n updateStatesTime = (inputName, inputValue, objName) => { \r\n if(inputValue==false){\r\n this.setState({flagTime:true});\r\n if (this.validatorTime.allValid()) {\r\n this.validatorTime.showMessages();\r\n }}\r\n else{\r\n let statusCopy = Object.assign({}, this.state);\r\n statusCopy[objName][inputName] = inputValue;\r\n statusCopy.flagTime = false;\r\n this.setState(statusCopy);\r\n }\r\n }\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n let statusCopy = Object.assign({}, this.state);\r\n statusCopy[objName][inputName] = inputValue;\r\n\r\n this.setState(statusCopy);\r\n };\r\n\r\n handleChangeModel = (el) => {\r\n let inputName = el.target.name;\r\n let inputValue = el.target.value;\r\n\r\n let statusCopy = Object.assign({}, this.state.model);\r\n statusCopy[inputName] = inputValue;\r\n\r\n this.setState({ model: statusCopy });\r\n };\r\n\r\n handleToggle = (value, id) => {\r\n //onchange toggle widget\r\n this.setState((prevState) => ({\r\n model: {\r\n ...prevState.model,\r\n [id]: value,\r\n },\r\n }));\r\n };\r\n\r\n save = () => {\r\n if (this.validator.allValid()) {\r\n if(!this.validatorTime.allValid()){\r\n this.props.save(this.state.model);\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,'Event created successfully');\r\n }\r\n else {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`,\r\n entitiesLabels.INCIDENT + ' time is invalid '\r\n );\r\n }}\r\n else {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`,\r\n entitiesLabels.INCIDENT + ' required fields are missing '\r\n );\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n\r\n render() {\r\n const validationsTime = {\r\n validTime: this.validatorTime.message(\r\n 'validTime',\r\n this.state.flagTime,\r\n 'accepted'\r\n ), \r\n }\r\n const validations = {\r\n // immediateActions: this.validator.message('immediateActions', this.state.hocCardModel.immediateActions, 'required'),\r\n occurredAt: this.validator.message('occurredAt', this.state.model.occurredAt, 'required'),\r\n briefDescription: this.validator.message(\r\n 'briefDescription',\r\n this.state.model.briefDescription,\r\n 'required'\r\n ),\r\n };\r\n const modalHeader = {\r\n title: this.props.isEditModal ? 'Edit ' : 'Add new ',\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.props.toggleModal(false),\r\n };\r\n const { title, isOpenModal } = this.props;\r\n\r\n return (\r\n {\r\n return false;\r\n }}\r\n >\r\n \r\n

    {title || ''}

    \r\n
    \r\n \r\n {\r\n
    \r\n
    \r\n \r\n \r\n {validations.occurredAt || validations.time}\r\n {this.state.flagTime? (\r\n
    Invalid time format
    \r\n ): null} \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {validations.briefDescription}\r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nIncidentEventModal.propTypes = {\r\n save: PropTypes.func.isRequired,\r\n toggleModal: PropTypes.func.isRequired,\r\n isEditModal: PropTypes.bool,\r\n isOpenModal: PropTypes.bool,\r\n // mode: PropTypes.number,\r\n // title: PropTypes.string,\r\n // appType: PropTypes.array,\r\n // appNationality: PropTypes.array,\r\n // appInjuryType: PropTypes.array,\r\n};\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n TextInput,\r\n Button,\r\n Table,\r\n DataTable,\r\n TableContainer,\r\n TableHead,\r\n TableHeader,\r\n TableBody,\r\n TableRow,\r\n ComposedModal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n DataTableSkeleton,\r\n} from 'carbon-components-react';\r\n\r\nimport { RadioButton20, RadioButtonChecked20 } from '@carbon/icons-react';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport { getError, entitiesLabels, apioperation } from '../../helpers/Constants';\r\nimport { api } from '../../helpers/api/api';\r\nimport {\r\n RenderDataTableCell,\r\n NoRecordsPlaceholder,\r\n} from '../../helpers/jsonschemaform/DataTableExtention';\r\nimport AuditRepository from '../../helpers/api/AuditRepository';\r\n\r\nexport class FindGHRSEmployer extends Component {\r\n initState = () => {\r\n return {\r\n badgeNumber: '',\r\n surname: '',\r\n name: '',\r\n selectedRow: null,\r\n isLoading: false,\r\n currentPage: 1,\r\n pageSize: 10,\r\n rowCount: 0,\r\n itemList: [],\r\n };\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n ...this.initState(),\r\n employees: null,\r\n };\r\n this.repository = new AuditRepository();\r\n }\r\n\r\n handleChangeModel = (el) => {\r\n let inputName = el.target.name;\r\n let inputValue = el.target.value;\r\n this.setState({ [inputName]: inputValue });\r\n };\r\n\r\n handleClickOk = () => {\r\n let employersList = this.state.itemList || [];\r\n let selectedId = this.state.selectedRow;\r\n let employer = employersList.find((el) => el.id === selectedId);\r\n let participantAlreadyAdded = false\r\n if(this.props.participants){\r\n participantAlreadyAdded = this.props.participants.find((el) => el.idEmployer === employer.id) ? true : false;\r\n } \r\n\r\n if (selectedId == null || employer == null) {\r\n //todo messaggio toast\r\n showNotification.warning(`${entitiesLabels.WARNING}`,'Select an employer');\r\n return;\r\n }\r\n\r\n if(participantAlreadyAdded){\r\n showNotification.warning(`${entitiesLabels.WARNING}`,'Employer already present in the training');\r\n return;\r\n }\r\n\r\n return this.props.onOk(employer);\r\n };\r\n\r\n handleChangePaging = (event) => {\r\n this.getEmployees(event);\r\n };\r\n\r\n handleClearSearch = () => {\r\n this.setState({ ...this.initState() });\r\n };\r\n\r\n /*************API********************/\r\n getEmployeesFromApi = (param) => {\r\n this.setState({ isLoading: true });\r\n\r\n const data = {\r\n params: {\r\n page: param && param.page ? param.page : this.state.currentPage,\r\n pageSize: param && param.pageSize ? param.pageSize : this.state.pageSize,\r\n badgeNumber: this.state.badgeNumber,\r\n surname: this.state.surname,\r\n name: this.state.name,\r\n },\r\n };\r\n //TODO validazione almeno 1 campo di ricerca valorizzato, e min length per name e surname ?\r\n api\r\n .getWithParam('/employees', data)\r\n .then((response) => {\r\n this.setState({\r\n ...response.data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.EMPLOYER, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoading: false,\r\n });\r\n });\r\n };\r\n\r\n getEmployees = async (param) => {\r\n const badgeNumber = this.state.badgeNumber;\r\n const surname = this.state.surname;\r\n const name = this.state.name;\r\n\r\n if (badgeNumber || surname || name) {\r\n const isOnline =\r\n typeof navigator !== 'undefined' && typeof navigator.onLine === 'boolean'\r\n ? navigator.onLine\r\n : true;\r\n if (isOnline) return this.getEmployeesFromApi(param);\r\n\r\n try {\r\n this.setState({ isLoading: true });\r\n var employees = this.state.employees;\r\n if (!employees) {\r\n //se gli employees non sono ancora stati caricati nello state, li recupoero dalla cache\r\n employees = await this.repository.getCachedEmployees();\r\n if (!employees) {\r\n //se la cache è vuota recupero dal server\r\n employees = (await api.getAll(`/employees/all`)).data;\r\n }\r\n\r\n this.setState({\r\n employees,\r\n });\r\n }\r\n\r\n const filterItem = employees\r\n .filter(\r\n (el) =>\r\n (!badgeNumber || el.ghrS_ID === badgeNumber) &&\r\n (!surname || el.surname.toLowerCase().includes(surname.toLowerCase())) &&\r\n (!name || el.name.toLowerCase().includes(name.toLowerCase()))\r\n )\r\n .slice(0, 50); //restituisco solo una parte dei risultati\r\n\r\n this.setState({\r\n itemList: filterItem,\r\n });\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.EMPLOYER, apioperation.GET));\r\n } finally {\r\n this.setState({\r\n isLoading: false,\r\n });\r\n }\r\n } else {\r\n //inserire almeno un campo\r\n showNotification.warning(`${entitiesLabels.WARNING}`,'Fill the search fields');\r\n }\r\n };\r\n /*********************************/\r\n\r\n render() {\r\n const modalHeader = {\r\n title: 'Import employee from GHRS',\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.props.onCancel(2),\r\n };\r\n const DTHeaders = [\r\n { key: 'ghrS_ID', header: 'Badge Number' },\r\n { key: 'company_ID', header: 'Company' },\r\n { key: 'surname', header: 'Surname' },\r\n { key: 'name', header: 'Name' },\r\n { key: 'country', header: 'Nationality' },\r\n ];\r\n const DTRows = this.state.itemList || [];\r\n\r\n return (\r\n {\r\n return 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
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n this.handleClearSearch()}\r\n >\r\n Clear\r\n \r\n this.getEmployees()}\r\n >\r\n Search\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n (\r\n \r\n {this.state.isLoading ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n {row.cells.map((cell) => (\r\n x.key === cell.info.header)}\r\n />\r\n ))}\r\n \r\n ))\r\n )}\r\n \r\n
    \r\n {headers.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n \r\n \r\n \r\n {rows == null || rows.length == 0 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n this.setState({ selectedRow: row.id })}\r\n >\r\n \r\n {this.state.selectedRow === 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
    \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nFindGHRSEmployer.propTypes = {\r\n onCancel: PropTypes.func.isRequired,\r\n onOk: PropTypes.func.isRequired,\r\n isOpenModal: PropTypes.bool,\r\n};\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n TextInput,\r\n Button,\r\n FormGroup,\r\n ComposedModal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n DropdownSkeleton,\r\n Toggle\r\n} from 'carbon-components-react';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { ComboBox } from '../../helpers/ComboBox';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport { FindGHRSEmployer } from '../common/FindGHRSEmployer';\r\nimport { entitiesLabels } from '../../helpers/Constants';\r\n\r\nexport class WitnessPeopleModal extends Component {\r\n incidentWitnessPeopleModel = (props) => {\r\n if (props.isEditModal) {\r\n return { ...props.editModel };\r\n }\r\n\r\n return {\r\n id: null, //guid\r\n idIncident: null, //guid\r\n witnessStatement: false, //bool\r\n idInvolvedPerson: null, //guid = involvedPerson.id\r\n involvedPerson: {\r\n id: null, //guid\r\n type: '',\r\n badgeNumber: '',\r\n nationalID: '',\r\n fullname: '',\r\n //nationality: '',\r\n idEmployer: null, //guid\r\n },\r\n };\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator({ autoForceUpdate: this, locale: 'en' });\r\n this.state = {\r\n model: {\r\n ...this.incidentWitnessPeopleModel(props),\r\n },\r\n mode: props.mode || 0,\r\n };\r\n }\r\n\r\n handleChangeModel = (el) => {\r\n let inputName = el.target.name;\r\n let inputValue = el.target.value;\r\n\r\n let statusCopy = Object.assign({}, this.state.model);\r\n statusCopy.involvedPerson[inputName] = inputValue;\r\n\r\n this.setState({ model: statusCopy });\r\n };\r\n\r\n handleChangeComboType = (inputName, selectedItem, objName) => {\r\n let inputValue = selectedItem ? selectedItem.id : null;\r\n let statusCopy = Object.assign({}, this.state);\r\n\r\n statusCopy.model.involvedPerson[inputName] = inputValue;\r\n\r\n this.setState(statusCopy);\r\n };\r\n\r\n handleChangeMode = (m) => {\r\n this.setState({ mode: m });\r\n };\r\n\r\n handleToggle = (value, id) => {\r\n let statusCopy = Object.assign({}, this.state.model);\r\n statusCopy.witnessStatement = value;\r\n\r\n this.setState({ model: statusCopy });\r\n };\r\n\r\n setEmployer = (employer) => {\r\n if (employer && employer.id) {\r\n let statusCopy = Object.assign({}, this.state.model);\r\n statusCopy.involvedPerson.idEmployer = employer.id;\r\n statusCopy.involvedPerson.badgeNumber = employer.ghrS_ID;\r\n statusCopy.involvedPerson.nationalID = employer.national_ID;\r\n statusCopy.involvedPerson.fullname = employer.fullname;\r\n\r\n this.setState({ model: statusCopy, mode: 2 });\r\n }\r\n };\r\n\r\n save = () => {\r\n if (this.validator.allValid()) {\r\n this.props.save(this.state.model);\r\n showNotification.success(`${entitiesLabels.SUCCESS}`, 'Witness People created successfully');\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n entitiesLabels.WITNESSPEOPLE + ' required fields are missing '\r\n );\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n render() {\r\n const validations = {\r\n // immediateActions: this.validator.message('immediateActions', this.state.hocCardModel.immediateActions, 'required'),\r\n type: this.validator.message('type', this.state.model.involvedPerson.type, 'required'),\r\n fullname: this.validator.message(\r\n 'fullname',\r\n this.state.model.involvedPerson.fullname,\r\n 'required'\r\n ),\r\n // nationalID: this.validator.message('nationalID', this.state.model.involvedPerson.nationalID, 'required'),\r\n };\r\n const modalHeader = {\r\n title: this.props.isEditModal ? 'Edit ' : 'Add new ',\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.props.toggleModal(false),\r\n };\r\n const { title, isOpenModal } = this.props;\r\n\r\n const selectedItemCombo = {\r\n type: (this.props.appType || []).find((el) => el.id == this.state.model.involvedPerson.type),\r\n };\r\n\r\n return this.state.mode == 1 ? (\r\n this.props.toggleModal(false)}\r\n onOk={this.setEmployer}\r\n />\r\n ) : (\r\n {\r\n return false;\r\n }}\r\n >\r\n \r\n

    {title || ''}

    \r\n
    \r\n \r\n {this.state.mode == 0 ? (\r\n
    \r\n this.handleChangeMode(1)}\r\n >\r\n GHRS research\r\n \r\n this.handleChangeMode(2)}\r\n >\r\n Manual input\r\n \r\n
    \r\n ) : (\r\n
    \r\n
    \r\n
    \r\n \r\n {this.props.appType == null ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.type}\r\n items={this.props.appType}\r\n invalid={validations.type != null}\r\n />\r\n )}\r\n {validations.type}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n\r\n {validations.fullname}\r\n \r\n
    \r\n {/* Removed in RITM0701238 */}\r\n {/*
    \r\n \r\n */}\r\n\r\n {/* {validations.nationalID} */}\r\n {/* \r\n
    */}\r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nWitnessPeopleModal.propTypes = {\r\n save: PropTypes.func.isRequired,\r\n toggleModal: PropTypes.func.isRequired,\r\n isEditModal: PropTypes.bool,\r\n isOpenModal: PropTypes.bool,\r\n mode: PropTypes.number,\r\n title: PropTypes.string,\r\n appType: PropTypes.array,\r\n};\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n TextInput, Button, FormGroup, ComposedModal, ModalHeader, ModalBody, ModalFooter, Toggle\r\n} from 'carbon-components-react';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { FindGHRSEmployer } from '../common/FindGHRSEmployer'\r\nimport { entitiesLabels } from '../../helpers/Constants';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\n\r\nexport class TeamMemberModal extends Component {\r\n incidentTeamMemberModel = (props) => {\r\n\r\n if (props.isEditModal) {\r\n return { ...props.editModel };\r\n }\r\n\r\n return {\r\n id: null, //guid\r\n idIncident: null,//guid\r\n isTeamLeader: false,\r\n idEmployer: null, //guid \r\n name: null,\r\n surname:null ,\r\n email:null,\r\n ghrS_ID: null,\r\n employer: {\r\n id: null, //guid\r\n name: '',\r\n ghrS_ID: '',\r\n surname: '',\r\n email: '',\r\n },\r\n \r\n }\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator({autoForceUpdate: this, locale: 'en'});\r\n this.state = {\r\n model: {\r\n ...this.incidentTeamMemberModel(props),\r\n },\r\n mode: props.mode || 0,\r\n };\r\n }\r\n updateState = (inputName, inputValue, objName) => {\r\n let statusCopy = Object.assign({}, this.state);\r\n statusCopy[objName][inputName] = inputValue;\r\n\r\n this.setState(statusCopy);\r\n }\r\n handleChangeModel = (el) => {\r\n let inputName = el.target.name;\r\n let inputValue = el.target.value;\r\n let objName = el.target.alt;\r\n this.updateState(inputName, inputValue, objName);\r\n }\r\n\r\n handleToggle = (value, id) => {\r\n\r\n let statusCopy = Object.assign({}, this.state.model);\r\n statusCopy.isTeamLeader = value;\r\n\r\n this.setState({ model: statusCopy });\r\n }\r\n\r\n handleChangeMode = (m) => {\r\n this.setState({ mode: m })\r\n }\r\n\r\n setEmployer = (employer) => {\r\n \r\n if (employer && employer.id) {\r\n let statusCopy = Object.assign({}, this.state.model);\r\n statusCopy.idEmployer = employer.id;\r\n statusCopy.employer = employer;\r\n\r\n this.setState({ model: statusCopy, mode: 2 ,setEmployer: 1 });\r\n }\r\n }\r\n\r\n save = () => {\r\n if(this.state.model.idEmployer != null){\r\n this.props.save(this.state.model);}\r\n else{\r\n if (this.validator.allValid()) {\r\n const re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n if(re.test(String(this.state.model.email).toLowerCase())){\r\n this.props.save(this.state.model);\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,\"Team Member created successfully\");\r\n }else{\r\n showNotification.warning(`${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.TEAMMEMBER} error email. `\r\n );\r\n \r\n } \r\n }else {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`, entitiesLabels.TEAMMEMBER + \" required fields are missing \");\r\n this.forceUpdate();\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n \r\n this.validator.purgeFields();\r\n const validations = {\r\n name: this.validator.message('name', this.state.model.name , 'required'),\r\n surname: this.validator.message('surname',this.state.model.surname, 'required'),\r\n email: this.validator.message('email', this.state.model.email , 'required|email'),\r\n \r\n }\r\n const modalHeader = {\r\n title: (this.props.isEditModal ? 'Edit ' : 'Add new '),\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.props.toggleModal(false)\r\n };\r\n const { title, isOpenModal } = this.props;\r\n\r\n\r\n const disabledTeamLeader = false;\r\n\r\n return (\r\n this.state.mode == 1 ?\r\n this.props.toggleModal(false)} onOk={this.setEmployer} />\r\n :\r\n { return false; }}\r\n >\r\n

    {title || ''}

    \r\n \r\n {\r\n this.state.mode == 0 ?\r\n
    \r\n \r\n \r\n
    \r\n :\r\n
    \r\n
    \r\n {this.state.setEmployer === 1 ?\r\n \r\n \r\n :\"\" }\r\n \r\n \r\n {validations.name}\r\n \r\n \r\n \r\n {validations.surname}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {validations.email}\r\n \r\n\r\n
    \r\n
    \r\n }\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nTeamMemberModal.propTypes = {\r\n save: PropTypes.func.isRequired,\r\n toggleModal: PropTypes.func.isRequired,\r\n isEditModal: PropTypes.bool,\r\n isOpenModal: PropTypes.bool,\r\n mode: PropTypes.number,\r\n title: PropTypes.string,\r\n};","import React, { Component } from \"react\";\r\nimport PropTypes, { element } from \"prop-types\";\r\nimport {\r\n TextInput,\r\n Button,\r\n Checkbox,\r\n RadioButtonGroup,\r\n FormGroup,\r\n RadioButton,\r\n ComposedModal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n DropdownSkeleton,\r\n MultiSelect,\r\n} from \"carbon-components-react\";\r\nimport SimpleReactValidator from \"simple-react-validator\";\r\nimport { ComboBox } from \"../../helpers/ComboBox\";\r\nimport { FindGHRSEmployer } from \"../common/FindGHRSEmployer\";\r\nimport { showNotification } from \"../../helpers/notification/BaseNotification\";\r\nimport { DateFormat, entitiesLabels } from \"../../helpers/Constants\";\r\nimport DateTimePicker from \"../../helpers/DateTimePicker\";\r\nimport IncidentRepository from \"../../helpers/api/IncidentRepository\";\r\nimport { api, dynamic } from '../../helpers/api/api';\r\nimport {\r\n getSuccess,\r\n getError,\r\n apioperation\r\n} from '../../helpers/Constants';\r\nimport '../../scss/custom.scss';\r\n\r\nexport class InjuredPersonModal extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator();\r\n this.state = {\r\n loading: false, // aggiunto\r\n idsSelectedBodyParts: [], // aggiunto\r\n model: {\r\n ...this.incidentInjuredPersonModel(props),\r\n },\r\n // mode: props.mode || 0,\r\n // CR RITM0583314\r\n mode: props.mode || 2,\r\n };\r\n this.isWorkRestricedCase = 0;\r\n this.onChange = this.onChange.bind(this); // aggiunto\r\n }\r\n // aggiunto\r\n async componentDidMount() {\r\n this.setState({ loading: true });\r\n const items = await this.getItems();\r\n console.log(\"bodyParts\", items);\r\n this.setState({\r\n items,\r\n selectedItems: this.props.initialSelectedItems,\r\n loading: false,\r\n });\r\n }\r\n // aggiunto\r\n onChange = (selectedItem) => {\r\n console.log(selectedItem)\r\n const items = selectedItem ? selectedItem.selectedItems : null;\r\n // this.setState({\r\n // idsSelectedBodyParts: items?.map((elem) => elem.id),\r\n // });\r\n // const itemsId = items?.map((elem) => elem.id)\r\n const element = items?.map((elem) =>({idBodyParts: elem.id}))\r\n this.updateState(\"incidentInjuredPersonBodyPart\", element, \"model\")\r\n };\r\n // aggiunto\r\n getItems = async () => {\r\n let items = [];\r\n try {\r\n items = await IncidentRepository.getBodyParts();\r\n console.log(\"PARTS\", items);\r\n } catch (error) {\r\n console.error(error);\r\n this.props.onError(error);\r\n }\r\n return items;\r\n };\r\n\r\n incidentInjuredPersonModel = (props) => {\r\n if (props.isEditModal) {\r\n return { ...props.editModel };\r\n }\r\n\r\n return {\r\n id: null, // guid\r\n idIncident: null, // guid\r\n type: null, // ''info orifinator\r\n subContractor: null, // ''subContractor\r\n fullname: null, // ''\r\n nationality: null, // ''\r\n badgeNumber: null, // ''\r\n idEmployer: null, // '' as guid\r\n idInjuryType: null, // guid combobox\r\n idContractType: null, // guid\r\n employmentDate: null, // date\r\n prjJoiningDate: null, // date\r\n experienceYears: null, // int\r\n experienceMonths: null, // int\r\n idShiftDuration: null, // guid\r\n daysFromShiftStart: null, // int\r\n hoursFromShiftStart: null, // int\r\n drugAlchoolTest: null, // bool\r\n lastSafetyMeeting: null, // date\r\n lastMedicalCheckAvailable: null, // bool?\r\n lastMedicalCheck: null, // date\r\n lastMedicalCheckStatus: null, // combo Valid, Expired\r\n otherInfo: null, // ''\r\n daysLost: 0, // int\r\n restrictedWorkDays: 0,\r\n dateFit: null, // date\r\n restrictedActivity: null, // ''\r\n injuryRecurrent: null, // bool\r\n idInjurySource: null, // guid\r\n idInjuryClass: null, // guid\r\n GuidBodyPart: [], // guid\r\n };\r\n };\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state.model };\r\n if (objName && objName != \"model\")\r\n statusCopy[objName][inputName] = inputValue;\r\n else statusCopy[inputName] = inputValue;\r\n if (objName && inputName == \"type\") statusCopy[\"idSubContractor\"] = null;\r\n this.setState({ model: statusCopy });\r\n };\r\n\r\n updateStateDP = (inputName, inputValue, objName) => {\r\n this.setState((prevState) => ({\r\n [objName]: {\r\n ...prevState[objName],\r\n [inputName]: inputValue,\r\n },\r\n }));\r\n };\r\n\r\n handleChangeModel = (el) => {\r\n const inputName = el.target.name;\r\n const inputValue = el.target.value;\r\n const objName = el.target.alt;\r\n\r\n this.updateState(inputName, inputValue, objName);\r\n };\r\n\r\n handleChangeRadio = (value, id, event) => {\r\n if (value == \"true\") {\r\n value = true;\r\n } else if (value == \"false\") {\r\n value = false;\r\n } else if (value == \"null\") {\r\n value = null;\r\n }\r\n\r\n this.updateState(id, value, event.target.alt);\r\n };\r\n\r\n handleChangeCombo = (inputName, selectedItem, objName) => {\r\n const inputValue = selectedItem ? selectedItem.id : null;\r\n this.updateState(inputName, inputValue, objName);\r\n };\r\n\r\n handleChangeComboName = (inputName, selectedItem, objName) => {\r\n if (selectedItem != null) {\r\n selectedItem.id = selectedItem.name;\r\n }\r\n this.handleChangeCombo(inputName, selectedItem, objName);\r\n };\r\n\r\n handleChangeMode = (m) => {\r\n this.setState({ mode: m });\r\n };\r\n\r\n setEmployer = (employer) => {\r\n if (employer && employer.id) {\r\n const statusCopy = { ...this.state.model };\r\n statusCopy.idEmployer = employer.id;\r\n statusCopy.badgeNumber = employer.ghrS_ID;\r\n statusCopy.fullname = employer.fullname;\r\n statusCopy.type = 'Saipem';\r\n //const country = (this.props.appNationality || []).find((el) => el.id == employer.countryId);\r\n // RITM0586021 ---> if The countyId Field is empty we will select the N/A Country\r\n const country = (this.props.appNationality || []).find((el) => employer.countryId ? el.id == employer.countryId : el.name === \"N/A\")\r\n\r\n statusCopy.nationality = country ? country.name : '';\r\n\r\n this.setState({ model: statusCopy, mode: 2 });\r\n }\r\n };\r\n\r\n save = () => {\r\n if (this.validator.allValid()) {\r\n \r\n this.state.model.fullname=\"XXXXX\";\r\n this.state.model.restrictedActivity=\"restrictedActiviry\";\r\n const dati = this.state.model;\r\n\r\n if (this.isWorkRestricedCase == 2) {\r\n dati.daysLost = 0;\r\n } else if (this.isWorkRestricedCase == 1) {\r\n dati.restrictedWorkDays = 0;\r\n } else {\r\n dati.daysLost = 0;\r\n dati.restrictedWorkDays = 0;\r\n }\r\n\r\n this.props.save(dati);\r\n this.saveInjuredPerson(dati);\r\n this.props.updateAutoOpenInjuredPersonTI(false);\r\n //showNotification.success(`${entitiesLabels.SUCCESS}`, 'Injured Person created successfully');\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.INJUREDPEROSN} required fields are missing `\r\n );\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n\r\n saveInjuredPerson = (item) => {\r\n const datiForm = item;\r\n api\r\n .put('/incident/', datiForm, `${datiForm.idIncident}/investigation/injured/onlysave`)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n this.props.updateHarmedPeople();\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.INJUREDPEROSN, apioperation.PUT)\r\n );\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.INJUREDPEROSN, apioperation.POST)\r\n );\r\n })\r\n .finally(() => {\r\n });\r\n };\r\n\r\n returnBodyParts = (id) => this.state.model.incidentInjuredPersonBodyPart?.find(el => el.idBodyParts === id) ? true : false\r\n\r\n render() {\r\n const validations = {\r\n type: this.validator.message(\"type\", this.state.model.type, \"required\"),\r\n subContractor: this.validator.message(\r\n \"idSubContractor\",\r\n this.state.model?.type === \"Saipem\"\r\n ? true\r\n : this.state.model.idSubContractor,\r\n \"required\"\r\n ),\r\n //fullname: this.validator.message('fullname', this.state.model.fullname, 'required'),\r\n // badgeNumber : this.validator.message('badgeNumber', this.state.model.badgeNumber, 'required'),\r\n // nationality: this.validator.message(\r\n // \"nationality\",\r\n // this.state.model.nationality,\r\n // \"required\"\r\n // ),\r\n idInjuryType: this.validator.message(\r\n \"idInjuryType\",\r\n this.state.model.idInjuryType,\r\n \"required\"\r\n ),\r\n //RITM0864430\r\n // idContractType: this.validator.message(\r\n // \"idContractType\",\r\n // this.state.model.idContractType,\r\n // \"required\"\r\n // ),\r\n // employmentDate: this.validator.message(\r\n // \"employmentDate\",\r\n // this.state.model.employmentDate,\r\n // \"required\"\r\n // ),\r\n // prjJoiningDate: this.validator.message(\r\n // \"prjJoiningDate\",\r\n // this.state.model.prjJoiningDate,\r\n // \"required\"\r\n // ),\r\n // experienceYears: this.validator.message(\r\n // \"experienceYears\",\r\n // this.state.model.experienceYears,\r\n // \"required|integer\"\r\n // ),\r\n // experienceMonths: this.validator.message(\r\n // \"experienceMonths\",\r\n // this.state.model.experienceMonths,\r\n // \"required|integer\"\r\n // ),\r\n // idShiftDuration: this.validator.message(\r\n // \"idShiftDuration\",\r\n // this.state.model.idShiftDuration,\r\n // \"required\"\r\n // ),\r\n // daysFromShiftStart: this.validator.message(\r\n // \"daysFromShiftStart\",\r\n // this.state.model.daysFromShiftStart,\r\n // \"required|integer\"\r\n // ),\r\n // hoursFromShiftStart: this.validator.message(\r\n // \"hoursFromShiftStart\",\r\n // this.state.model.hoursFromShiftStart,\r\n // \"required|integer\"\r\n // ),\r\n // drugAlchoolTest: this.validator.message(\r\n // \"drugAlchoolTest\",\r\n // this.state.model.drugAlchoolTest != null,\r\n // \"accepted\"\r\n // ),\r\n // daysLost: this.validator.message('drugAlchoolTest', this.state.model.daysLost, 'required|numeric|min:0,num'),\r\n // restrictedWorkDays: this.validator.message('restrictedWorkDays', this.state.model.restrictedWorkDays, 'required|numeric|min:0,num'),\r\n // restrictedActivity: this.validator.message(\r\n // 'restrictedActivity',\r\n // this.state.model.restrictedActivity,\r\n // 'required'\r\n // ),\r\n // injuryRecurrent: this.validator.message(\r\n // \"injuryRecurrent\",\r\n // this.state.model.injuryRecurrent != null,\r\n // \"accepted\"\r\n // ),\r\n // idInjurySource: this.validator.message(\r\n // \"idInjurySource\",\r\n // this.state.model.idInjurySource,\r\n // \"required\"\r\n // ),\r\n // idInjuryClass: this.validator.message(\r\n // \"idInjuryClass\",\r\n // this.state.model.idInjuryClass,\r\n // \"required\"\r\n // ),\r\n\r\n // GuidBodyPart: this.validator.message(\r\n // \"GuidBodyPart\",\r\n // // this.state.model.idInjuryClass,\r\n // this.state.model.GuidBodyPart && this.state.model.GuidBodyPart[0],\r\n // \"required\"\r\n // ),\r\n\r\n // incidentInjuredPersonBodyPart: this.validator.message(\r\n // \"incidentInjuredPersonBodyPart\",\r\n // // this.state.model.idInjuryClass,\r\n // this.state.model.incidentInjuredPersonBodyPart && this.state.model.incidentInjuredPersonBodyPart[0],\r\n // \"required\"\r\n // ),\r\n };\r\n const modalHeader = {\r\n title: this.props.isEditModal ? \"Edit \" : \"Add new \",\r\n iconDescription: \"Close\",\r\n buttonOnClick: () => this.props.toggleModal(false),\r\n };\r\n const { title, isOpenModal } = this.props;\r\n\r\n const subTitle1 = \"Please, fill-in these 3 fields with preliminary info. They are mandatory for the Notification but you can easily modify them later.\";\r\n const subtitle2 = \"Please, fill-in all the mandatory fields to save the section.\"\r\n const subtitle = this.props.autoInjuredPersonModalFromNotification ? subTitle1 : subtitle2;\r\n \r\n\r\n const subContractorsByInfo = this.state.model?.type\r\n ? (this.props.subContractors || []).filter(\r\n (el) => el.infoOriginator?.name == this.state.model?.type\r\n )\r\n : [];\r\n\r\n const selectedItemCombo = {\r\n idInjuryType: (this.props.appInjuryType || []).find(\r\n (el) => el.id == this.state.model.idInjuryType\r\n ),\r\n nationality: (this.props.appNationality || []).find(\r\n (el) => el.name == this.state.model.nationality\r\n ),\r\n type: (this.props.appType || []).find(\r\n (el) => el.id == this.state.model.type\r\n ),\r\n subContractor: (subContractorsByInfo || {}).find(\r\n (el) => el.id == this.state.model?.idSubContractor\r\n ),\r\n idContractType: (this.props.appContractType || []).find(\r\n (el) => el.id == this.state.model.idContractType\r\n ),\r\n idShiftDuration: (this.props.appShiftDuration || []).find(\r\n (el) => el.id == this.state.model.idShiftDuration\r\n ),\r\n idInjurySource: (this.props.appInjurySource || []).find(\r\n (el) => el.id == this.state.model.idInjurySource\r\n ),\r\n idInjuryClass: (this.props.appInjuryClass || []).find(\r\n (el) => el.id == this.state.model.idInjuryClass\r\n ),\r\n selectedBodyParts: (this.props.appBodyPart || []).filter(\r\n (el) =>this.returnBodyParts(el.id))\r\n // idBodyPart: (this.props.appBodyPart || []).find(\r\n // (el) => el.id == this.state.model.idBodyPart\r\n // ),\r\n };\r\n\r\n this.isWorkRestricedCase =\r\n selectedItemCombo.idInjuryType != null &&\r\n selectedItemCombo.idInjuryType?.typology?.includes(\"Work Restricted\")\r\n ? 2\r\n : selectedItemCombo.idInjuryType != null &&\r\n selectedItemCombo.idInjuryType.typology == \"Lost Time Injury\"\r\n ? 1\r\n : 0;\r\n\r\n return this.state.mode == 1 ? (\r\n \r\n ) : (\r\n false}\r\n >\r\n \r\n

    {title +\": \"+ subtitle || \"\"}

    \r\n
    \r\n \r\n \r\n {this.state.mode == 0 ? (\r\n
    \r\n this.handleChangeMode(1)}\r\n >\r\n GHRS research\r\n \r\n this.handleChangeMode(2)}\r\n >\r\n Manual input\r\n \r\n
    \r\n ) : (\r\n
    \r\n
    \r\n
    \r\n \r\n {this.props.appType == null ? (\r\n \r\n ) : (\r\n (item ? item.name : \"\")}\r\n initialSelectedItem={selectedItemCombo.type}\r\n // items={this.props.appType.filter((el) => el.name != 'Saipem')}\r\n //CR RITM0583314\r\n items={this.props.appType.filter(\r\n (item) => item.name !== 'SAP')} // Rimuovi l'opzione \"SAP\" dalla lista //RITM1030537 \r\n disabled={this.state.model.idEmployer != null}\r\n invalid={validations.type != null}\r\n />\r\n )}\r\n {validations.type}\r\n \r\n
    \r\n
    \r\n \r\n (item ? item.name : \"\")}\r\n initialSelectedItem={selectedItemCombo.subContractor}\r\n items={subContractorsByInfo}\r\n disabled={\r\n this.state.isDisabled ||\r\n selectedItemCombo.type?.name === \"Saipem\" ||\r\n selectedItemCombo.type == null\r\n }\r\n invalid={validations.subContractor != null}\r\n />\r\n {validations.subContractor}\r\n \r\n
    \r\n {/*
    \r\n \r\n \r\n {validations.fullname}\r\n \r\n
    */}\r\n {/*
    \r\n \r\n \r\n {/* {validations.badgeNumber} */} {/*\r\n \r\n
    */\r\n }\r\n\r\n {!this.props.autoInjuredPersonModalFromNotification ? (\r\n
    \r\n \r\n {this.props.appNationality == null ? (\r\n \r\n ) : (\r\n (item ? item.name : \"\")}\r\n initialSelectedItem={selectedItemCombo.nationality}\r\n items={this.props.appNationality}\r\n disabled={this.state.model.idEmployer != null}\r\n invalid={validations.nationality != null}\r\n />\r\n )}\r\n {validations.nationality}\r\n \r\n
    \r\n ) : (\r\n
    \r\n )}\r\n \r\n
    \r\n \r\n {this.props.appInjuryType == null ? (\r\n \r\n ) : (\r\n (item ? item.name : \"\")}\r\n initialSelectedItem={selectedItemCombo.idInjuryType}\r\n items={this.props.appInjuryType}\r\n invalid={validations.idInjuryType != null}\r\n />\r\n )}\r\n {validations.idInjuryType}\r\n \r\n
    \r\n {!this.props.autoInjuredPersonModalFromNotification ? (\r\n
    \r\n
    \r\n \r\n {this.props.appContractType == null ? (\r\n \r\n ) : (\r\n (item ? item.name : \"\")}\r\n initialSelectedItem={selectedItemCombo.idContractType}\r\n items={this.props.appContractType}\r\n // invalid={validations.idContractType != null}\r\n />\r\n )}\r\n {/* {validations.idContractType} */}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {/* {validations.employmentDate} */}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {/* {validations.prjJoiningDate} */}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {/* {validations.experienceYears} */}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {/* {validations.experienceMonths} */}\r\n \r\n
    \r\n
    \r\n \r\n {this.props.appShiftDuration == null ? (\r\n \r\n ) : (\r\n (item ? item.name : \"\")}\r\n initialSelectedItem={selectedItemCombo.idShiftDuration}\r\n items={this.props.appShiftDuration}\r\n // invalid={validations.idShiftDuration != null}\r\n />\r\n )}\r\n {/* {validations.idShiftDuration} */}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {/* {validations.daysFromShiftStart} */}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {/* {validations.hoursFromShiftStart} */}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {/* {validations.drugAlchoolTest} */}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n this.updateState(id, value, \"model\")\r\n }\r\n />\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {this.isWorkRestricedCase == 1 ? (\r\n
    \r\n \r\n \r\n \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n {this.isWorkRestricedCase == 2 ? (\r\n
    \r\n \r\n \r\n {/* {validations.restrictedWorkDays} */}\r\n \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n {/*
    \r\n \r\n \r\n \r\n
    */}\r\n {/*
    \r\n \r\n \r\n {validations.restrictedActivity}\r\n \r\n
    */}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {/* {validations.injuryRecurrent} */}\r\n \r\n
    \r\n\r\n
    \r\n \r\n {this.props.appInjurySource == null ? (\r\n \r\n ) : (\r\n (item ? item.name : \"\")}\r\n initialSelectedItem={selectedItemCombo.idInjurySource}\r\n items={this.props.appInjurySource}\r\n //invalid={validations.idInjurySource != null}\r\n />\r\n )}\r\n {/* {validations.idInjurySource} */}\r\n \r\n
    \r\n
    \r\n \r\n {this.props.appInjuryClass == null ? (\r\n \r\n ) : (\r\n (item ? item.name : \"\")}\r\n initialSelectedItem={selectedItemCombo.idInjuryClass}\r\n items={this.props.appInjuryClass}\r\n // invalid={validations.idInjuryClass != null}\r\n />\r\n )}\r\n {/* {validations.idInjuryClass} */}\r\n \r\n
    \r\n
    \r\n \r\n {this.props.appBodyPart == null ? (\r\n \r\n ) : (\r\n // aggiunto\r\n elem.name).join(', ')\r\n }\r\n itemToString={(item) => (item ? item.name : \"\")}\r\n items={this.props.appBodyPart}\r\n onChange={this.onChange}\r\n type=\"default\"\r\n initialSelectedItems={selectedItemCombo.selectedBodyParts}\r\n />\r\n // (item ? item.name : \"\")}\r\n // initialSelectedItem={selectedItemCombo.idBodyPart}\r\n // items={this.props.appBodyPart}\r\n // invalid={validations.idBodyPart != null}\r\n // />\r\n )}\r\n {/* {validations.GuidBodyPart} */}\r\n \r\n
    \r\n
    \r\n\t\t\t\t ) : (\r\n
    \r\n )}\r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n this.props.toggleModal(false)}\r\n >\r\n Cancel\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nInjuredPersonModal.propTypes = {\r\n openUp: PropTypes.bool, // aggiunto\r\n save: PropTypes.func.isRequired,\r\n toggleModal: PropTypes.func.isRequired,\r\n isEditModal: PropTypes.bool,\r\n isOpenModal: PropTypes.bool,\r\n mode: PropTypes.number,\r\n title: PropTypes.string,\r\n appType: PropTypes.array,\r\n appNationality: PropTypes.array,\r\n appInjuryType: PropTypes.array,\r\n disabled: PropTypes.bool, // aggiunto\r\n initialSelectedItems: PropTypes.array, // aggiunto\r\n onChange: PropTypes.func.isRequired, // aggiunto\r\n};\r\n\r\n// aggiunto\r\nInjuredPersonModal.defaultProps = {\r\n openUp: false,\r\n invalid: false,\r\n disabled: false,\r\n initialSelectedItems: [],\r\n};\r\nexport default InjuredPersonModal;\r\n","import React, { Component } from 'react';\r\nimport {\r\n TextInput,\r\n Button,\r\n Table,\r\n Toggle,\r\n Accordion,\r\n AccordionItem,\r\n TableContainer,\r\n TableHead,\r\n TableHeader,\r\n TableBody,\r\n TableRow,\r\n TableCell,\r\n Checkbox,\r\n FormLabel,\r\n RadioButtonGroup,\r\n FormGroup,\r\n RadioButton,\r\n TextArea,\r\n TableToolbar,\r\n DropdownSkeleton,\r\n} from 'carbon-components-react';\r\nimport { Checkmark24, Add16, Edit16, Delete16 } from '@carbon/icons-react';\r\nimport { v4 as uuid } from 'uuid';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport _sortBy from 'lodash/sortBy';\r\nimport { Section } from '../../lib/react-scroll-section/src/index';\r\nimport { Menu, Item } from '../../helpers/scrolling/ScrollingMenuItem';\r\nimport '../../scss/custom.scss';\r\nimport { switchDateFormat } from '../../helpers/jsonschemaform/customwidget/utils';\r\nimport { ComboBox } from '../../helpers/ComboBox';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport {\r\n getSuccess,\r\n getError,\r\n entitiesLabels,\r\n apioperation,\r\n DateFormat,\r\n} from '../../helpers/Constants';\r\nimport { api, dynamic } from '../../helpers/api/api';\r\nimport { NoRecordsPlaceholder } from '../../helpers/jsonschemaform/DataTableExtention';\r\nimport { ConfirmAlertCustom } from '../../helpers/ConfirmAlertCustom';\r\nimport { IncidentEventModal } from './IncidentEventModal';\r\nimport { WitnessPeopleModal } from './WitnessPeopleModal';\r\nimport { TeamMemberModal } from './TeamMemberModal';\r\nimport { IncidentAttachment } from './IncidentAttachment';\r\nimport { IsEditable } from '../../helpers/authorization/Policies';\r\nimport { InjuredPersonModal } from './InjuredPersonModal';\r\nimport DateTimePicker from '../../helpers/DateTimePicker';\r\n\r\nconst incidentTabInvestigationModel = {\r\n id: null,\r\n sourceAccident: null, // ''\r\n\r\n spillLakeUM: null,\r\n spillLakeNumericValue: null, // 0\r\n spillRiverUM: null,\r\n spillRiverNumericValue: null, // 0\r\n spillSeaUM: null,\r\n spillSeaNumericValue: null, // 0\r\n spillSoilUM: null,\r\n spillSoilNumericValue: null, // 0\r\n\r\n spillSubstanceReleased: null, // ''\r\n\r\n uncontrolledReleaseLakeUM: null,\r\n uncontrolledReleaseLakeNumericValue: null, // 0\r\n uncontrolledReleaseRiverUM: null,\r\n uncontrolledReleaseRiverNumericValue: null, // 0\r\n uncontrolledReleaseSeaUM: null,\r\n uncontrolledReleaseSeaNumericValue: null, // 0\r\n uncontrolledReleaseSoilUM: null,\r\n uncontrolledReleaseSoilNumericValue: null, // 0\r\n\r\n uncontrolledReleaseSubstanceReleased: null, // ''\r\n uncontrolledReleaseDescription: null, // ''\r\n\r\n spillDescription: null, // ''\r\n isUsedSpillKit: null, // false\r\n isInPlaceProcedure: null, // false\r\n airPollUM: null,\r\n airPollSubstanceReleased: null, // ''\r\n airPollQuantityReleased: null, // 0\r\n isFloraImpacted: null, // false\r\n isFaunaImpacted: null, // false\r\n\r\n incidentEvents: null, // [IncidentEvent]\r\n\r\n idWorkArea: null, // guid\r\n idWorkProcess: null, // guid\r\n idEquipment: null, // guid\r\n idWorkProcessType: null, // solo DTO\r\n idWorkAreaType: null, // solo DTO\r\n idEquipmentType: null, // solo DTO\r\n\r\n // ---AT BUG 2844\r\n specifyOtherWorkArea: null,\r\n specifyOtherWorkProcess: null,\r\n specifyOtherEquipment: null,\r\n //---\r\n\r\n light: null,\r\n lightOrigin: null,\r\n wheather: null,\r\n sea: null,\r\n temperature: null,\r\n temperatureType: null,\r\n windSpeed: null,\r\n\r\n noWitness: null,\r\n witnessPeople: null, // [IncidentWitnessPerson],\r\n investigationTeamMembers: null, // [InvestigationTeamMember]\r\n attachment: null, // [Attachment]\r\n\r\n // investigationCriticalFactors: null,\r\n // lessonLearned: null,\r\n isSpill: false,\r\n isUncontrolledRelease: false,\r\n isFloraFaunaDamage: false,\r\n isAirPollutio: false,\r\n isOther: false,\r\n\r\n idAssetDamageType: false,\r\n idToDelete: false,\r\n injuredPeople: [],\r\n certification: null,\r\n safetyDeviceRemoved: null,\r\n safetyCritial: null,\r\n cmms: null,\r\n};\r\nconst uncontrolledCategories = ['uncontrolledReleaseRiverUM', 'uncontrolledReleaseRiverNumericValue', 'uncontrolledReleaseLakeUM', 'uncontrolledReleaseLakeNumericValue', 'uncontrolledReleaseSeaUM','uncontrolledReleaseSeaNumericValue', 'uncontrolledReleaseSoilUM' , 'uncontrolledReleaseSoilNumericValue' , 'uncontrolledReleaseContainedNumericValue']\r\nconst spillCategories = ['spillRiverUM', 'spillRiverNumericValue', 'spillLakeUM', 'spillLakeNumericValue', 'spillSeaUM','spillSeaNumericValue', 'spillSoilUM' , 'spillSoilNumericValue' , 'spillContainedNumericValue']\r\nconst spillOrUncontrolledDictionary = {'uncontrolledReleaseRiverUM':'uncontrolledReleaseRiverNumericValue', 'uncontrolledReleaseLakeUM':'uncontrolledReleaseLakeNumericValue', 'uncontrolledReleaseSeaUM':'uncontrolledReleaseSeaNumericValue','uncontrolledReleaseSoilUM':'uncontrolledReleaseSoilNumericValue', 'spillRiverUM':'spillRiverNumericValue', 'spillLakeUM':'spillLakeNumericValue', 'spillSeaUM':'spillSeaNumericValue','spillSoilUM':'spillSoilNumericValue'}\r\nexport default class IncidentTabInvestigation extends Component {\r\n initialState = (props) => {\r\n const initialState = {\r\n keyModal: `modal_${new Date().getTime()}`,\r\n editModel: null,\r\n isEditModal: false,\r\n isOpenModal: false,\r\n isOpenDeleteModal: false,\r\n isDeleting: false,\r\n idToDelete: null,\r\n\r\n keyModalWitness: `modalWitness_${new Date().getTime()}`,\r\n editModelWitness: null,\r\n isEditModalWitness: false,\r\n isOpenModalWitness: false,\r\n idToDeleteWitness: null,\r\n\r\n keyModalTeamMember: `modalTeamMember_${new Date().getTime()}`,\r\n editModelTeamMember: null,\r\n isEditModalTeamMember: false,\r\n isOpenModalTeamMember: false,\r\n idToDeleteTeamMember: null,\r\n\r\n incidentModel: {\r\n ...incidentTabInvestigationModel,\r\n },\r\n appAccidentSource: null,\r\n appMeasureUnit: null,\r\n\r\n appWorkProcessType: null,\r\n appWorkAreaType: null,\r\n appEquipmentType: null,\r\n appWorkProcess: null,\r\n appWorkArea: null,\r\n appEquipment: null,\r\n appSea: ['Calm', 'Slight', 'Moderate', 'Rough', 'Very Rough', 'High'],\r\n isDisabled: true,\r\n appBodyPart: [],\r\n appInjuryClass: [],\r\n appInjurySource: [],\r\n appShiftDuration: [],\r\n appContractType: [],\r\n assetdamagetype: [],\r\n isInNewInjuredPerson: false,\r\n isInjuredPersonsComplete: true,\r\n };\r\n if (props.incidentEditModel) {\r\n initialState.incidentModel = { ...props.incidentEditModel };\r\n initialState.isDisabled = !IsEditable(\r\n 'Incident',\r\n 'Reporting',\r\n props.user,\r\n props.incidentEditModel.status.id,\r\n 'Investigation',\r\n props.incidentEditModel\r\n );\r\n }\r\n return initialState;\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator({ autoForceUpdate: this, locale: 'en' });\r\n this.updateState = this.updateState.bind(this);\r\n this.handleChangeCombo = this.handleChangeCombo.bind(this);\r\n this.state = {\r\n ...this.initialState(props),\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.getContractType();\r\n this.getShiftDuration();\r\n this.getInjurySource();\r\n this.getAssetdamagetype();\r\n this.getInjuryClass();\r\n this.getBodyPart();\r\n api\r\n .getAll('/incident/substancereleased')\r\n .then((response) => {\r\n const data = response.data.map((elem) => elem.name);\r\n this.setState({\r\n substanceReleased: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.EQUIPMENT, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n api\r\n .getAll('/incident/impacton')\r\n .then((response) => {\r\n const data = response.data.map((elem) => elem.name);\r\n this.setState({\r\n impactOn: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.EQUIPMENT, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n dynamic\r\n .getAll('accidentsource', { params: { page: 0 } })\r\n .then((response) => {\r\n const data = response.data.itemList;\r\n this.setState({\r\n appAccidentSource: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.ACCIDENTSOURCE, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n\r\n dynamic\r\n .getAll('measureunit', { params: { page: 0 } })\r\n .then((response) => {\r\n const data = response.data.itemList;\r\n this.setState({\r\n appMeasureUnit: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.MEASUREUNIT, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n\r\n Promise.all([\r\n dynamic\r\n .getAll('workprocess', { params: { page: 0, parent: 'all' } })\r\n .then((response) => {\r\n const data = response.data.itemList;\r\n const type = _sortBy(\r\n data.filter((el) => el.idParent == null),\r\n 'name'\r\n );\r\n this.setState({\r\n appAllWorkProcess: data,\r\n appWorkProcessType: type,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.WORKPROCESS, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {}),\r\n\r\n dynamic\r\n .getAll('workarea', { params: { page: 0, parent: 'all' } })\r\n .then((response) => {\r\n const data = response.data.itemList;\r\n const type = _sortBy(\r\n data.filter((el) => el.idParent == null),\r\n 'name'\r\n );\r\n this.setState({\r\n appAllWorkArea: data,\r\n appWorkAreaType: type,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.WORKAREA, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {}),\r\n\r\n dynamic\r\n .getAll('equipment', { params: { page: 0, parent: 'all' } })\r\n .then((response) => {\r\n const data = response.data.itemList;\r\n const type = _sortBy(\r\n data.filter((el) => el.idParent == null),\r\n 'name'\r\n );\r\n this.setState({\r\n appAllEquipment: data,\r\n appEquipmentType: type,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.EQUIPMENT, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {}),\r\n ])\r\n .then((response) => {\r\n if (this.props.incidentEditModel) {\r\n // loading valori combo calcolate,\r\n if (this.state.incidentModel.idWorkProcessType) {\r\n this.getWorkProcess(this.state.incidentModel.idWorkProcessType);\r\n }\r\n if (this.state.incidentModel.idWorkAreaType) {\r\n this.getWorkArea(this.state.incidentModel.idWorkAreaType);\r\n }\r\n if (this.state.incidentModel.idEquipmentType) {\r\n this.getEquipment(this.state.incidentModel.idEquipmentType);\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n console.log({ error });\r\n });\r\n }\r\n\r\n getBodyPart() {\r\n dynamic\r\n .getAll('bodypart', { params: { page: 0 } })\r\n .then((response) => {\r\n const data = response.data.itemList;\r\n this.setState({\r\n appBodyPart: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.BODYPART, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n }\r\n\r\n getInjuryClass() {\r\n dynamic\r\n .getAll('injuryclass', { params: { page: 0 } })\r\n .then((response) => {\r\n const data = response.data.itemList;\r\n this.setState({\r\n appInjuryClass: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.INJURYCLASS, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n }\r\n\r\n getInjurySource() {\r\n dynamic\r\n .getAll('injurysource', { params: { page: 0 } })\r\n .then((response) => {\r\n const data = response.data.itemList;\r\n this.setState({\r\n appInjurySource: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.INJURYSOURCE, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n }\r\n\r\n getAssetdamagetype() {\r\n dynamic\r\n .getAll('assetdamagetype', { params: { page: 0 } })\r\n .then((response) => {\r\n const data = response.data.itemList;\r\n this.setState({\r\n assetdamagetype: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.INJURYSOURCE, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n }\r\n\r\n getContractType() {\r\n dynamic\r\n .getAll('contracttype', { params: { page: 0 } })\r\n .then((response) => {\r\n const data = response.data.itemList;\r\n this.setState({\r\n appContractType: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.CONTRACTTYPE, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n }\r\n\r\n getShiftDuration() {\r\n dynamic\r\n .getAll('shiftduration', { params: { page: 0 } })\r\n .then((response) => {\r\n const data = response.data.itemList;\r\n this.setState({\r\n appShiftDuration: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.SHIFDURATION, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n }\r\n\r\n getWorkProcess(parent) {\r\n try {\r\n const data = _sortBy(\r\n (this.state.appAllWorkProcess || []).filter((el) => el.idParent == parent),\r\n 'name'\r\n );\r\n this.setState({\r\n appWorkProcess: data,\r\n });\r\n } catch {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n `Error filtering ${entitiesLabels.WORKPROCESS}`\r\n );\r\n }\r\n // dynamic.getAll('workprocess', { params: { page: 0, parent: parent, } })\r\n // .then(response => {\r\n // var data = response.data.itemList;\r\n // this.setState({\r\n // appWorkProcess: data\r\n // });\r\n // }).catch(error => {\r\n // showNotification.error(getError(error, entitiesLabels.WORKPROCESS, apioperation.GET));\r\n\r\n // }).finally(() => {\r\n\r\n // });\r\n }\r\n\r\n getWorkArea(parent) {\r\n try {\r\n const data = _sortBy(\r\n (this.state.appAllWorkArea || []).filter((el) => el.idParent == parent),\r\n 'name'\r\n );\r\n this.setState({\r\n appWorkArea: data,\r\n });\r\n } catch {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n `Error filtering ${entitiesLabels.WORKAREA}`\r\n );\r\n }\r\n // dynamic.getAll('workarea', { params: { page: 0, parent: parent, } })\r\n // .then(response => {\r\n // var data = response.data.itemList;\r\n // this.setState({\r\n // appWorkArea: data\r\n // });\r\n // }).catch(error => {\r\n // showNotification.error(getError(error, entitiesLabels.WORKAREA, apioperation.GET));\r\n\r\n // }).finally(() => {\r\n\r\n // });\r\n }\r\n\r\n getEquipment(parent) {\r\n try {\r\n const data = _sortBy(\r\n (this.state.appAllEquipment || []).filter((el) => el.idParent == parent),\r\n 'name'\r\n );\r\n this.setState({\r\n appEquipment: data,\r\n });\r\n } catch {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n `Error filtering ${entitiesLabels.EQUIPMENT}`\r\n );\r\n }\r\n // dynamic.getAll('equipment', { params: { page: 0, parent: parent, } })\r\n // .then(response => {\r\n // var data = response.data.itemList;\r\n // this.setState({\r\n // appEquipment: data\r\n // });\r\n // }).catch(error => {\r\n // showNotification.error(getError(error, entitiesLabels.EQUIPMENT, apioperation.GET));\r\n\r\n // }).finally(() => {\r\n\r\n // });\r\n }\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n\r\n this.setState(statusCopy);\r\n };\r\n\r\n updateStateDP = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy.incidentModel.lastDateInspection = inputValue;\r\n this.setState(statusCopy);\r\n };\r\n\r\n handleChangeModel = (el) => {\r\n const inputName = el.target.name;\r\n const inputValue = el.target.value;\r\n const objName = el.target.alt;\r\n this.updateState(inputName, inputValue, objName);\r\n };\r\n\r\n handleToggle = (value, id) => {\r\n // onchange toggle widget\r\n this.updateState(id, value, 'incidentModel');\r\n };\r\n handleChangeCombo = (inputName, selectedItem, objName) => {\r\n const inputValue = selectedItem ? selectedItem.id || selectedItem : null;\r\n\r\n const statusCopy = { ...this.state[objName] };\r\n statusCopy[inputName] = inputValue;\r\n for (const [key, value] of Object.entries(spillOrUncontrolledDictionary)) { //Se un UM cambia setto a null i NumericValue precedentemente settati \r\n if(key==inputName)\r\n statusCopy[value] = null;\r\n }\r\n if(inputName == 'spillContainedUM') { //Se Spill contained viene valorizzato setto a null tutti i valori di Lake, River, Sea e Soil\r\n spillCategories.forEach(element => {\r\n statusCopy[element] = null;\r\n });\r\n }\r\n\r\n if(inputName == 'uncontrolledReleaseContainedUM') {//Se uncontrolled contained viene valorizzato setto a null tutti i valori di Lake, River, Sea e Soil\r\n uncontrolledCategories.forEach(element => {\r\n statusCopy[element] = null;\r\n });\r\n }\r\n\r\n this.setState({ [objName]: statusCopy });\r\n };\r\n\r\n handleChangeRadio = (value, id, event) => {\r\n if (value == 'true') {\r\n value = true;\r\n } else if (value == 'false') {\r\n value = false;\r\n } else if (value == 'null') {\r\n value = null;\r\n }\r\n\r\n this.updateState(event.target.name, value, event.target.alt);\r\n };\r\n\r\n addNewPerson = () => {\r\n this.setState({ keyModal: `modal_${new Date().getTime()}` });\r\n this.setState({ isEditModalIJ: false, isOpenModalIJ: true, editModelIJ: null });\r\n };\r\n\r\n getInjuryTypeName = (id) => {\r\n const element = this.props.appInjuryType.find((el) => el.id == id);\r\n return element ? element.name : '';\r\n };\r\n\r\n editModal = (id) => {\r\n this.setState({ keyModal: `modal_${new Date().getTime()}` });\r\n const item = this.state.incidentModel.injuredPeople.find((el) => el.id == id);\r\n this.setState({ editModelIJ: item, isEditModalIJ: true, isOpenModalIJ: true });\r\n };\r\n\r\n confirmDeleteInjPerson = (id) => {\r\n this.setState({\r\n idInjurePerson: id,\r\n isOpenDeleteModal: true,\r\n isDeleting: false,\r\n });\r\n };\r\n\r\n toggleModal = (open) => {\r\n this.setState({ isOpenModalIJ: open });\r\n };\r\n\r\n deleteItemInjuredPerson = () => {\r\n const id = this.state.idInjurePerson;\r\n this.setState({\r\n isDeleting: true,\r\n });\r\n\r\n const statusCopy = { ...this.state.incidentModel };\r\n const deleteI = statusCopy.injuredPeople.filter((el) => el.id == id);\r\n statusCopy.injuredPeople = statusCopy.injuredPeople.filter((el) => el.id !== id);\r\n\r\n \r\n this.saveInjuredPerson(deleteI);\r\n \r\n\r\n this.setState({\r\n incidentModel: statusCopy,\r\n isDeleting: false,\r\n isOpenDeleteModal: false,\r\n });\r\n };\r\n\r\n \r\n saveInjuredPerson = (item) => {\r\n const datiForm = item[0];\r\n api\r\n .put('/incident/', datiForm, `${datiForm.idIncident}/investigation/injured`)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.INJUREDPEROSN, apioperation.PUT)\r\n );\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.INJUREDPEROSN, apioperation.POST)\r\n );\r\n })\r\n .finally(() => {\r\n });\r\n};\r\n\r\n handleSaveModal = (data) => {\r\n try {\r\n if (data == null) return;\r\n\r\n const oldinjuredPeople = this.state.incidentModel.injuredPeople || [];\r\n\r\n if (this.state.isEditModalIJ) {\r\n // edit\r\n const { id } = data;\r\n const indexElement = oldinjuredPeople.findIndex((el) => el.id == id);\r\n if (indexElement > -1) {\r\n const newinjuredPeople = [...oldinjuredPeople];\r\n newinjuredPeople[indexElement] = data;\r\n this.updateState('injuredPeople', newinjuredPeople, 'incidentModel');\r\n } else {\r\n showNotification.error();\r\n }\r\n } else {\r\n // insert\r\n data.idIncident = this.props.incidentEditModel.id;\r\n data.id = uuid(); // id IncidentInjuredPerson\r\n data.toSave = true; // solo gli injured appena creati possono essere modificati\r\n const newinjuredPeople = oldinjuredPeople.concat([data]);\r\n this.updateState('injuredPeople', newinjuredPeople, 'incidentModel');\r\n }\r\n\r\n this.setState({ isOpenModalIJ: false });\r\n } catch (error) {\r\n showNotification.error();\r\n }\r\n };\r\n\r\n handleChangeComboType = (inputName, selectedItem, objName) => {\r\n const inputValue = selectedItem ? selectedItem.id : null;\r\n\r\n const statusCopy = { ...this.state[objName] };\r\n statusCopy[inputName] = inputValue;\r\n\r\n if (inputName == 'idWorkProcessType') {\r\n statusCopy.idWorkProcess = null;\r\n }\r\n\r\n if (inputName == 'idWorkAreaType') {\r\n statusCopy.idWorkArea = null;\r\n }\r\n\r\n if (inputName == 'idEquipmentType') {\r\n statusCopy.idEquipment = null;\r\n }\r\n\r\n this.setState({ [objName]: statusCopy }, () => {\r\n this.loadRelatedProperties(inputName, inputValue, selectedItem);\r\n });\r\n };\r\n\r\n loadRelatedProperties = (inputName, inputValue, selectedItem) => {\r\n if (inputName == 'idWorkProcessType') {\r\n if (inputValue) this.getWorkProcess(inputValue);\r\n else {\r\n this.setState({\r\n appWorkProcess: null,\r\n });\r\n }\r\n }\r\n\r\n if (inputName == 'idWorkAreaType') {\r\n if (inputValue) this.getWorkArea(inputValue);\r\n else {\r\n this.setState({\r\n appWorkArea: null,\r\n });\r\n }\r\n }\r\n\r\n if (inputName == 'idEquipmentType') {\r\n if (inputValue) this.getEquipment(inputValue);\r\n else {\r\n this.setState({\r\n appEquipment: null,\r\n });\r\n }\r\n }\r\n };\r\n\r\n selectTab = (index) => {\r\n this.props.selectTab(index);\r\n };\r\n\r\n saveTabInvestigation = () => {\r\n if (this.state.incidentModel.noInjured == null)\r\n this.updateState('noInjured', !this.props.realOutcomeHarm, 'incidentModel');\r\n\r\n if ((this.validator.allValid() && this.state.isInjuredPersonsComplete === true) ||\r\n (this.validator.allValid() && this.state.isDeleting === true)) {\r\n this.props.isSubmitted(true);\r\n\r\n const datiForm = this.state.incidentModel;\r\n\r\n api\r\n .put('/incident/', datiForm, `${datiForm.id}/investigation`)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n this.state.incidentModel.id != null\r\n ? `${entitiesLabels.INCIDENT} ${entitiesLabels.WITHCODE} ${\r\n datiForm.incidentReportId\r\n } ${getSuccess('investigation', apioperation.PUT)}`\r\n : getSuccess(entitiesLabels.INCIDENT, apioperation.POST)\r\n );\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.INCIDENT, apioperation.POST)\r\n );\r\n })\r\n .finally(() => {\r\n this.props.isSubmitted(false);\r\n });\r\n\r\n this.props.updateCacheIncidentModel(datiForm, 'tabInvestigation');\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.INCIDENT} required fields are missing `\r\n );\r\n if (!this.state.isInjuredPersonsComplete){\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.INJUREDPEROSN} : Injured Personnel details - required fields are missing `\r\n );}\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n /** ************Time line********************* */\r\n toggleEventModal = (open) => {\r\n this.setState({ isOpenModal: open });\r\n };\r\n\r\n addNewEvent = () => {\r\n this.setState({ keyModal: `modal_${new Date().getTime()}` });\r\n this.setState({ isEditModal: false, isOpenModal: true, editModel: null });\r\n };\r\n\r\n editEventModal = (id) => {\r\n this.setState({ keyModal: `modal_${new Date().getTime()}` });\r\n const item = this.state.incidentModel.incidentEvents.find((el) => el.id == id);\r\n this.setState({ editModel: item, isEditModal: true, isOpenModal: true });\r\n };\r\n\r\n handleEventSaveModal = (data) => {\r\n try {\r\n if (data == null) return;\r\n\r\n const oldincidentEvents = this.state.incidentModel.incidentEvents || [];\r\n\r\n if (this.state.isEditModal) {\r\n // edit\r\n const { id } = data;\r\n const indexElement = oldincidentEvents.findIndex((el) => el.id == id);\r\n if (indexElement > -1) {\r\n const newincidentEvents = [...oldincidentEvents];\r\n newincidentEvents[indexElement] = data;\r\n this.updateState('incidentEvents', newincidentEvents, 'incidentModel');\r\n } else {\r\n showNotification.error();\r\n }\r\n } else {\r\n // insert\r\n data.idIncident = this.props.incidentEditModel.id;\r\n data.id = uuid(); // id IncidentEvent\r\n\r\n const newincidentEvents = oldincidentEvents.concat([data]);\r\n this.updateState('incidentEvents', newincidentEvents, 'incidentModel');\r\n }\r\n\r\n this.setState({ isOpenModal: false });\r\n } catch (error) {\r\n showNotification.error();\r\n }\r\n };\r\n\r\n confirmDelete = (id) => {\r\n this.setState({\r\n idToDelete: id,\r\n idToDeleteWitness: null,\r\n idToDeleteTeamMember: null,\r\n isOpenDeleteModal: true,\r\n isDeleting: false,\r\n });\r\n };\r\n\r\n onCloseConfirm = () => {\r\n this.setState({\r\n isOpenDeleteModal: false,\r\n });\r\n };\r\n\r\n deleteItem = () => {\r\n const id = this.state.idToDelete;\r\n this.setState({\r\n isDeleting: true,\r\n });\r\n\r\n const statusCopy = { ...this.state.incidentModel };\r\n statusCopy.incidentEvents = statusCopy.incidentEvents.filter((el) => el.id !== id);\r\n\r\n this.setState({\r\n incidentModel: statusCopy,\r\n isDeleting: false,\r\n isOpenDeleteModal: false,\r\n });\r\n };\r\n\r\n /** ************Fine Time line********************* */\r\n\r\n /** ************Witness********************* */\r\n\r\n toggleWitnessModal = (open) => {\r\n this.setState({ isOpenModalWitness: open });\r\n };\r\n\r\n addWitness = () => {\r\n this.setState({ keyModalWitness: `modalWitness_${new Date().getTime()}` });\r\n this.setState({ isEditModalWitness: false, isOpenModalWitness: true, editModelWitness: null });\r\n };\r\n\r\n editWitnessModal = (id) => {\r\n this.setState({ keyModalWitness: `modalWitness_${new Date().getTime()}` });\r\n const item = this.state.incidentModel.witnessPeople.find((el) => el.id == id);\r\n this.setState({ editModelWitness: item, isEditModalWitness: true, isOpenModalWitness: true });\r\n };\r\n\r\n handleWitnessSaveModal = (data) => {\r\n try {\r\n if (data == null) return;\r\n\r\n const oldwitnessPeople = this.state.incidentModel.witnessPeople || [];\r\n\r\n if (this.state.isEditModalWitness) {\r\n // edit\r\n const { id } = data;\r\n const indexElement = oldwitnessPeople.findIndex((el) => el.id == id);\r\n if (indexElement > -1) {\r\n const newwitnessPeople = [...oldwitnessPeople];\r\n newwitnessPeople[indexElement] = data;\r\n this.updateState('witnessPeople', newwitnessPeople, 'incidentModel');\r\n } else {\r\n showNotification.error();\r\n }\r\n } else {\r\n // insert\r\n data.idIncident = this.props.incidentEditModel.id;\r\n data.id = uuid(); // id IncidentInjuredPerson\r\n const newid = uuid(); // id InvolvedPerson\r\n data.idInvolvedPerson = newid;\r\n data.involvedPerson.id = newid;\r\n\r\n const newwitnessPeople = oldwitnessPeople.concat([data]);\r\n this.updateState('witnessPeople', newwitnessPeople, 'incidentModel');\r\n }\r\n\r\n this.setState({ isOpenModalWitness: false });\r\n } catch (error) {\r\n showNotification.error();\r\n }\r\n };\r\n\r\n confirmWitnessDelete = (id) => {\r\n this.setState({\r\n idToDelete: null,\r\n idToDeleteWitness: id,\r\n idToDeleteTeamMember: null,\r\n isOpenDeleteModal: true,\r\n isDeleting: false,\r\n });\r\n };\r\n\r\n deleteItemWitness = () => {\r\n const id = this.state.idToDeleteWitness;\r\n this.setState({\r\n isDeleting: true,\r\n });\r\n\r\n const statusCopy = { ...this.state.incidentModel };\r\n statusCopy.witnessPeople = statusCopy.witnessPeople.filter((el) => el.id !== id);\r\n\r\n this.setState({\r\n incidentModel: statusCopy,\r\n isDeleting: false,\r\n isOpenDeleteModal: false,\r\n });\r\n };\r\n\r\n /** ************Fine Witness********************* */\r\n /** ************TeamMember********************* */\r\n\r\n toggleTeamMemberModal = (open) => {\r\n this.setState({ isOpenModalTeamMember: open });\r\n };\r\n\r\n addTeamMember = () => {\r\n this.setState({ keyModalTeamMember: `modalTeamMember_${new Date().getTime()}` });\r\n this.setState({\r\n isEditModalTeamMember: false,\r\n isOpenModalTeamMember: true,\r\n editModelTeamMember: null,\r\n });\r\n };\r\n\r\n editTeamMemberModal = (id) => {\r\n this.setState({ keyModalTeamMember: `modalTeamMember_${new Date().getTime()}` });\r\n const item = this.state.incidentModel.investigationTeamMembers.find((el) => el.id == id);\r\n this.setState({\r\n editModelTeamMember: item,\r\n isEditModalTeamMember: true,\r\n isOpenModalTeamMember: true,\r\n });\r\n };\r\n\r\n handleTeamMemberSaveModal = (data) => {\r\n try {\r\n if (data == null) return;\r\n\r\n const oldTeamMemberPeople = this.state.incidentModel.investigationTeamMembers || [];\r\n\r\n if (this.state.isEditModalTeamMember) {\r\n // edit\r\n const { id } = data;\r\n const indexElement = oldTeamMemberPeople.findIndex((el) => el.id == id);\r\n if (indexElement > -1) {\r\n const newTeamMemberPeople = [...oldTeamMemberPeople];\r\n newTeamMemberPeople[indexElement] = data;\r\n this.updateState('investigationTeamMembers', newTeamMemberPeople, 'incidentModel');\r\n } else {\r\n showNotification.error();\r\n }\r\n } else {\r\n // insert\r\n data.idIncident = this.props.incidentEditModel.id;\r\n data.id = uuid(); // id InvestigationTeamMember\r\n if (data.idEmployer == null) {\r\n data.employer = null;\r\n }\r\n const newTeamMemberPeople = oldTeamMemberPeople.concat([data]);\r\n this.updateState('investigationTeamMembers', newTeamMemberPeople, 'incidentModel');\r\n }\r\n\r\n this.setState({ isOpenModalTeamMember: false });\r\n } catch (error) {\r\n showNotification.error();\r\n }\r\n };\r\n\r\n confirmTeamMemberDelete = (id) => {\r\n this.setState({\r\n idToDelete: null,\r\n idToDeleteWitness: null,\r\n idToDeleteTeamMember: id,\r\n isOpenDeleteModal: true,\r\n isDeleting: false,\r\n });\r\n };\r\n\r\n deleteItemTeamMember = () => {\r\n const id = this.state.idToDeleteTeamMember;\r\n this.setState({\r\n isDeleting: true,\r\n });\r\n\r\n const statusCopy = { ...this.state.incidentModel };\r\n statusCopy.investigationTeamMembers = statusCopy.investigationTeamMembers.filter(\r\n (el) => el.id !== id\r\n );\r\n\r\n this.setState({\r\n incidentModel: statusCopy,\r\n isDeleting: false,\r\n isOpenDeleteModal: false,\r\n });\r\n };\r\n\r\n /** ************Fine TeamMember********************* */\r\n /** ************Attachment********************* */\r\n addNewAttachment = (data) => {\r\n try {\r\n if (data == null) return;\r\n // insert\r\n const oldattachment = this.state.incidentModel.attachment || [];\r\n\r\n const newItem = {\r\n id: uuid(), // guid\r\n idIncident: this.props.incidentEditModel.id,\r\n idAttachment: data.id, // guid\r\n attachment: data,\r\n };\r\n\r\n const newattachment = oldattachment.concat([newItem]);\r\n this.updateState('attachment', newattachment, 'incidentModel');\r\n } catch (error) {\r\n showNotification.error();\r\n }\r\n };\r\n\r\n removeAttachment = (id) => {\r\n if (!id) return;\r\n\r\n const statusCopy = { ...this.state.incidentModel };\r\n statusCopy.attachment = statusCopy.attachment.filter((el) => el.id !== id);\r\n\r\n this.setState({\r\n incidentModel: statusCopy,\r\n });\r\n };\r\n\r\n updateAutoOpenInjuredPersonTI = (value) => {\r\n this.props.updateAutoOpenInjuredPerson(false);\r\n }; \r\n\r\n /** ************Fine Attachment********************* */\r\n render() {\r\n //RITM0864430\r\n if (this.props.autoInjuredPersonModal && !this.state.isInNewInjuredPerson) {\r\n this.addNewPerson();\r\n this.setState({isInNewInjuredPerson: true});\r\n }\r\n\r\n let injPersonsComplete = true;\r\n if (this.props.outcomeHarm && this.props.realOutcomeHarm){\r\n for (var i = 0; i < this.state.incidentModel.injuredPeople.length; i++) {\r\n const item = this.state.incidentModel.injuredPeople[i];\r\n if (item.nationality === null || item.idContractType === null || item.employmentDate === null ||\r\n item.prjJoiningDate === null || item.experienceYears === null || item.experienceMonths === null ||\r\n item.idShiftDuration === null || item.daysFromShiftStart === null || item.hoursFromShiftStart === null ||\r\n item.drugAlchoolTest === null || item.injuryRecurrent === null || item.idInjurySource === null ||\r\n item.idInjuryClass === null || item.incidentInjuredPersonBodyPart?.length == 0)\r\n {\r\n injPersonsComplete = false;\r\n break;\r\n } \r\n }\r\n }\r\n if(injPersonsComplete != this.state.isInjuredPersonsComplete) {this.setState({isInjuredPersonsComplete: injPersonsComplete});}\r\n\r\n this.validator.purgeFields(); // si usa quando ci sono validazioni condizionali tra più campi\r\n\r\n if (!this.props.incidentEditModel || !this.props.incidentEditModel.id) {\r\n return null;\r\n }\r\n\r\n const rowsEvents = this.state.incidentModel.incidentEvents || [];\r\n const rowsWitness = this.state.incidentModel.witnessPeople || [];\r\n const rowsTeamMember = this.state.incidentModel.investigationTeamMembers || [];\r\n const incidentEventModalProps = {\r\n key: this.state.keyModal,\r\n title: 'Event',\r\n editModel: this.state.editModel,\r\n isOpenModal: this.state.isOpenModal,\r\n isEditModal: this.state.isEditModal,\r\n toggleModal: this.toggleEventModal,\r\n save: this.handleEventSaveModal,\r\n };\r\n\r\n const getNameById = (id) => {\r\n if (id == null) return '';\r\n const element = rowsEvents.find((el) => el.id == id);\r\n return element ? element.briefDescription : '';\r\n };\r\n\r\n const confirmDelProps = () => {\r\n if (this.state.idToDeleteWitness) {\r\n return {\r\n idToDelete: this.state.idToDeleteWitness,\r\n nameItem: getNameWitnessById(this.state.idToDeleteWitness),\r\n isDeleting: this.state.isDeleting,\r\n open: this.state.isOpenDeleteModal, // open state\r\n onCloseConfirm: this.onCloseConfirm, // no click\r\n deleteItem: this.deleteItemWitness, // yes click fn()\r\n };\r\n }\r\n if (this.state.idToDeleteTeamMember) {\r\n return {\r\n idToDelete: this.state.idToDeleteTeamMember,\r\n nameItem: getNameTeamMemberById(this.state.idToDeleteTeamMember),\r\n isDeleting: this.state.isDeleting,\r\n open: this.state.isOpenDeleteModal, // open state\r\n onCloseConfirm: this.onCloseConfirm, // no click\r\n deleteItem: this.deleteItemTeamMember, // yes click fn()\r\n };\r\n }\r\n if (this.state.idInjurePerson) {\r\n return {\r\n idToDelete: this.state.idInjurePerson,\r\n nameItem: getNameTeamMemberById(this.state.idInjurePerson),\r\n isDeleting: this.state.isDeleting,\r\n open: this.state.isOpenDeleteModal, // open state\r\n onCloseConfirm: this.onCloseConfirm, // no click\r\n deleteItem: this.deleteItemInjuredPerson, // yes click fn()\r\n };\r\n }\r\n // default\r\n // if (this.state.idToDelete) {\r\n return {\r\n idToDelete: this.state.idToDelete,\r\n nameItem: getNameById(this.state.idToDelete),\r\n isDeleting: this.state.isDeleting,\r\n open: this.state.isOpenDeleteModal, // open state\r\n onCloseConfirm: this.onCloseConfirm, // no click\r\n deleteItem: this.deleteItem, // yes click fn()\r\n };\r\n };\r\n\r\n const incidentWitnessModalProps = {\r\n key: this.state.keyModalWitness,\r\n appType: this.props.appType,\r\n title: 'Witness',\r\n editModel: this.state.editModelWitness,\r\n isOpenModal: this.state.isOpenModalWitness,\r\n isEditModal: this.state.isEditModalWitness,\r\n mode: this.state.isEditModalWitness ? 2 : 0,\r\n toggleModal: this.toggleWitnessModal,\r\n save: this.handleWitnessSaveModal,\r\n };\r\n\r\n const getNameWitnessById = (id) => {\r\n if (id == null) return '';\r\n const element = rowsWitness.find((el) => el.id == id);\r\n return element && element.involvedPerson ? element.involvedPerson.fullname : '';\r\n };\r\n\r\n const incidentTeamMemberModalProps = {\r\n key: this.state.keyModalTeamMember,\r\n appType: this.props.appType,\r\n title: 'TeamMember',\r\n editModel: this.state.editModelTeamMember,\r\n isOpenModal: this.state.isOpenModalTeamMember,\r\n isEditModal: this.state.isEditModalTeamMember,\r\n mode: this.state.isEditModalTeamMember ? 2 : 0,\r\n toggleModal: this.toggleTeamMemberModal,\r\n save: this.handleTeamMemberSaveModal,\r\n };\r\n const rows = this.state.incidentModel.injuredPeople || [];\r\n const injuredPersonModalProps = {\r\n key: this.state.keyModal,\r\n title: 'Injured Person',\r\n editModel: this.state.editModelIJ,\r\n isOpenModal: this.state.isOpenModalIJ,\r\n isEditModal: this.state.isEditModalIJ,\r\n // mode: this.state.isEditModalIJ ? 2 : 0,\r\n //CR RITM0583314\r\n mode: 2,\r\n appType: this.props.appType,\r\n subContractors: this.props.subContractors,\r\n appNationality: this.props.appCountry,\r\n appInjuryType: this.props.appInjuryType,\r\n appContractType: this.state.appContractType,\r\n appShiftDuration: this.state.appShiftDuration,\r\n appInjurySource: this.state.appInjurySource,\r\n appInjuryClass: this.state.appInjuryClass,\r\n appBodyPart: this.state.appBodyPart,\r\n toggleModal: this.toggleModal,\r\n save: this.handleSaveModal,\r\n autoInjuredPersonModalFromNotification: this.props.autoInjuredPersonModal,\r\n updateAutoOpenInjuredPersonTI: this.updateAutoOpenInjuredPersonTI,\r\n updateHarmedPeople: this.props.updateHarmedPeople,\r\n };\r\n\r\n const getNameTeamMemberById = (id) => {\r\n if (id == null) return '';\r\n const element = rowsTeamMember.find((el) => el.id == id);\r\n return element && element.involvedPerson ? element.involvedPerson.fullname : '';\r\n };\r\n\r\n const appMeasureUnitForSpill = (this.state.appMeasureUnit || []).filter(\r\n (el) => el.usedInSpill == true\r\n );\r\n\r\n const appMeasureUnitForAirPollution = (this.state.appMeasureUnit || []).filter(\r\n (el) => el.usedInAirPollution == true\r\n );\r\n\r\n const selectedItemCombo = {\r\n sourceAccident: (this.state.appAccidentSource || []).find(\r\n (el) => el.id == this.state.incidentModel.sourceAccident\r\n ),\r\n spillLakeUM: appMeasureUnitForSpill.find(\r\n (el) => el.id == this.state.incidentModel.spillLakeUM\r\n ),\r\n spillRiverUM: appMeasureUnitForSpill.find(\r\n (el) => el.id == this.state.incidentModel.spillRiverUM\r\n ),\r\n spillSeaUM: appMeasureUnitForSpill.find((el) => el.id == this.state.incidentModel.spillSeaUM),\r\n spillSoilUM: appMeasureUnitForSpill.find(\r\n (el) => el.id == this.state.incidentModel.spillSoilUM\r\n ),\r\n spillContainedUM: appMeasureUnitForSpill.find(\r\n (el) => el.id == this.state.incidentModel.spillContainedUM\r\n ),\r\n airPollUM: appMeasureUnitForAirPollution.find(\r\n (el) => el.id == this.state.incidentModel.airPollUM\r\n ),\r\n uncontrolledReleaseLakeUM: appMeasureUnitForSpill.find(\r\n (el) => el.id == this.state.incidentModel.uncontrolledReleaseLakeUM\r\n ),\r\n uncontrolledReleaseRiverUM: appMeasureUnitForSpill.find(\r\n (el) => el.id == this.state.incidentModel.uncontrolledReleaseRiverUM\r\n ),\r\n uncontrolledReleaseSeaUM: appMeasureUnitForSpill.find(\r\n (el) => el.id == this.state.incidentModel.uncontrolledReleaseSeaUM\r\n ),\r\n uncontrolledReleaseSoilUM: appMeasureUnitForSpill.find(\r\n (el) => el.id == this.state.incidentModel.uncontrolledReleaseSoilUM\r\n ),\r\n uncontrolledReleaseContainedUM: appMeasureUnitForSpill.find(\r\n (el) => el.id == this.state.incidentModel.uncontrolledReleaseContainedUM\r\n ),\r\n idWorkProcessType: (this.state.appWorkProcessType || []).find(\r\n (el) => el.id == this.state.incidentModel.idWorkProcessType\r\n ),\r\n idWorkProcess: (this.state.appWorkProcess || []).find(\r\n (el) => el.id == this.state.incidentModel.idWorkProcess\r\n ),\r\n idWorkAreaType: (this.state.appWorkAreaType || []).find(\r\n (el) => el.id == this.state.incidentModel.idWorkAreaType\r\n ),\r\n idWorkArea: (this.state.appWorkArea || []).find(\r\n (el) => el.id == this.state.incidentModel.idWorkArea\r\n ),\r\n idEquipmentType: (this.state.appEquipmentType || []).find(\r\n (el) => el.id == this.state.incidentModel.idEquipmentType\r\n ),\r\n idEquipment: (this.state.appEquipment || []).find(\r\n (el) => el.id == this.state.incidentModel.idEquipment\r\n ),\r\n idAssetDamageType: (this.state.assetdamagetype || []).find(\r\n (el) => el.id == this.state.incidentModel.idAssetDamageType\r\n ),\r\n };\r\n\r\n // ---AT BUG 2844\r\n const showOtherWorkArea = selectedItemCombo.idWorkArea?.specifyOther;\r\n const showOtherWorkProcess = selectedItemCombo.idWorkProcess?.specifyOther;\r\n const showOtherEquipment = selectedItemCombo.idEquipment?.specifyOther;\r\n //---\r\n\r\n const tempIsValid =\r\n (!this.state.incidentModel.temperature && !this.state.incidentModel.temperatureType) ||\r\n (parseInt(this.state.incidentModel.temperature) >= 0\r\n ? this.state.incidentModel.temperatureType == 'Hot'\r\n : this.state.incidentModel.temperatureType == 'Cold');\r\n\r\n const validations = {\r\n // immediateActions: this.validator.message('immediateActions', this.state.hocCardModel.immediateActions, 'required'),\r\n\r\n // idWorkProcessType: this.validator.message('workProcessType', this.state.incidentModel.idWorkProcessType, 'required'),\r\n // idWorkProcess: this.validator.message('workProcess', this.state.incidentModel.idWorkProcess, 'required'),\r\n idWorkAreaType: this.validator.message(\r\n 'workAreaType',\r\n this.state.incidentModel.idWorkAreaType,\r\n 'required'\r\n ),\r\n idWorkArea: this.validator.message(\r\n 'workArea',\r\n this.state.incidentModel.idWorkArea,\r\n 'required'\r\n ),\r\n specifyOtherWorkArea: showOtherWorkArea\r\n ? this.validator.message(\r\n 'specifyOtherWorkArea',\r\n this.state.incidentModel.specifyOtherWorkArea,\r\n 'required'\r\n )\r\n : null,\r\n specifyOtherWorkProcess: showOtherWorkProcess\r\n ? this.validator.message(\r\n 'specifyOtherWorkProcess',\r\n this.state.incidentModel.specifyOtherWorkProcess,\r\n 'required'\r\n )\r\n : null,\r\n specifyOtherEquipment: showOtherEquipment\r\n ? this.validator.message(\r\n 'specifyOtherEquipment',\r\n this.state.incidentModel.specifyOtherEquipment,\r\n 'required'\r\n )\r\n : null,\r\n // idEquipmentType: this.validator.message('equipmentType', this.state.incidentModel.idEquipmentType, 'required'),\r\n // idEquipment: this.validator.message('equipment', this.state.incidentModel.idEquipment, 'required'),\r\n noWitness: this.validator.message(\r\n 'noWitness',\r\n this.state.incidentModel.noWitness,\r\n 'required'\r\n ),\r\n witnessPeople: !this.state.incidentModel.noWitness\r\n ? this.validator.message(\r\n 'witnessPeople',\r\n this.state.incidentModel.witnessPeople,\r\n 'required'\r\n )\r\n : null,\r\n incidentEvents: this.validator.message(\r\n 'incidentEvents',\r\n this.state.incidentModel.incidentEvents,\r\n 'required'\r\n ),\r\n investigationTeamMembers: this.validator.message(\r\n 'investigationTeamMembers',\r\n this.state.incidentModel.investigationTeamMembers,\r\n 'required'\r\n ),\r\n // attachment: this.validator.message(\r\n // 'attachment',\r\n // this.state.incidentModel.attachment,\r\n // 'required'\r\n // ),\r\n temperatureHot: this.validator.message('temperature', tempIsValid, 'accepted'),\r\n sourceAccident: this.validator.message(\r\n 'sourceAccident',\r\n this.props.outcomeEnviroment == true && this.state.incidentModel.sourceAccident,\r\n 'required'\r\n ),\r\n airPollution: this.validator.message(\r\n 'airPollution',\r\n this.state.incidentModel.isAirPollutio == true &&\r\n this.state.incidentModel.airPollQuantityReleased &&\r\n this.state.incidentModel.airPollSubstanceReleased &&\r\n this.state.incidentModel.airPollUM,\r\n 'required'\r\n ),\r\n spillContainedNumericValue: this.validator.message(\r\n 'Lake, River, Sea, Soil or Contained Spill',\r\n this.state.incidentModel.isSpill == true &&\r\n (this.state.incidentModel.spillContainedNumericValue || this.state.incidentModel.spillRiverNumericValue || this.state.incidentModel.spillLakeNumericValue || this.state.incidentModel.spillSeaNumericValue || this.state.incidentModel.spillSoilNumericValue),\r\n 'required'\r\n ),\r\n spillSubstanceReleased: this.validator.message(\r\n 'Spill Substance Released',\r\n this.state.incidentModel.isSpill == true &&\r\n this.state.incidentModel.spillSubstanceReleased,\r\n 'required'\r\n ),\r\n uncontrolledReleaseContained: this.validator.message(\r\n 'Lake, River, Sea, Soil or Contained',\r\n this.state.incidentModel.isUncontrolledRelease == true &&\r\n (this.state.incidentModel.uncontrolledReleaseContainedNumericValue || this.state.incidentModel.uncontrolledReleaseLakeNumericValue || this.state.incidentModel.uncontrolledReleaseRiverNumericValue || this.state.incidentModel.uncontrolledReleaseSeaNumericValue || this.state.incidentModel.uncontrolledReleaseSoilNumericValue),\r\n 'required'\r\n ),\r\n uncontrolledReleaseSubstanceReleased: this.validator.message(\r\n 'UncontrolledRelease Substance Released',\r\n this.state.incidentModel.isUncontrolledRelease == true &&\r\n this.state.incidentModel.uncontrolledReleaseSubstanceReleased,\r\n 'required'\r\n ),\r\n floraFaunaDamageImpactOn: this.validator.message(\r\n 'Flora/fauna damage Impact on',\r\n this.state.incidentModel.isFloraFaunaDamage == true && this.state.incidentModel.impactOn,\r\n 'required'\r\n ),\r\n floraFaunaDamageSpeciesAffected: this.validator.message(\r\n 'Flora/fauna damage Species Affected',\r\n this.state.incidentModel.isFloraFaunaDamage == true &&\r\n this.state.incidentModel.floraFaunaDamageSpeciesAffected,\r\n 'required'\r\n ),\r\n noInjured: this.validator.message(\r\n 'noInjured',\r\n this.state.incidentModel.noInjured\r\n ? this.state.incidentModel.noInjured\r\n : !this.props.realOutcomeHarm,\r\n 'required'\r\n ),\r\n injuredPeople:\r\n this.props.isAccident || this.state.incidentModel.noInjured == false\r\n ? this.validator.message(\r\n 'injuredPeople',\r\n this.state.incidentModel.injuredPeople,\r\n 'required'\r\n )\r\n : null,\r\n idAssetDamageType: this.validator.message(\r\n 'idAssetDamageType',\r\n this.props.outcomeAsset == true && this.state.incidentModel.idAssetDamageType,\r\n 'required'\r\n ),\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n
    \r\n \r\n {this.props.outcomeHarm ? (\r\n 2.1 Injured Personnel details\r\n ) : (\r\n ''\r\n )}\r\n\r\n {this.props.outcomeAsset ? (\r\n 2.2 Asset Damage details\r\n ) : (\r\n ''\r\n )}\r\n\r\n {this.props.outcomeEnviroment ? (\r\n 2.3 Environmental damage detail\r\n ) : (\r\n ''\r\n )}\r\n\r\n 2.4 Time line\r\n 2.5 Other information\r\n 2.6 Weather Conditions\r\n 2.7 Witnesses\r\n 2.8 Investigation Team\r\n 2.9 Attachment Section\r\n {/* 3.8 Investigation Findings */}\r\n \r\n
    \r\n
    \r\n {(this.props.outcomeHarm && this.props.realOutcomeHarm)? (\r\n
    \r\n
    \r\n

    2.1 Injured Personnel details

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n 0)}\r\n />\r\n \r\n {validations.noInjured}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    \r\n {!this.state.isDisabled && !this.state.incidentModel.noInjured && (\r\n \r\n )}\r\n \r\n\r\n \r\n \r\n \r\n \r\n Injured Person Type\r\n {/* Badge Number */}\r\n Type of Injury\r\n Actions\r\n \r\n \r\n \r\n {rows == null || rows.length == 0 ? (\r\n \r\n ) : (\r\n rows.map((item, index) => (\r\n \r\n \r\n {item.type}\r\n \r\n {/* \r\n {item.badgeNumber}\r\n */}\r\n \r\n {this.getInjuryTypeName(item.idInjuryType)}\r\n \r\n \r\n {!this.state.isDisabled && (\r\n
    \r\n {/* (IsInRole(this.props.user, \"Administrator\") || item.toSave) &&\r\n
    \r\n )}\r\n \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n {validations.injuredPeople}\r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n ) : (\r\n ''\r\n )}\r\n {this.props.outcomeAsset ? (\r\n
    \r\n
    \r\n {' '}\r\n

    2.2 Asset Damage details

    \r\n
    \r\n
    \r\n
    \r\n \r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.idAssetDamageType}\r\n items={this.state.assetdamagetype}\r\n invalid={validations.idAssetDamageType != null}\r\n disabled={this.state.isDisabled}\r\n />\r\n {validations.idAssetDamageType}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {validations.workRelated}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n ''\r\n )}\r\n {this.props.outcomeEnviroment ? (\r\n
    \r\n
    \r\n {' '}\r\n

    2.3 Environmental damage detail

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.sourceAccident}\r\n items={this.state.appAccidentSource}\r\n disabled={this.state.appAccidentSource == null || this.state.isDisabled}\r\n invalid={validations.sourceAccident != null}\r\n />\r\n {validations.sourceAccident}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.updateState('isSpill', el, 'incidentModel')}\r\n disabled={this.state.isDisabled}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Lake\r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.spillLakeUM}\r\n items={appMeasureUnitForSpill}\r\n disabled={\r\n appMeasureUnitForSpill == null ||\r\n this.state.isDisabled ||\r\n this.state.incidentModel.isSpill != true || selectedItemCombo.spillContainedUM\r\n }\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n River\r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.spillRiverUM}\r\n items={appMeasureUnitForSpill}\r\n disabled={\r\n appMeasureUnitForSpill == null ||\r\n this.state.isDisabled ||\r\n this.state.incidentModel.isSpill != true || selectedItemCombo.spillContainedUM\r\n }\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Sea\r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.spillSeaUM}\r\n items={appMeasureUnitForSpill}\r\n disabled={\r\n appMeasureUnitForSpill == null ||\r\n this.state.isDisabled ||\r\n this.state.incidentModel.isSpill != true || selectedItemCombo.spillContainedUM\r\n }\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Soil\r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.spillSoilUM}\r\n items={appMeasureUnitForSpill}\r\n disabled={\r\n appMeasureUnitForSpill == null ||\r\n this.state.isDisabled ||\r\n this.state.incidentModel.isSpill != true || selectedItemCombo.spillContainedUM\r\n }\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Contained\r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.spillContainedUM}\r\n items={appMeasureUnitForSpill}\r\n disabled={\r\n appMeasureUnitForSpill == null ||\r\n this.state.isDisabled ||\r\n this.state.incidentModel.isSpill != true\r\n }\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {validations.spillContainedNumericValue}\r\n
    \r\n
    \r\n Substance released*\r\n (item ? item.name : '')}\r\n initialSelectedItem={this.state.incidentModel.spillSubstanceReleased}\r\n items={this.state.substanceReleased}\r\n disabled={\r\n this.state.isDisabled || this.state.incidentModel.isSpill != true\r\n }\r\n />\r\n {validations.spillSubstanceReleased}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.updateState(\r\n 'spillDescription',\r\n el.target.value,\r\n 'incidentModel'\r\n )\r\n }\r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={100}\r\n disabled={this.state.isDisabled}\r\n />\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n this.updateState('isUncontrolledRelease', el, 'incidentModel')\r\n }\r\n disabled={this.state.isDisabled}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Lake\r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.uncontrolledReleaseLakeUM}\r\n items={appMeasureUnitForSpill}\r\n disabled={\r\n appMeasureUnitForSpill == null ||\r\n this.state.isDisabled ||\r\n this.state.incidentModel.isUncontrolledRelease != true || selectedItemCombo.uncontrolledReleaseContainedUM\r\n }\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n River\r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.uncontrolledReleaseRiverUM}\r\n items={appMeasureUnitForSpill}\r\n disabled={\r\n appMeasureUnitForSpill == null ||\r\n this.state.isDisabled ||\r\n this.state.incidentModel.isUncontrolledRelease != true || selectedItemCombo.uncontrolledReleaseContainedUM\r\n }\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Sea\r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.uncontrolledReleaseSeaUM}\r\n items={appMeasureUnitForSpill}\r\n disabled={\r\n appMeasureUnitForSpill == null ||\r\n this.state.isDisabled ||\r\n this.state.incidentModel.isUncontrolledRelease != true || selectedItemCombo.uncontrolledReleaseContainedUM\r\n }\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Soil\r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.uncontrolledReleaseSoilUM}\r\n items={appMeasureUnitForSpill}\r\n disabled={\r\n appMeasureUnitForSpill == null ||\r\n this.state.isDisabled ||\r\n this.state.incidentModel.isUncontrolledRelease != true || selectedItemCombo.uncontrolledReleaseContainedUM\r\n }\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Contained\r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.uncontrolledReleaseContainedUM}\r\n items={appMeasureUnitForSpill}\r\n disabled={\r\n appMeasureUnitForSpill == null ||\r\n this.state.isDisabled ||\r\n this.state.incidentModel.isUncontrolledRelease != true\r\n }\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {validations.uncontrolledReleaseContained}\r\n
    \r\n
    \r\n Substance released*\r\n \r\n {validations.uncontrolledReleaseSubstanceReleased}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n this.updateState('isAirPollutio', el, 'incidentModel')\r\n }\r\n disabled={this.state.isDisabled}\r\n />\r\n \r\n
    \r\n \r\n Substances Released\r\n {this.state.incidentModel.isAirPollutio == true ? '*' : null}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Estimated Release Quantity\r\n {this.state.incidentModel.isAirPollutio == true ? '*' : null}\r\n \r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.airPollUM}\r\n items={appMeasureUnitForAirPollution}\r\n disabled={\r\n appMeasureUnitForAirPollution == null ||\r\n this.state.isDisabled ||\r\n this.state.incidentModel.isAirPollutio != true\r\n }\r\n invalid={validations.airPollution}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {validations.airPollution}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n this.updateState('isFloraFaunaDamage', el, 'incidentModel')\r\n }\r\n disabled={this.state.isDisabled}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n (item ? item.name : '')}\r\n initialSelectedItem={this.state.incidentModel.impactOn}\r\n items={this.state.impactOn}\r\n disabled={\r\n this.state.isDisabled ||\r\n this.state.incidentModel.isFloraFaunaDamage != true\r\n }\r\n />\r\n {validations.floraFaunaDamageImpactOn}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Species affected{(this.state.incidentModel.isFloraFaunaDamage ? '*' : '')}\r\n \r\n {validations.floraFaunaDamageSpeciesAffected}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.updateState(\r\n 'floraFaunaDamageDescription',\r\n el.target.value,\r\n 'incidentModel'\r\n )\r\n }\r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={100}\r\n disabled={\r\n this.state.isDisabled ||\r\n this.state.incidentModel.isFloraFaunaDamage != true\r\n }\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.updateState('isOther', el, 'incidentModel')}\r\n disabled={this.state.isDisabled}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.updateState(\r\n 'otherDescription',\r\n el.target.value,\r\n 'incidentModel'\r\n )\r\n }\r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={100}\r\n disabled={\r\n this.state.isDisabled || this.state.incidentModel.isOther != 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 {validations.sourceAccident}\r\n
    \r\n
    \r\n {' '}\r\n

    2.4 Time line (*)

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

    \r\n {!this.state.isDisabled && (\r\n {\r\n this.addNewEvent();\r\n }}\r\n renderIcon={Add16}\r\n >\r\n Add new\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n Date/Time\r\n Anomaly\r\n Description\r\n Actions\r\n \r\n \r\n \r\n {rowsEvents == null || rowsEvents.length == 0 ? (\r\n \r\n ) : (\r\n rowsEvents\r\n .sort(\r\n (a, b) =>\r\n new Date(a.occurredAt).getTime() - new Date(b.occurredAt).getTime()\r\n )\r\n .map((item, index) => (\r\n \r\n \r\n {switchDateFormat(item.occurredAt, 'datetime')}\r\n \r\n \r\n {item.anomaly && (\r\n \r\n )}\r\n \r\n \r\n {item.briefDescription}\r\n \r\n \r\n {!this.state.isDisabled && (\r\n
    \r\n this.editEventModal(item.id)}\r\n size=\"small\"\r\n renderIcon={Edit16}\r\n iconDescription=\"Edit\"\r\n kind=\"ghost\"\r\n />\r\n this.confirmDelete(item.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n />\r\n
    \r\n )}\r\n \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    {validations.incidentEvents}
    \r\n
    \r\n
    \r\n
    \r\n {' '}\r\n

    2.5 Other information

    \r\n
    \r\n
    \r\n
    \r\n Work process Type\r\n
    \r\n
    \r\n Work process\r\n
    \r\n
    \r\n
    \r\n
    \r\n {!this.state.appWorkProcessType ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.idWorkProcessType}\r\n items={this.state.appWorkProcessType}\r\n // invalid={validations.idWorkProcessType != null}\r\n disabled={this.state.isDisabled}\r\n />\r\n )}\r\n
    \r\n
    \r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.idWorkProcess || '-'}\r\n items={this.state.appWorkProcess}\r\n // invalid={validations.idWorkProcess != null}\r\n disabled={this.state.appWorkProcess == null || this.state.isDisabled}\r\n />\r\n
    \r\n {showOtherWorkProcess && (\r\n
    \r\n \r\n {validations.specifyOtherWorkProcess}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n Work Area Type (*)\r\n
    \r\n
    \r\n Work Area (*)\r\n
    \r\n
    \r\n
    \r\n
    \r\n {!this.state.appWorkAreaType ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.idWorkAreaType}\r\n items={this.state.appWorkAreaType}\r\n invalid={validations.idWorkAreaType != null}\r\n disabled={this.state.isDisabled}\r\n />\r\n )}\r\n {validations.idWorkAreaType}\r\n
    \r\n
    \r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.idWorkArea || '-'}\r\n items={this.state.appWorkArea}\r\n invalid={validations.idWorkArea != null}\r\n disabled={this.state.appWorkArea == null || this.state.isDisabled}\r\n />\r\n {validations.idWorkArea}\r\n
    \r\n {showOtherWorkArea && (\r\n
    \r\n \r\n {validations.specifyOtherWorkArea}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n Equipment Type\r\n
    \r\n
    \r\n Equipment\r\n
    \r\n
    \r\n
    \r\n
    \r\n {!this.state.appEquipmentType ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.idEquipmentType}\r\n items={this.state.appEquipmentType}\r\n // invalid={validations.idEquipmentType != null}\r\n disabled={this.state.isDisabled}\r\n />\r\n )}\r\n
    \r\n
    \r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.idEquipment}\r\n items={this.state.appEquipment}\r\n // invalid={validations.idEquipment != null}\r\n disabled={this.state.appEquipment == null || this.state.isDisabled}\r\n />\r\n
    \r\n {showOtherEquipment && (\r\n
    \r\n \r\n {validations.specifyOtherEquipment}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {' '}\r\n

    2.6 Weather Conditions

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.updateState('sea', value, 'incidentModel')\r\n }\r\n itemToString={(item) => item || ''}\r\n initialSelectedItem={this.state.incidentModel.sea}\r\n items={this.state.appSea}\r\n disabled={this.state.isDisabled}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {validations.temperatureHot ? (\r\n
    \r\n {' '}\r\n The temperature must be consistent with the type: Hot or Cold{' '}\r\n
    \r\n ) : 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\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {' '}\r\n

    2.7 Witnesses (*)

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n 0)}\r\n />\r\n \r\n {validations.noWitness}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    \r\n {!this.state.isDisabled && !this.state.incidentModel.noWitness && (\r\n {\r\n this.addWitness();\r\n }}\r\n renderIcon={Add16}\r\n >\r\n Add new\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n Type\r\n Full Name\r\n {/* Removed in RITM0701238 */}\r\n {/* National ID (CF) */}\r\n Witness statement\r\n Actions\r\n \r\n \r\n \r\n {rowsWitness == null || rowsWitness.length == 0 ? (\r\n \r\n ) : (\r\n rowsWitness.map((item, index) => (\r\n \r\n \r\n {item.involvedPerson.type}\r\n \r\n \r\n {item.involvedPerson.fullname}\r\n \r\n {/* Removed in RITM0701238 */}\r\n {/* \r\n {item.involvedPerson.nationalID}\r\n */}\r\n \r\n {item.witnessStatement && (\r\n \r\n )}\r\n \r\n \r\n {!this.state.isDisabled && (\r\n
    \r\n this.editWitnessModal(item.id)}\r\n size=\"small\"\r\n renderIcon={Edit16}\r\n iconDescription=\"Edit\"\r\n kind=\"ghost\"\r\n />\r\n this.confirmWitnessDelete(item.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n />\r\n
    \r\n )}\r\n \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    {validations.witnessPeople}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {' '}\r\n

    2.8 Investigation Team (*)

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

    \r\n {!this.state.isDisabled && (\r\n {\r\n this.addTeamMember();\r\n }}\r\n renderIcon={Add16}\r\n >\r\n Add new\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n Name\r\n Surname\r\n Badge Number\r\n Email\r\n Team Leader\r\n Actions\r\n \r\n \r\n \r\n {rowsTeamMember == null || rowsTeamMember.length == 0 ? (\r\n \r\n ) : (\r\n rowsTeamMember.map((item, index) => (\r\n \r\n \r\n {item.name != null\r\n ? item.name\r\n : item.employer\r\n ? item.employer.name\r\n : ''}\r\n \r\n \r\n {item.surname != null\r\n ? item.surname\r\n : item.employer\r\n ? item.employer.surname\r\n : ''}\r\n \r\n \r\n {item.ghrS_ID != null\r\n ? item.ghrS_ID\r\n : item.employer\r\n ? item.employer.ghrS_ID\r\n : ''}\r\n \r\n \r\n {item.email != null\r\n ? item.email\r\n : item.employer\r\n ? item.employer.email\r\n : ''}\r\n \r\n \r\n {item.isTeamLeader && (\r\n \r\n )}\r\n \r\n \r\n {!this.state.isDisabled && (\r\n
    \r\n this.editTeamMemberModal(item.id)}\r\n size=\"small\"\r\n renderIcon={Edit16}\r\n iconDescription=\"Edit\"\r\n kind=\"ghost\"\r\n />\r\n this.confirmTeamMemberDelete(item.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n />\r\n
    \r\n )}\r\n \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    {validations.investigationTeamMembers}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {' '}\r\n

    2.9 Attachment Section

    \r\n
    (It is prohibited to add in the report / notification any sensitive picture (i.e. wound, stitches, broken part, etc..) or any sensitive information related to the injured person.​\r\n It is also forbidden to upload photos on which it is possible to recognize specific people​)
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n {/*
    {validations.attachment}
    */}\r\n
    \r\n {/*
    \r\n

    3.8 Investigation Findings

    \r\n\r\n
    \r\n
    \r\n \r\n this.updateState('investigationCriticalFactors', el.target.value, 'incidentModel')}\r\n hideLabel={true}\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={100}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n this.updateState('lessonLearned', el.target.value, 'incidentModel')}\r\n hideLabel={true}\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={100}\r\n />\r\n \r\n
    \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n this.selectTab(0)}\r\n className=\"bx--col bx--btn--max-width\"\r\n size=\"default\"\r\n kind=\"secondary\"\r\n >\r\n Prev Step\r\n \r\n this.props.cancel()}\r\n className=\"bx--col bx--btn--max-width\"\r\n size=\"default\"\r\n kind=\"secondary\"\r\n >\r\n Cancel\r\n \r\n this.saveTabInvestigation()}\r\n disabled={this.state.isDisabled}\r\n className=\"bx--col bx--btn--max-width\"\r\n size=\"default\"\r\n kind=\"primary\"\r\n >\r\n Save\r\n \r\n window.print()}\r\n disabled={this.state.isDisabled}\r\n className=\"bx--col bx--btn--max-width\"\r\n size=\"default\"\r\n kind=\"secondary\"\r\n >\r\n Print\r\n \r\n this.selectTab(2)}\r\n className=\"bx--col bx--btn--max-width\"\r\n size=\"default\"\r\n kind=\"secondary\"\r\n >\r\n Next Step\r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport {\r\n Button,\r\n Table,\r\n TableContainer,\r\n TableHead,\r\n TableHeader,\r\n TableBody,\r\n TableRow,\r\n TableCell,\r\n FormGroup,\r\n TextArea,\r\n TableToolbar,\r\n DataTableSkeleton,\r\n} from 'carbon-components-react';\r\nimport { Link } from 'react-router-dom';\r\nimport { ArrowRight16, Checkmark24 } from '@carbon/icons-react';\r\nimport { Section } from '../../lib/react-scroll-section/src/index';\r\nimport { Menu, Item } from '../../helpers/scrolling/ScrollingMenuItem';\r\nimport '../../scss/custom.scss';\r\nimport { switchDateFormat } from '../../helpers/jsonschemaform/customwidget/utils';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport { getSuccess, getError, entitiesLabels, apioperation } from '../../helpers/Constants';\r\nimport { api } from '../../helpers/api/api';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { NoRecordsPlaceholder } from '../../helpers/jsonschemaform/DataTableExtention';\r\nimport { IsEditable } from '../../helpers/authorization/Policies';\r\nimport { StatusTag } from '../../helpers/PageBreadCrumb';\r\nconst IncidentTabCausesModel = {\r\n id: null,\r\n investigationCriticalFactors: null,\r\n returnOfExperience: null,\r\n incidentCAR: [],\r\n};\r\n\r\nexport default class IncidentTabCauses extends Component {\r\n initialState = (props) => {\r\n let initialState = {\r\n incidentModel: {\r\n ...IncidentTabCausesModel,\r\n },\r\n isDisabled: true,\r\n };\r\n if (props.incidentEditModel) {\r\n initialState.incidentModel = { ...props.incidentEditModel };\r\n initialState.isDisabled = !IsEditable(\r\n 'Incident',\r\n 'Reporting',\r\n props.user,\r\n props.incidentEditModel.status.id,\r\n 'Causes',\r\n props.incidentEditModel\r\n );\r\n }\r\n return initialState;\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator();\r\n this.updateState = this.updateState.bind(this);\r\n\r\n this.state = {\r\n ...this.initialState(props),\r\n };\r\n }\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n let statusCopy = Object.assign({}, this.state);\r\n statusCopy[objName][inputName] = inputValue;\r\n\r\n this.setState(statusCopy);\r\n };\r\n\r\n selectTab = (index) => {\r\n this.props.selectTab(index);\r\n };\r\n\r\n saveTabCauses = () => {\r\n if (this.validator.allValid()) {\r\n this.props.isSubmitted(true);\r\n\r\n let datiForm = this.state.incidentModel;\r\n\r\n api\r\n .put('/incident/', datiForm, datiForm.id + '/causes')\r\n .then((response) => {\r\n if (response.status === 200) {\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n this.state.incidentModel.id != null\r\n ? `${entitiesLabels.INCIDENT} ${entitiesLabels.WITHCODE} ${\r\n datiForm.incidentReportId\r\n } ${getSuccess('causes', apioperation.PUT)}`\r\n : getSuccess(entitiesLabels.INCIDENT, apioperation.POST)\r\n );\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.INCIDENT, apioperation.POST)\r\n );\r\n })\r\n .finally(() => {\r\n this.props.isSubmitted(false);\r\n });\r\n this.props.updateCacheIncidentModel(datiForm, 'tabCauses');\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n entitiesLabels.INCIDENT + ' required fields are missing '\r\n );\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n render() {\r\n const validations = {\r\n investigationCriticalFactors: this.validator.message(\r\n 'investigationCriticalFactors',\r\n this.state.incidentModel.investigationCriticalFactors,\r\n 'required'\r\n ),\r\n };\r\n if (!this.props.incidentEditModel || !this.props.incidentEditModel.id) {\r\n return null;\r\n }\r\n\r\n const rows = this.state.incidentModel.incidentCAR || [];\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n \r\n 3.1 Investigation Findings\r\n 3.2 ROOT CAUSES ANALISYS\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    3.1 Investigation Findings (*)

    \r\n
    (It is forbidden to mention any Name and/or Surname. If necessary, use only the IP (Injured Person) wording and generic definition (such as witness, IP))
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n this.updateState(\r\n 'investigationCriticalFactors',\r\n el.target.value,\r\n 'incidentModel'\r\n )\r\n }\r\n hideLabel={true}\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={100}\r\n invalid={validations.investigationCriticalFactors != null}\r\n disabled={this.state.isDisabled}\r\n />\r\n {validations.investigationCriticalFactors}\r\n \r\n
    \r\n
    \r\n \r\n \r\n this.updateState('returnOfExperience', el.target.value, 'incidentModel')\r\n }\r\n hideLabel={true}\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={100}\r\n disabled={this.state.isDisabled}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    3.2 ROOT CAUSES ANALISYS

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

    \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n {this.props.isLoadingIncident ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n Owner Name\r\n Owner Surname\r\n CAR Code\r\n Due Date\r\n CAR Owner Involved\r\n Status\r\n \r\n \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n rows.map((item, index) => (\r\n \r\n \r\n {item.owner != null\r\n ? item.owner.name\r\n : item.ownerSaipem != null\r\n ? item.ownerSaipem.name\r\n : ''}\r\n \r\n \r\n {item.owner != null\r\n ? item.owner.surname\r\n : item.ownerSaipem != null\r\n ? item.ownerSaipem.surname\r\n : ''}\r\n \r\n \r\n {item.incidentCARCode}\r\n \r\n \r\n {' '}\r\n {switchDateFormat(item.dueDate, 'date')}\r\n \r\n \r\n {this.state.incidentModel.idStatus > 2 ? (\r\n \r\n ) : (\r\n ''\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n ))\r\n )}\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n this.selectTab(1)}\r\n className=\"bx--col bx--btn--max-width\"\r\n size=\"default\"\r\n kind=\"secondary\"\r\n >\r\n Prev Step\r\n \r\n this.props.cancel()}\r\n className=\"bx--col bx--btn--max-width\"\r\n size=\"default\"\r\n kind=\"secondary\"\r\n >\r\n Cancel\r\n \r\n this.saveTabCauses()}\r\n disabled={this.state.isDisabled}\r\n className=\"bx--col bx--btn--max-width\"\r\n size=\"default\"\r\n kind=\"primary\"\r\n >\r\n Save\r\n \r\n window.print()}\r\n disabled={this.state.isDisabled}\r\n className=\"bx--col bx--btn--max-width\"\r\n size=\"default\"\r\n kind=\"secondary\"\r\n >\r\n Print\r\n \r\n this.selectTab(3)}\r\n className=\"bx--col bx--btn--max-width\"\r\n size=\"default\"\r\n kind=\"secondary\"\r\n >\r\n Next Step\r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n TextInput, Button, Table, DataTable, TableContainer, TableHead, TableHeader, TableBody, TableRow,\r\n ComposedModal, ModalHeader, ModalBody, ModalFooter, DataTableSkeleton\r\n} from 'carbon-components-react';\r\nimport { RadioButton20, RadioButtonChecked20 } from '@carbon/icons-react';\r\nimport { showNotification } from '../helpers/notification/BaseNotification';\r\nimport { getSuccess, getError, entitiesLabels, apioperation } from '../helpers/Constants';\r\nimport { api } from '../helpers/api/api';\r\nimport { RenderDataTableCell, NoRecordsPlaceholder, Pagination } from '../helpers/jsonschemaform/DataTableExtention';\r\n\r\nexport class HistoryTable extends Component {\r\n initState = (props) => {\r\n\r\n return {\r\n\r\n entityId: props.entityId,\r\n\r\n };\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n ...this.initState(props),\r\n itemList: [],\r\n isLoading: false,\r\n };\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n \r\n if (nextProps.isOpenModal && !this.props.isOpenModal) {\r\n this.getHistoryWF(this.props.entityId);\r\n }\r\n }\r\n\r\n /*************API********************/\r\n getHistoryWF = (id) => {\r\n this.setState({ isLoading: true });\r\n api.get('/historyWF/', id==null?this.state.entityId: id)\r\n .then(response => {\r\n //console.log(response);\r\n this.setState({\r\n itemList: response.data\r\n });\r\n }).catch(error => {\r\n showNotification.error(getError(error, entitiesLabels.HISTORYWF, apioperation.GET));\r\n\r\n }).finally(() => {\r\n this.setState({\r\n isLoading: false,\r\n });\r\n });\r\n }\r\n /*********************************/\r\n\r\n render() {\r\n const modalHeader = {\r\n title: \"History\",\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.props.onClose()\r\n };\r\n const DTHeaders = [\r\n { key: 'eventDescription', header: 'Description' },\r\n { key: 'timeOfOccurance', header: 'Date', type: 'datetime' },\r\n { key: 'userMail', header: 'User' },\r\n ... (this.state.itemList != null && this.state.itemList.length > 0 && this.state.itemList.find(x => x.nextApproverMail != null)) ? [{ key: 'nextApproverMail', header: 'Approval - Consolidation in charge to' }] : [], //RITM0946152\r\n\r\n ];\r\n const DTRows = this.state.itemList || [];\r\n\r\n\r\n\r\n return (\r\n this.props.onClose()}\r\n >\r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n (\r\n \r\n {this.state.isLoading ?\r\n \r\n :\r\n \r\n \r\n \r\n\r\n {headers.map(header => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n\r\n \r\n \r\n \r\n {\r\n (rows == null || rows.length == 0)\r\n ?\r\n \r\n :\r\n rows.map(row => (\r\n \r\n\r\n {row.cells.map(cell =>\r\n x.key === cell.info.header)} />\r\n )}\r\n \r\n ))\r\n }\r\n \r\n\r\n
    \r\n\r\n }\r\n
    \r\n )}\r\n />\r\n
    \r\n\r\n\r\n
    \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, { Component } from 'react';\r\nimport {\r\n Loading,\r\n Button,\r\n Tabs,\r\n Tab,\r\n InlineNotification,\r\n TabsSkeleton,\r\n HeaderName,\r\n HeaderNavigation,\r\n SkeletonText,\r\n} from 'carbon-components-react';\r\nimport { ChevronLeft16, Information16 } from '@carbon/icons-react';\r\nimport { ScrollingProvider, Section } from '../../lib/react-scroll-section/src/index';\r\nimport { Menu, Item } from '../../helpers/scrolling/ScrollingMenuItem';\r\nimport '../../scss/custom.scss';\r\nimport '../../scss/react-datetime.css';\r\nimport { switchDateFormat } from '../../helpers/jsonschemaform/customwidget/utils';\r\nimport { ComboBox } from '../../helpers/ComboBox';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport {\r\n getSuccess,\r\n getError,\r\n entitiesLabels,\r\n apioperation,\r\n STATUS,\r\n} from '../../helpers/Constants';\r\nimport { api, dynamic, registry, me } from '../../helpers/api/api';\r\nimport ReportRepository from '../../helpers/api/ReportRepository';\r\n\r\nimport { IsInRole, IsEditable, CanExecuteAction } from '../../helpers/authorization/Policies';\r\nimport { AppContext } from '../../helpers/context/AppContext';\r\nimport {\r\n CheckmarkOutline16,\r\n Send16,\r\n Delete16,\r\n Error16,\r\n InformationFilled16,\r\n} from '@carbon/icons-react/lib/';\r\nimport { WFActionModal } from '../common/WFActionModal';\r\nimport IncidentTabNotification from './IncidentTabNotification';\r\nimport IncidentTabReport from './IncidentTabReport';\r\nimport IncidentTabInvestigation from './IncidentTabInvestigation';\r\nimport IncidentTabCauses from './IncidentTabCauses';\r\nimport PageBreadCrumb from '../../helpers/PageBreadCrumb';\r\nimport { HistoryTable } from '../../helpers/HistoryTable';\r\nimport IncidentRepository from '../../helpers/api/IncidentRepository';\r\nimport { Online, Offline } from '../common/OnLineOffLine';\r\nimport moment from 'moment';\r\n\r\nconst initialState = {\r\n isEdit: false,\r\n isLoadingIncident: false,\r\n idIncidentEdit: undefined,\r\n incidentEditModel: null,\r\n isSubmitted: false,\r\n toSubmit: false,\r\n\r\n appActivity: [],\r\n appMatrixCell: null, //static matrix obj\r\n appMatrixColor: null, //static matrix obj\r\n appPublicAuthoritiesAndEntitiesInvolved: [],\r\n appTransportAccident: [],\r\n appInfoOriginator: [],\r\n subContractors: [],\r\n appWorkRelated: [],\r\n appPlace: [],\r\n appProbabilities: [],\r\n appSeveritiesInvestigation: [],\r\n appSeveritiesConsequences: [],\r\n appLifeSavingRuleCategory: [],\r\n appLifeSavingRule: [],\r\n appAllWorksites: null,\r\n appAllWorksitePrj: null,\r\n ///report///\r\n appCountry: [],\r\n appInjuryType: [],\r\n ///Status Action\r\n isApprovalModalOpen: false,\r\n approvalModalAction: '',\r\n approver: null,\r\n approvalStartDate: null,\r\n approvalEndDate: null,\r\n isLoadingApproverOptions: true,\r\n approvalValidationMessages: [],\r\n approvers: [],\r\n selectedData: [],\r\n approverRole: '',\r\n withApprover: true,\r\n isLoadingWFOperation: false,\r\n approvalNotesRequired: false,\r\n ///Status Action\r\n //History WF\r\n isHistoryModalOpen: false,\r\n //History WF\r\n};\r\n\r\nexport default class NewIncidentReport extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.selectTab = this.selectTab.bind(this);\r\n\r\n let idIncidentEdit = this.props.match.params.id;\r\n\r\n this.state = {\r\n stateIcon: false,\r\n stateTabs: 0,\r\n ...initialState,\r\n idIncidentEdit,\r\n isLoadingIncident: idIncidentEdit != undefined,\r\n isDisabledAll: false,\r\n isAutoOpenInjuredPerson: false,//RITM0864430\r\n };\r\n }\r\n baseUrl = '/incident/';\r\n componentDidMount() {\r\n this.getAllWorkSite();\r\n this.setStaticObject();\r\n this.getLifeSavingRule();\r\n this.getAllActivity();\r\n this.getCountry();\r\n this.getInjuryType();\r\n\r\n if (this.state.idIncidentEdit != undefined) {\r\n this.getIncidentForEdit(this.state.idIncidentEdit);\r\n } else {\r\n this.getAllWorkSitePrj('');\r\n }\r\n }\r\n\r\n showButtonHistory = () => {\r\n return (\r\n \r\n this.openModalHistory()}\r\n >\r\n History\r\n \r\n \r\n );\r\n };\r\n openModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: true });\r\n };\r\n closeModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: false });\r\n };\r\n selectTab(tabIndex) {\r\n this.setState({ stateTabs: tabIndex });\r\n }\r\n\r\n isSubmitted = (value) => {\r\n this.setState({ isSubmitted: value });\r\n };\r\n\r\n setlifeSavingRules = (value) => {\r\n if (this.state.incidentEditModel !== null\r\n & this.state.incidentEditModel !== undefined\r\n && this.state.incidentEditModel.tabNotifications !== null\r\n && this.state.incidentEditModel.tabNotifications !== undefined) {\r\n var obj = Object.assign(this.state.incidentEditModel.tabNotifications);\r\n obj['lifeSavingRules'] = value;\r\n\r\n this.setState((prevState) => ({\r\n toSubmit: false,\r\n incidentEditModel: {\r\n ...prevState.incidentEditModel,\r\n tabNotifications: obj,\r\n },\r\n }));\r\n }\r\n }\r\n\r\n showLoading() {\r\n let show = (this.state.isEdit && this.state.isLoadingIncident) || this.state.isSubmitted;\r\n let descr = this.state.isSubmitted ? 'Saving...' : 'Loading data...';\r\n return show && ;\r\n //return ()\r\n }\r\n\r\n async getIncidentForEdit(id) {\r\n try {\r\n this.setState({\r\n isEdit: true,\r\n isLoadingIncident: true,\r\n });\r\n\r\n const response = await api.get(this.baseUrl, id);\r\n let data = response.data;\r\n if (data && data.tabNotifications && data.tabNotifications.id) {\r\n console.log('getIncidentForEdit(): data received!');\r\n this.setState({\r\n idIncidentEdit: id,\r\n incidentEditModel: data,\r\n });\r\n console.log('getIncidentForEdit(): data.tabNotifications.idProject: ' + data.tabNotifications.idProject);\r\n await this.getAllWorkSitePrj(data.tabNotifications.idProject);\r\n\r\n } else {\r\n showNotification.error();\r\n this.cancel();\r\n }\r\n console.log('getIncidentForEdit(): end of try');\r\n } catch(error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INCIDENT, apioperation.GET));\r\n this.cancel();\r\n } finally {\r\n console.log('getIncidentForEdit(): finally');\r\n this.setState({ isLoadingIncident: false });\r\n }\r\n }\r\n\r\n getAllWorkSite() {\r\n api\r\n .getAll('/me/worksites')\r\n .then((response) => {\r\n var data = response.data;\r\n this.setState({\r\n appAllWorksites: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.WORKSITE, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n }\r\n\r\n async getAllWorkSitePrj(currentIdProject) {\r\n this.setState({\r\n isLoadingIncident: true\r\n });\r\n console.log('getAllWorkSitePrj(): currentIdProject: ' + currentIdProject);\r\n await api\r\n .getAll('/me/worksitesproject' + (currentIdProject != '' ? '?currentIdProject=' + currentIdProject : ''))\r\n .then((response) => {\r\n console.log('getAllWorkSitePrj(): response received!');\r\n var data = response.data;\r\n this.setState({\r\n appAllWorksitePrj: data\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.WORKSITEPROJECT, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {\r\n console.log('getAllWorkSitePrj(): finally');\r\n this.setState(\r\n {\r\n isLoadingIncident: false\r\n }\r\n );\r\n });\r\n }\r\n\r\n getCountry() {\r\n api\r\n .getAll('/country')\r\n .then((response) => {\r\n var data = response.data;\r\n this.setState({\r\n appCountry: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.COUNTRY, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n }\r\n\r\n getAllActivity() {\r\n api\r\n .getAll('/activity')\r\n .then((response) => {\r\n var data = response.data;\r\n this.setState({\r\n appActivity: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.ACTIVITY, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n }\r\n\r\n getLifeSavingRule = () => {\r\n dynamic\r\n .getAll('lifesavingrule', { params: { page: 0 } })\r\n .then((response) => {\r\n var data = response.data.itemList;\r\n this.setState({\r\n appLifeSavingRule: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.LIFESAVINGRULEVIOLATION, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n\r\n dynamic\r\n .getAll('lifesavingrulecategory', { params: { page: 0 } })\r\n .then((response) => {\r\n var data = response.data.itemList;\r\n this.setState({\r\n appLifeSavingRuleCategory: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.LIFESAVINGRULEVIOLATION, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n };\r\n\r\n getInjuryType = () => {\r\n dynamic\r\n .getAll('injurytype', { params: { page: 0 } })\r\n .then((response) => {\r\n var data = response.data.itemList;\r\n this.setState({\r\n appInjuryType: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.INJURYTYPE, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n };\r\n\r\n setStaticObject = () => {\r\n registry\r\n .getAll('publicauthorities')\r\n .then((response) => {\r\n var data = response.data;\r\n data =\r\n data != null\r\n ? data.map((item) => ({\r\n id: item.name,\r\n name: item.name,\r\n specifyOther: item.specifyOther,\r\n }))\r\n : [];\r\n data.sort(function (a, b) {\r\n return a.code - b.code;\r\n });\r\n this.setState({\r\n appPublicAuthoritiesAndEntitiesInvolved: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.PUBLICAUTHORITIES, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n\r\n // var appTransportAccident = [\r\n // { id: 'No', text: 'No' },\r\n // { id: 'AirTrasport', text: 'Air Trasport' },\r\n // { id: 'RoadTraffic', text: 'Road Traffic' },\r\n // { id: 'Ship/VesselTrasport', text: 'Ship/Vessel Trasport' },\r\n // // { id: 'RollBar', text: 'Is the vehicle equipped with IVMS and Roll Bar' }\r\n // ];\r\n\r\n registry\r\n .getAll('transportaccident')\r\n .then((response) => {\r\n var data = response.data;\r\n data =\r\n data != null\r\n ? data.map((item) => ({\r\n id: item.name,\r\n text: item.name,\r\n specifyOther: item.specifyOther,\r\n }))\r\n : [];\r\n data.sort(function (a, b) {\r\n return a.code - b.code;\r\n });\r\n this.setState({\r\n appTransportAccident: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.TRANSPORTACCIDENT, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n\r\n registry\r\n .getAll('infooriginator')\r\n .then((response) => {\r\n var data = response.data;\r\n data = data != null ? data.map((item) => ({ id: item.name, name: item.name })) : [];\r\n this.setState({\r\n appInfoOriginator: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.INFOORIGINATOR, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n\r\n ReportRepository.getSubcontractors()\r\n .then((response) => {\r\n this.setState({\r\n subContractors: response,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.SUBCONTRACTOR, apioperation.get)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingSubContractorOptions: false,\r\n });\r\n });\r\n\r\n // var appWorkRelated = [\r\n // { id: 'Yes', text: 'Yes' },\r\n // { id: 'No', text: 'No' },\r\n // { id: 'Communting', text: 'Communting', },\r\n // ];\r\n\r\n registry\r\n .getAll('workrelated')\r\n .then((response) => {\r\n var data = response.data;\r\n data =\r\n data != null\r\n ? data.map((item) => ({\r\n id: item.name,\r\n text: item.name,\r\n specifyOther: item.specifyOther,\r\n }))\r\n : [];\r\n data.sort(function (a, b) {\r\n return a.code - b.code;\r\n });\r\n this.setState({\r\n appWorkRelated: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.WORKRELATED, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n\r\n // var appPlace = [\r\n // { id: 'CampConstructionSite', text: 'Camp to Construction Site / viceversa' },\r\n // { id: 'ResidenceplaceWorkplace', text: 'Residence place to Workplace / viceversa' },\r\n // ];\r\n\r\n dynamic\r\n .getAll('place', { params: { page: 0 } })\r\n .then((response) => {\r\n var data = response.data.itemList;\r\n data = data != null ? data.map((item) => ({ id: item.name, text: item.name })) : [];\r\n\r\n this.setState({\r\n appPlace: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.PLACE, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n\r\n dynamic\r\n .getAll('probability', { params: { page: 0 } })\r\n .then((response) => {\r\n let appProbabilities = response.data.itemList;\r\n appProbabilities.sort(function (a, b) {\r\n return a.code - b.code;\r\n });\r\n\r\n this.setState({\r\n appProbabilities,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.PROBABILITY, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n\r\n dynamic\r\n .getAll('severity', { params: { page: 0 } })\r\n .then((response) => {\r\n let appSeverities = response.data.itemList;\r\n let appSeveritiesInvestigation = appSeverities.filter((el) => el.revision == 2);\r\n appSeveritiesInvestigation.sort((a, b) => a.code - b.code);\r\n let appSeveritiesConsequences = appSeverities.filter((el) => el.revision == 1);\r\n appSeveritiesConsequences.sort((a, b) => a.code - b.code);\r\n this.setState({\r\n appSeveritiesInvestigation,\r\n appSeveritiesConsequences,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.SEVERITY, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n\r\n var appMatrixCell = {\r\n 1: { lvlReal: 'A', lvlPot: { 1: 'A', 2: 'A', 3: 'A', 4: 'A', 5: 'B' } },\r\n 2: { lvlReal: 'A', lvlPot: { 1: 'A', 2: 'A', 3: 'A', 4: 'B', 5: 'B' } },\r\n 3: { lvlReal: 'B', lvlPot: { 1: 'A', 2: 'A', 3: 'B', 4: 'B', 5: 'C' } },\r\n 4: { lvlReal: 'C', lvlPot: { 1: 'B', 2: 'B', 3: 'B', 4: 'C', 5: 'C' } },\r\n 5: { lvlReal: 'C', lvlPot: { 1: 'B', 2: 'B', 3: 'C', 4: 'C', 5: 'C' } },\r\n };\r\n\r\n var appMatrixColor = {\r\n A: 'rgb(144, 238, 144, 0.6)', //verde\r\n B: 'rgb(255, 255, 0, 0.6)', //giallo\r\n C: 'rgb(255, 69, 0, 0.6)', //rosso\r\n };\r\n\r\n this.setState({ appMatrixCell, appMatrixColor });\r\n };\r\n\r\n cancel = () => {\r\n this.props.history.push('/incident');\r\n };\r\n\r\n updateType = (dati) => {\r\n this.setState((prevState) => ({\r\n incidentEditModel: {\r\n ...prevState.incidentEditModel,\r\n tabNotifications: dati,\r\n },\r\n }));\r\n };\r\n\r\n updateCacheIncidentModel = async (datiForm, tab) => {\r\n if (tab == 'tabNotifications') {\r\n //aggiorno la lista degli incident quando viene modificato il tab notification\r\n var dati = datiForm;\r\n\r\n var result = [];\r\n if (dati.outcomeAsset != null && dati.outcomeAsset == true) result.push('Property/Asset');\r\n if (dati.outcomeEnvironmental != null && dati.outcomeEnvironmental == true)\r\n result.push('Environmental');\r\n if (dati.outcomeHarm != null && dati.outcomeHarm == true) result.push('Harm To People');\r\n\r\n var incidentDTO = {\r\n id: dati.id,\r\n idStatus: dati.idStatus,\r\n status: dati.status.reportingName,\r\n investigationLevel: dati.investigationLevel,\r\n incidentReportId: null,\r\n idDivision: dati.idDivision,\r\n division: dati.division,\r\n idWorksite: dati.idWorksite,\r\n worksite: (this.state.appAllWorksites || []).find((el) => el.id == dati.idWorksite)?.name,\r\n title: dati.title,\r\n occurrenceDate: moment.utc(dati.occurrenceDate).format('YYYY-MM-DD'),\r\n type: dati.type,\r\n outcomeAsset: dati.outcomeAsset,\r\n outcomeEnvironmental: dati.outcomeEnvironmental,\r\n outcomeHarm: dati.outcomeHarm,\r\n realOutcomeAsset: dati.realOutcomeAsset,\r\n realOutcomeEnvironmental: dati.realOutcomeEnvironmental,\r\n realOutcomeHarm: dati.realOutcomeHarm,\r\n outcome: result.join(','),\r\n idCompiler: dati.idCompiler,\r\n idDataApprover: dati.idDataApprover,\r\n idDivisionManager: dati.idDivisionManager,\r\n };\r\n\r\n if (!this.state.isEdit) {\r\n //in creazione inizializzo il modello per tutti i tab\r\n let statusCopy = {};\r\n\r\n statusCopy['tabNotifications'] = datiForm;\r\n\r\n statusCopy['tabReport'] = {\r\n noInjured: null,\r\n injuredPeople: [],\r\n eventCause: null,\r\n actions: null,\r\n dueDate: null,\r\n id: dati.id,\r\n progressiveId: undefined,\r\n incidentReportId: null,\r\n idStatus: dati.idStatus,\r\n status: dati.status,\r\n idCompiler: dati.idCompiler,\r\n idDataApprover: null,\r\n idDivisionManager: null,\r\n };\r\n\r\n statusCopy['tabInvestigation'] = {\r\n sourceAccident: null,\r\n spillLakeUM: null,\r\n spillLakeNumericValue: null,\r\n spillRiverUM: null,\r\n spillRiverNumericValue: null,\r\n spillSeaUM: null,\r\n spillSeaNumericValue: null,\r\n spillSoilUM: null,\r\n spillSoilNumericValue: null,\r\n spillSubstanceReleased: null,\r\n spillDescription: null,\r\n isUsedSpillKit: null,\r\n isInPlaceProcedure: null,\r\n airPollUM: null,\r\n airPollSubstanceReleased: null,\r\n airPollQuantityReleased: null,\r\n isFloraImpacted: null,\r\n isFaunaImpacted: null,\r\n incidentEvents: [],\r\n idWorkAreaType: null,\r\n idWorkProcessType: null,\r\n idEquipmentType: null,\r\n idWorkArea: null,\r\n idWorkProcess: null,\r\n idEquipment: null,\r\n light: null,\r\n lightOrigin: null,\r\n wheather: null,\r\n sea: null,\r\n temperature: null,\r\n temperatureType: null,\r\n windSpeed: null,\r\n noWitness: null,\r\n witnessPeople: [],\r\n investigationTeamMembers: [],\r\n attachment: [],\r\n id: dati.id,\r\n progressiveId: undefined,\r\n incidentReportId: null,\r\n idStatus: dati.idStatus,\r\n status: dati.status,\r\n idCompiler: dati.idCompiler,\r\n idDataApprover: null,\r\n idDivisionManager: null,\r\n };\r\n\r\n statusCopy['tabCauses'] = {\r\n investigationCriticalFactors: null,\r\n returnOfExperience: null,\r\n incidentCAR: [],\r\n id: dati.id,\r\n progressiveId: undefined,\r\n incidentReportId: null,\r\n idStatus: dati.idStatus,\r\n status: dati.status,\r\n idCompiler: dati.idCompiler,\r\n idDataApprover: null,\r\n idDivisionManager: null,\r\n };\r\n\r\n let carListModel = {\r\n id: datiForm.id,\r\n incidentCode: null,\r\n incident: {\r\n id: datiForm.id,\r\n progressiveId: undefined,\r\n incidentReportId: null,\r\n idStatus: dati.idStatus,\r\n status: dati.status,\r\n idCompiler: dati.idCompiler,\r\n idDataApprover: null,\r\n idDivisionManager: null,\r\n },\r\n incidentCAR: [],\r\n };\r\n\r\n await Promise.all([\r\n IncidentRepository.updateCachedIncidentList(incidentDTO),\r\n IncidentRepository.updateCachedIncident(datiForm.id, statusCopy, tab),\r\n ])\r\n .then((response) => {\r\n if(!this.state.isAutoOpenInjuredPerson){\r\n this.props.history.push('/incident/');\r\n }\r\n })\r\n .catch((error) => {\r\n console.error({ error });\r\n })\r\n .finally(() => {\r\n IncidentRepository.createCachedIncidentCAR(datiForm.id, carListModel);\r\n });\r\n } else {\r\n let statusCopy = Object.assign(this.state.incidentEditModel);\r\n statusCopy['tabNotifications'] = datiForm;\r\n console.log(statusCopy)\r\n this.setState({\r\n incidentEditModel: statusCopy\r\n }, () => {\r\n IncidentRepository.updateCachedIncidentList(incidentDTO);\r\n IncidentRepository.updateCachedIncident(datiForm.id, datiForm, tab);\r\n }) \r\n }\r\n } else {\r\n IncidentRepository.updateCachedIncident(datiForm.id, datiForm, tab);\r\n }\r\n };\r\n\r\n ///Status Action\r\n handleApproverSelect = (selectedItem) => {\r\n this.setState({ approver: selectedItem });\r\n };\r\n\r\n handleCloseApprovalModal = () => {\r\n this.setState({ isApprovalModalOpen: false }, this.clearApprovalForm);\r\n };\r\n\r\n handleApprovalNotesChange = (e) => {\r\n this.setState({ approvalNotes: e.target.value });\r\n };\r\n\r\n handleConfirmApprovalModal = () => {\r\n let action = this.state.approvalModalAction.toLowerCase();\r\n let apiEndpoint = this.state.approvalEndpoint;\r\n\r\n const data = {\r\n ids: [this.state.idIncidentEdit],\r\n owner: this.state.approver,\r\n workflowNotes: this.state.approvalNotes,\r\n };\r\n\r\n this.setState({\r\n isLoadingWFOperation: true,\r\n });\r\n api\r\n .put(this.baseUrl + apiEndpoint, data, '')\r\n .then((response) => {\r\n if (response.status === 200) {\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.INCIDENT, apioperation.PUT)\r\n );\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n isApprovalModalOpen: false,\r\n isLoading: true,\r\n // model: null\r\n });\r\n this.props.history.push('/incident');\r\n //this.getIncidentForEdit(this.state.idIncidentEdit);\r\n } else {\r\n showNotification.error();\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.INCIDENT, apioperation.PUT)\r\n );\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n })\r\n .finally(() => {});\r\n };\r\n\r\n IsRowSelectable() {\r\n var row = this.state.incidentEditModel;\r\n if (\r\n row == null ||\r\n row.tabNotifications == null ||\r\n row.tabNotifications.idStatus == STATUS.Consolidated\r\n )\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n batchActionClick(\r\n actionKey,\r\n actionName,\r\n approverRole,\r\n withApprover,\r\n approvalNotesRequired,\r\n selectedRows\r\n ) {\r\n var incident = this.state.incidentEditModel.tabNotifications;\r\n\r\n if(actionKey == 'Submit' && (incident.lifeSavingRules === null || incident.lifeSavingRules?.length <= 0)) {\r\n this.setState({\r\n toSubmit: true\r\n })\r\n\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n entitiesLabels.INCIDENT + ' required fields are missing '\r\n );\r\n\r\n return; \r\n }\r\n\r\n\r\n var idEntity =\r\n actionKey == 'Submit'\r\n ? incident.idWorksite\r\n : actionKey == 'Approve'\r\n ? incident.idDivision\r\n : null;\r\n\r\n this.setState({\r\n toSubmit: false,\r\n approvalModalAction: actionName,\r\n isApprovalModalOpen: true,\r\n isLoadingApproverOptions: true,\r\n withApprover: withApprover,\r\n selectedData: selectedRows,\r\n approverRole: approverRole,\r\n approvalEndpoint: actionKey,\r\n approvalNotesRequired: approvalNotesRequired,\r\n });\r\n\r\n if (withApprover) this.getUsersInRole(approverRole, idEntity);\r\n }\r\n\r\n getUsersInRole = (role, idEntity) => {\r\n me.getWithParam('users', {\r\n params: { Role: role, IdEntity: idEntity, includeAdmins: true },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n approvers: response.data,\r\n isLoadingApproverOptions: false,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.ROLE, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingApproverOptions: false,\r\n });\r\n });\r\n };\r\n\r\n getStatusActions = (user) => {\r\n if (!this.IsRowSelectable()) return null;\r\n\r\n const idStatus = this.state.incidentEditModel.tabNotifications.idStatus;\r\n return (\r\n \r\n {CanExecuteAction(\r\n 'Incident',\r\n 'Reporting',\r\n user,\r\n idStatus,\r\n 'Submit',\r\n this.state.incidentEditModel.tabNotifications\r\n ) ? (\r\n \r\n this.batchActionClick('Submit', 'Submit', 'Data Approver', true, false, null)\r\n }\r\n >\r\n Submit Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Incident',\r\n 'Reporting',\r\n user,\r\n idStatus,\r\n 'Approve',\r\n this.state.incidentEditModel.tabNotifications\r\n ) ? (\r\n \r\n this.batchActionClick('Approve', 'Approve', 'Division Manager', true, false, null)\r\n }\r\n >\r\n Approve Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Incident',\r\n 'Reporting',\r\n user,\r\n idStatus,\r\n 'Consolidate',\r\n this.state.incidentEditModel.tabNotifications\r\n ) ? (\r\n \r\n this.batchActionClick('Consolidate', 'Approve', null, false, false, null)\r\n }\r\n >\r\n Consolidate Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Incident',\r\n 'Reporting',\r\n user,\r\n idStatus,\r\n 'Reject',\r\n this.state.incidentEditModel.tabNotifications\r\n ) ? (\r\n this.batchActionClick('Reject', 'Reject', null, false, true, null)}\r\n >\r\n Reject Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Incident',\r\n 'Reporting',\r\n user,\r\n idStatus,\r\n 'RejectConsolidate',\r\n this.state.incidentEditModel.tabNotifications\r\n ) ? (\r\n \r\n this.batchActionClick('RejectConsolidate', 'Reject', null, false, true, null)\r\n }\r\n >\r\n Reject Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Incident',\r\n 'Reporting',\r\n user,\r\n idStatus,\r\n 'Delete',\r\n this.state.incidentEditModel.tabNotifications\r\n ) ? (\r\n this.batchActionClick('Delete', 'Delete', null, false, false, null)}\r\n >\r\n Delete\r\n \r\n ) : null}\r\n \r\n );\r\n };\r\n ///Fine Status Action\r\n\r\n handleNotificationChange = (outcomeAsset, outcomeEnvironmental, outcomeHarm, realOutcomeHarm) => {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n outcomeEnvironmental: outcomeEnvironmental,\r\n outcomeAsset: outcomeAsset,\r\n outcomeHarm: outcomeHarm,\r\n realOutcomeHarm: realOutcomeHarm,\r\n }));\r\n };\r\n\r\n //RITM0864430\r\n updateAutoOpenInjuredPerson = (value) => {\r\n this.setState({isAutoOpenInjuredPerson: value });\r\n};\r\n\r\nupdateHarmedPeople = (value) => {\r\n this.getIncidentForEdit(this.state.idIncidentEdit);\r\n};\r\n\r\n \r\n updateEditMode = (value) => {\r\n this.setState({idIncidentEdit: value });\r\n this.getIncidentForEdit(this.state.idIncidentEdit);\r\n};\r\n\r\n render() {\r\n\r\n const currentProject= {\r\n idProject:this.state.incidentEditModel?.tabNotifications.idProject ||'',\r\n idWorkSite:this.state.incidentEditModel?.tabNotifications.idWorksite||'',\r\n project: this.state.incidentEditModel?.tabNotifications.project||[]\r\n \r\n };\r\n\r\n // console.log (\"===>\", currentProject)\r\n let appAllWorksitePrj=[];\r\n if (this.state.appAllWorksitePrj){\r\n appAllWorksitePrj= this.state.appAllWorksitePrj?.find(el=>el.idProject===currentProject.id) ? this.state.appAllWorksitePrj : [...this.state.appAllWorksitePrj,currentProject]; \r\n }\r\n \r\n\r\n\r\n\r\n const tabNotificationProps = {\r\n key: 'tabNotif' + (this.state.incidentEditModel ? 'Edit' : 'Add'),\r\n isEdit: this.state.isEdit,\r\n toSubmit: this.state.toSubmit,\r\n incidentEditModel:\r\n this.state.incidentEditModel && this.state.incidentEditModel.tabNotifications,\r\n isLoadingIncident: this.state.isLoadingIncident,\r\n appActivity: this.state.appActivity || [],\r\n appMatrixCell: this.state.appMatrixCell,\r\n appMatrixColor: this.state.appMatrixColor,\r\n appPublicAuthoritiesAndEntitiesInvolved:\r\n this.state.appPublicAuthoritiesAndEntitiesInvolved || [],\r\n appTransportAccident: this.state.appTransportAccident || [],\r\n appInfoOriginator: this.state.appInfoOriginator || [],\r\n subContractors: this.state.subContractors || [],\r\n appWorkRelated: this.state.appWorkRelated || [],\r\n appPlace: this.state.appPlace || [],\r\n appProbabilities: this.state.appProbabilities || [],\r\n appSeveritiesInvestigation: this.state.appSeveritiesInvestigation || [],\r\n appSeveritiesConsequences: this.state.appSeveritiesConsequences || [],\r\n appLifeSavingRuleCategory: this.state.appLifeSavingRuleCategory || [],\r\n appLifeSavingRule: this.state.appLifeSavingRule || [],\r\n appAllWorksites: this.state.appAllWorksites,\r\n\t appAllWorksitePrj: appAllWorksitePrj,\r\n selectTab: this.selectTab,\r\n isSubmitted: this.isSubmitted,\r\n setlifeSavingRules: this.setlifeSavingRules,\r\n history: this.props.history,\r\n cancel: this.cancel,\r\n updateType: this.updateType,\r\n updateCacheIncidentModel: this.updateCacheIncidentModel,\r\n onChange: this.handleNotificationChange,\r\n autoInjuredPersonModal: this.state.isAutoOpenInjuredPerson,//RITM0864430\r\n updateAutoOpenInjuredPerson: this.updateAutoOpenInjuredPerson,//RITM0864430\r\n updateEditMode: this.updateEditMode,\r\n updateHarmedPeople: this.updateHarmedPeople,\r\n };\r\n\r\n const tabReportProps = {\r\n key: 'tabReport' + (this.state.incidentEditModel ? 'Edit' : 'Add'),\r\n incidentEditModel: this.state.incidentEditModel && this.state.incidentEditModel.tabReport,\r\n isLoadingIncident: this.state.isLoadingIncident,\r\n appInjuryType: this.state.appInjuryType || [],\r\n appCountry: this.state.appCountry || [],\r\n appType: this.state.appInfoOriginator || [],\r\n selectTab: this.selectTab,\r\n isSubmitted: this.isSubmitted,\r\n history: this.props.history,\r\n cancel: this.cancel,\r\n submitReport: () =>\r\n this.batchActionClick('Submit', 'Submit', 'Data Approver', true, false, null),\r\n updateCacheIncidentModel: this.updateCacheIncidentModel,\r\n isDisabled: this.state.isDisabledAll || false,\r\n isAccident:\r\n this.state.incidentEditModel && this.state.incidentEditModel.tabNotifications\r\n ? this.state.incidentEditModel.tabNotifications.realOutcomeHarm == true\r\n : false,\r\n };\r\n\r\n const tabInvestigationProps = {\r\n key: 'tabInvestigation' + (this.state.incidentEditModel ? 'Edit' : 'Add'),\r\n incidentEditModel:\r\n this.state.incidentEditModel && this.state.incidentEditModel.tabInvestigation,\r\n noInjuredPerson:\r\n this.state.incidentEditModel?.tabInvestigation?.noInjured != null\r\n ? this.state.incidentEditModel?.tabInvestigation?.noInjured\r\n : this.state.incidentEditModel?.tabNotifications?.realOutcomeHarm,\r\n isLoadingIncident: this.state.isLoadingIncident,\r\n appType: this.state.appInfoOriginator || [],\r\n subContractors: this.state.subContractors || [],\r\n appInjuryType: this.state.appInjuryType || [],\r\n appCountry: this.state.appCountry || [],\r\n outcomeEnviroment:\r\n this.state.outcomeEnvironmental !== undefined\r\n ? this.state.outcomeEnvironmental\r\n : this.state.incidentEditModel?.tabNotifications?.outcomeEnvironmental\r\n ? true\r\n : false,\r\n outcomeAsset:\r\n this.state.outcomeAsset !== undefined\r\n ? this.state.outcomeAsset\r\n : this.state.incidentEditModel?.tabNotifications?.outcomeAsset\r\n ? true\r\n : false,\r\n outcomeHarm:\r\n this.state.outcomeHarm !== undefined\r\n ? this.state.outcomeHarm\r\n : this.state.incidentEditModel?.tabNotifications?.outcomeHarm\r\n ? true\r\n : false,\r\n realOutcomeHarm:\r\n this.state.realOutcomeHarm !== undefined\r\n ? this.state.realOutcomeHarm\r\n : this.state.incidentEditModel?.tabNotifications?.realOutcomeHarm\r\n ? true\r\n : false,\r\n selectTab: this.selectTab,\r\n isSubmitted: this.isSubmitted,\r\n history: this.props.history,\r\n cancel: this.cancel,\r\n updateCacheIncidentModel: this.updateCacheIncidentModel,\r\n isDisabled: this.state.isDisabledAll || false,\r\n autoInjuredPersonModal: this.state.isAutoOpenInjuredPerson,//RITM0864430\r\n updateAutoOpenInjuredPerson: this.updateAutoOpenInjuredPerson,\r\n updateHarmedPeople: this.updateHarmedPeople,\r\n };\r\n\r\n const tabCausesProps = {\r\n key: 'tabCauses' + (this.state.incidentEditModel ? 'Edit' : 'Add'),\r\n incidentEditModel: this.state.incidentEditModel && this.state.incidentEditModel.tabCauses,\r\n isLoadingIncident: this.state.isLoadingIncident,\r\n selectTab: this.selectTab,\r\n isSubmitted: this.isSubmitted,\r\n history: this.props.history,\r\n cancel: this.cancel,\r\n updateCacheIncidentModel: this.updateCacheIncidentModel,\r\n isDisabled: this.state.isDisabledAll || false,\r\n };\r\n \r\n return (\r\n \r\n {({ user }) => (\r\n <>\r\n \r\n
    \r\n \r\n {/* RITM0655780 */}\r\n { !(this.state.incidentEditModel \r\n && this.state.incidentEditModel.tabNotifications \r\n && this.state.incidentEditModel.tabNotifications.notificationDate \r\n && this.state.incidentEditModel.tabNotifications.notificationDate.startsWith('0001-01-01')\r\n ) ? (\r\n ''\r\n ) : this.state.isLoadingIncident ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n \r\n
    \r\n )}\r\n {/* END RITM0655780 */}\r\n\r\n
    \r\n {this.showLoading()}\r\n \r\n {this.state.isEdit ? (\r\n this.closeModalHistory()}\r\n />\r\n ) : (\r\n ''\r\n )}\r\n {\r\n e.preventDefault();\r\n }}\r\n >\r\n
    \r\n
    \r\n this.setState({ stateTabs: index })}\r\n tabContentClassName=\"tab-content\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.isEdit && this.state.incidentEditModel && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {this.state.isEdit && this.state.incidentEditModel && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {this.state.isEdit && this.state.incidentEditModel && (\r\n \r\n )}\r\n \r\n \r\n \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, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Button,\r\n ComposedModal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n ComboBox,\r\n DropdownSkeleton,\r\n} from 'carbon-components-react';\r\nimport { api } from '../../helpers/api/api';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport { getError, entitiesLabels, apioperation } from '../../helpers/Constants';\r\n\r\nexport class FindSaipemCompilers extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n items: [],\r\n };\r\n // bind event handlers\r\n this.getCompilers = this.getCompilers.bind(this);\r\n this.handleClickOk = this.handleClickOk.bind(this);\r\n this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n async componentDidMount() {\r\n this.setState({ loading: true });\r\n const items = await this.getCompilers();\r\n this.setState({ items, loading: false });\r\n }\r\n\r\n getCompilers = async () => {\r\n this.setState({ loading: true });\r\n\r\n let items = [];\r\n try {\r\n items = (await api.getAll(this.props.url)).data;\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.USER, apioperation.GET));\r\n }\r\n return items;\r\n };\r\n\r\n handleClickOk = () => {\r\n const { item } = this.state;\r\n if (item == null) {\r\n showNotification.warning(`${entitiesLabels.WARNING}`,'Select user');\r\n return;\r\n }\r\n this.props.onOk(item);\r\n };\r\n\r\n onChange = (selectedItem) => {\r\n const item = selectedItem ? selectedItem.selectedItem : null;\r\n this.setState({ item });\r\n };\r\n\r\n /** ****************************** */\r\n\r\n render() {\r\n const modalHeader = {\r\n title: 'Select Car Owner from Saipem',\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.props.onCancel(0),\r\n };\r\n return (\r\n false}\r\n >\r\n \r\n \r\n {this.state.loading ? (\r\n \r\n ) : (\r\n \r\n item.fullName?.toLowerCase().includes(inputValue.toLowerCase()) ||\r\n item.email?.toLowerCase().includes(inputValue.toLowerCase())\r\n }\r\n itemToString={(item) =>\r\n item ? item && item.email && `${item.name} ${item.surname} (${item.email})` : ''\r\n }\r\n selectedItem={this.props.selectedItem}\r\n initialSelectedItem={this.props.initialSelectedItem}\r\n />\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\nFindSaipemCompilers.propTypes = {\r\n url: PropTypes.string.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n onOk: PropTypes.func.isRequired,\r\n // eslint-disable-next-line react/forbid-prop-types\r\n selectedItem: PropTypes.object,\r\n initialSelectedItem: PropTypes.object,\r\n isOpenModal: PropTypes.bool,\r\n};\r\nFindSaipemCompilers.defaultProps = {\r\n selectedItem: null,\r\n isOpenModal: false,\r\n initialSelectedItem: null,\r\n};\r\nexport default FindSaipemCompilers;\r\n","/* eslint-disable react/sort-comp */\r\nimport React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n TextInput,\r\n Button,\r\n FormGroup,\r\n ComposedModal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n DropdownSkeleton\r\n} from 'carbon-components-react';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { FindGHRSEmployer } from '../common/FindGHRSEmployer';\r\nimport { ComboBox } from '../../helpers/ComboBox';\r\nimport { DateFormat, entitiesLabels } from '../../helpers/Constants';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport DateTimePicker from '../../helpers/DateTimePicker';\r\nimport { FindSaipemCompilers } from '../common/FindSaipemCompilers';\r\n\r\nexport default class CARModal extends Component {\r\n incidentCARModel = (props) => {\r\n if (props.isEditModal) {\r\n const { editModel } = props;\r\n if (editModel.directCauseSubCategory) {\r\n editModel.idDirectCause = editModel.idDirectCause;\r\n \r\n }\r\n if (editModel.rootCauseSubCategory) {\r\n editModel.idRootCause = editModel.idRootCause;\r\n }\r\n return { ...editModel };\r\n }\r\n\r\n return {\r\n id: undefined, // guid\r\n idIncident: null, // guid\r\n idStatus: 0, // int\r\n status: null,\r\n dueDate: null,\r\n idOwner: null, // idEmployer: null, //guid\r\n owner: {\r\n // employer: {\r\n id: null, // guid\r\n // name: '',\r\n // surname: '',\r\n // email: '',\r\n },\r\n idOwnerSaipem: null, // idEmployer: null, //guid\r\n ownerSaipem: {\r\n // employer: {\r\n id: null, // guid\r\n // name: '',\r\n // surname: '',\r\n // email: '',\r\n },\r\n idDirectCauseSubCategory: null, // guid\r\n directCauseSubCategory: null, // {}\r\n idRootCauseSubCategory: null, // guid\r\n rootCauseSubCategory: null, // {}\r\n idRootCauseSubCategoryDetail: null, // guid\r\n rootCauseSubCategoryDetail: null, // {}\r\n };\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n const owner = props.isEditModal\r\n ? props.editModel.owner || props.editModel.ownerSaipem\r\n : { id: null };\r\n this.validator = new SimpleReactValidator({autoForceUpdate: this, locale: 'en'});\r\n this.state = {\r\n model: {\r\n ...this.incidentCARModel(props),\r\n },\r\n owner,\r\n idIncident: this.props.idIncident,\r\n mode: props.mode || 0,\r\n appDirectCause: props.appDirectCause,\r\n appDirectCauseSubCategory: null,\r\n appRootCause: props.appRootCause,\r\n appRootCauseSubCategory: null,\r\n appRootCauseSubCategoryDetail: null,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.isEditModal) {\r\n // loading valori combo calcolate,\r\n if (this.state.model.idDirectCause) {\r\n this.getDirectCauseSubCategory(this.state.model.idDirectCause);\r\n }\r\n if (this.state.model.idRootCause) {\r\n this.getRootCauseSubCategory(this.state.model.idRootCause);\r\n }\r\n } else {\r\n //RITM0623666\r\n if(this.props.incidentCompiler) this.setSaipemOwner(this.props.incidentCompiler)\r\n }\r\n }\r\n \r\n getDirectCauseSubCategory(value) {\r\n this.setState({\r\n appDirectCauseSubCategory: this.props.appDirectCauseSubCategory.filter(\r\n (el) => el.idDirectCause === value\r\n ),\r\n });\r\n }\r\n\r\n getRootCauseSubCategory(value) {\r\n this.setState({\r\n appRootCauseSubCategory: this.props.appRootCauseSubCategory.filter(\r\n (el) => el.idRootCause === value\r\n ),\r\n });\r\n }\r\n\r\n getRootCauseSubCategoryDetail(value) {\r\n this.setState({\r\n appRootCauseSubCategoryDetail: this.props.appRootCauseSubCategoryDetail.filter(\r\n (el) => el.idRootCauseDetail === value\r\n ),\r\n });\r\n }\r\n\r\n handleChangeMode = (m) => {\r\n this.setState({ mode: m });\r\n };\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n\r\n this.setState(statusCopy);\r\n };\r\n\r\n updateStateDP = (inputName, inputValue, objName) => {\r\n this.setState(\r\n (prevState) => ({\r\n [objName]: {\r\n ...prevState[objName],\r\n [inputName]: inputValue,\r\n },\r\n }),\r\n () => {\r\n this.incidentCARModel(inputName, inputValue);\r\n }\r\n );\r\n };\r\n\r\n handleChangeCombo = (inputName, selectedItem, objName) => {\r\n const inputValue = selectedItem ? selectedItem.id : null;\r\n const statusCopy = { ...this.state };\r\n\r\n statusCopy[objName][inputName] = inputValue;\r\n this.setState(statusCopy);\r\n };\r\n\r\n handleChangeComboType = (inputName, selectedItem, objName) => {\r\n const inputValue = selectedItem ? selectedItem.id : null;\r\n\r\n const statusCopy = { ...this.state[objName] };\r\n statusCopy[inputName] = inputValue;\r\n statusCopy.idDirectCauseSubCategory = null;\r\n\r\n this.setState({ [objName]: statusCopy }, () => {\r\n this.loadRelatedProperties(inputName, inputValue, selectedItem);\r\n });\r\n };\r\n\r\n handleChangeComboTypeRoot = (inputName, selectedItem, objName) => {\r\n const inputValue = selectedItem ? selectedItem.id : null;\r\n\r\n const statusCopy = { ...this.state[objName] };\r\n statusCopy[inputName] = inputValue;\r\n statusCopy.idRootCauseSubCategory = null;\r\n\r\n this.setState({ [objName]: statusCopy }, () => {\r\n this.loadRelatedProperties(inputName, inputValue, selectedItem);\r\n });\r\n };\r\n\r\n handleChangeComboTypeRootSub = (inputName, selectedItem, objName) => {\r\n const inputValue = selectedItem ? selectedItem.id : null;\r\n\r\n const statusCopy = { ...this.state[objName] };\r\n statusCopy[inputName] = inputValue;\r\n\r\n this.setState({ [objName]: statusCopy }, () => {\r\n this.loadRelatedProperties(inputName, inputValue, selectedItem);\r\n });\r\n };\r\n\r\n loadRelatedProperties = (inputName, inputValue) => {\r\n if (inputName === 'idRootCause') {\r\n if (inputValue) this.getRootCauseSubCategory(inputValue);\r\n else {\r\n this.setState({\r\n appRootCauseSubCategory: null,\r\n });\r\n }\r\n }\r\n\r\n if (inputName === 'idDirectCause') {\r\n if (inputValue) this.getDirectCauseSubCategory(inputValue);\r\n else {\r\n this.setState({\r\n appDirectCauseSubCategory: null,\r\n });\r\n }\r\n }\r\n\r\n if (inputName === 'idRootCauseSubCategory') {\r\n if (inputValue) this.getRootCauseSubCategoryDetail(inputValue);\r\n else {\r\n this.setState({\r\n getRootCauseSubCategoryDetail: null,\r\n });\r\n }\r\n }\r\n };\r\n\r\n setEmployer = (employer) => {\r\n if (employer && employer.id) {\r\n const statusCopy = { ...this.state.model };\r\n statusCopy.idOwner = employer.id;\r\n statusCopy.owner = employer;\r\n statusCopy.idOwnerSaipem = null;\r\n statusCopy.ownerSaipem = null;\r\n this.setState({ model: statusCopy, mode: 0, owner: employer });\r\n }\r\n };\r\n\r\n setSaipemOwner = (employer) => {\r\n if (employer && employer.id) {\r\n const statusCopy = { ...this.state.model };\r\n statusCopy.idOwnerSaipem = employer.id;\r\n statusCopy.ownerSaipem = employer;\r\n statusCopy.idOwner = null;\r\n statusCopy.owner = null;\r\n\r\n this.setState({ model: statusCopy, mode: 0, owner: employer });\r\n }\r\n };\r\n\r\n save = () => {\r\n if (this.validator.allValid()) {\r\n const { model } = this.state;\r\n if (!this.props.editModel) {\r\n model.id = uuid();\r\n }else{\r\n\r\n model.directCauseSubCategory = this.state.appDirectCauseSubCategory.find(el => el.id == model.idDirectCauseSubCategory);\r\n model.rootCauseSubCategory = this.state.appRootCauseSubCategory.find(el => el.id == model.idRootCauseSubCategory);\r\n model.closedOn= null;\r\n }\r\n this.props.save(model);\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`,`${entitiesLabels.CAR} required fields are missing `);\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n clearAttachment = () => ({\r\n\t\tid: null, // guid\r\n\t\tfileIdentifier: null,\r\n\t\tname: null,\r\n\t\tcontentType: null,\r\n\t\tsize: null,\r\n\t\ttype: null,\r\n\t});\r\n\r\n onUploadFiles = (fileIdentifier, fileName, fileType, size) => {\r\n const attachment = { ...this.state.attachment };\r\n\r\n attachment.id = uuid();\r\n attachment.fileIdentifier = fileIdentifier.blobName;\r\n attachment.name = fileName;\r\n attachment.contentType = fileType;\r\n attachment.size = size;\r\n // attachment.filePath = file.localPath;\r\n\r\n this.setState({\r\n attachment: this.clearAttachment(),\r\n });\r\n\r\n try {\r\n if (attachment == null) return;\r\n // insert\r\n const oldattachment = this.state.model.attachment || [];\r\n\r\n const newItem = {\r\n id: uuid(), // guid\r\n\r\n idAttachment: attachment.id, // guid\r\n attachment,\r\n };\r\n\r\n const newattachment = oldattachment.concat([newItem]);\r\n this.setState({model: {...this.state.model, attachment: newattachment}})\r\n } catch (error) {\r\n showNotification.error();\r\n }\r\n };\r\n\r\n onRemoveFile = (id) => {\r\n if (!id) return;\r\n const statusCopy = { ...this.state.model };\r\n statusCopy.attachment = statusCopy.attachment.filter((el) => el.id !== id);\r\n this.setState({model: statusCopy});\r\n };\r\n\r\n\r\n render() {\r\n const validations = {\r\n // immediateActions: this.validator.message('immediateActions', this.state.hocCardModel.immediateActions, 'required'),\r\n idDirectCause: this.validator.message(\r\n 'DirectCause',\r\n this.state.model.idDirectCause,\r\n 'required'\r\n ),\r\n idDirectCauseSubCategory: this.validator.message(\r\n 'DirectCauseSubCategory',\r\n this.state.model.idDirectCauseSubCategory,\r\n 'required'\r\n ),\r\n idRootCause: this.validator.message('RootCause', this.state.model.idRootCause, 'required'),\r\n idRootCauseSubCategory: this.validator.message(\r\n 'RootCauseSubCategory',\r\n this.state.model.idRootCauseSubCategory,\r\n 'required'\r\n ),\r\n // idRootCauseSubCategoryDetail: this.validator.message('RootCauseSubCategoryDetail', this.state.model.idRootCauseSubCategoryDetail, 'required'),\r\n dueDate: this.validator.message('dueDate', this.state.model.dueDate, 'required'),\r\n //RITM0623666\r\n // idOwner: this.validator.message('Owner', this.state.owner.id, 'required'),\r\n };\r\n const modalHeader = {\r\n title: this.props.isEditModal ? 'Edit ' : 'Add new ',\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.props.toggleModal(false),\r\n };\r\n const { title, isOpenModal } = this.props;\r\n\r\n const selectedItemCombo = {\r\n idStatus: (this.props.appStatus || []).find(\r\n (el) => el.id === (this.state.model.idStatus > 0 ? this.state.model.idStatus : 1)\r\n ),\r\n idDirectCause: (this.state.appDirectCause || []).find(\r\n (el) => el.id === this.state.model.idDirectCause\r\n ),\r\n idDirectCauseSubCategory: this.state.appDirectCauseSubCategory\r\n ? (this.state.appDirectCauseSubCategory || []).find(\r\n (el) => el.id === this.state.model.idDirectCauseSubCategory\r\n )\r\n : null,\r\n idRootCause: this.state.appRootCause\r\n ? (this.state.appRootCause || []).find((el) => el.id === this.state.model.idRootCause)\r\n : null,\r\n idRootCauseSubCategory: (this.state.appRootCauseSubCategory || []).find(\r\n (el) => el.id === this.state.model.idRootCauseSubCategory\r\n ),\r\n idRootCauseSubCategoryDetail: (this.state.appRootCauseSubCategoryDetail || []).find(\r\n (el) => el.id === this.state.model.idRootCauseSubCategoryDetail\r\n ),\r\n };\r\n\r\n if (this.state.mode === 1) {\r\n return (\r\n this.handleChangeMode(0)}\r\n onOk={this.setEmployer}\r\n />\r\n );\r\n }\r\n if (this.state.mode === 2) {\r\n return (\r\n this.handleChangeMode(0)}\r\n onOk={this.setSaipemOwner}\r\n />\r\n );\r\n }\r\n return (\r\n false}\r\n >\r\n \r\n

    {title || ''}

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {this.state.appDirectCause == null ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.idDirectCause}\r\n items={this.state.appDirectCause}\r\n invalid={validations.idDirectCause != null}\r\n />\r\n )}\r\n {validations.idDirectCause}\r\n \r\n
    \r\n
    \r\n \r\n (item ? item.name : '')}\r\n initialSelectedItem={\r\n selectedItemCombo.idDirectCauseSubCategory\r\n ? selectedItemCombo.idDirectCauseSubCategory\r\n : {}\r\n }\r\n items={this.state.appDirectCauseSubCategory}\r\n disabled={this.state.appDirectCauseSubCategory == null}\r\n invalid={validations.idDirectCauseSubCategory != null}\r\n />\r\n {validations.idDirectCauseSubCategory}\r\n \r\n
    \r\n
    \r\n \r\n {this.state.appRootCause == null ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={\r\n selectedItemCombo.idRootCause ? selectedItemCombo.idRootCause : {}\r\n }\r\n items={this.state.appRootCause}\r\n invalid={validations.idRootCause != null}\r\n />\r\n )}\r\n {validations.idRootCause}\r\n \r\n
    \r\n
    \r\n \r\n (item ? item.name : '')}\r\n initialSelectedItem={\r\n selectedItemCombo.idRootCauseSubCategory\r\n ? selectedItemCombo.idRootCauseSubCategory\r\n : {}\r\n }\r\n items={this.state.appRootCauseSubCategory}\r\n disabled={this.state.appRootCauseSubCategory == null}\r\n invalid={validations.idRootCauseSubCategory != null}\r\n />\r\n {validations.idRootCauseSubCategory}\r\n \r\n
    \r\n
    \r\n \r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.idRootCauseSubCategoryDetail}\r\n items={this.state.appRootCauseSubCategoryDetail}\r\n disabled={this.state.appRootCauseSubCategoryDetail == null}\r\n />\r\n {/* validations.idRootCauseSubCategoryDetail */}\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n\r\n {validations.dueDate}\r\n \r\n
    \r\n\r\n {/*
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    */}\r\n\r\n {/*
    \r\n \r\n {\r\n this.props.appStatus == null ?\r\n \r\n :\r\n (item ? item.reportingName : '')}\r\n initialSelectedItem={selectedItemCombo.idStatus}\r\n items={this.props.appStatus}\r\n disabled={true}\r\n />\r\n }\r\n \r\n
    */}\r\n {/* RITM0623666 */}\r\n {/*
    \r\n \r\n
    \r\n
    \r\n this.handleChangeMode(1)}\r\n >\r\n GHRS research\r\n \r\n
    \r\n
    \r\n this.handleChangeMode(2)}\r\n >\r\n Saipem research\r\n \r\n
    \r\n
    \r\n {validations.idOwner}\r\n
    \r\n
    */}\r\n {/* FINE RITM0623666*/}\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n {}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nCARModal.propTypes = {\r\n save: PropTypes.func.isRequired,\r\n toggleModal: PropTypes.func.isRequired,\r\n isEditModal: PropTypes.bool,\r\n isOpenModal: PropTypes.bool,\r\n mode: PropTypes.number,\r\n title: PropTypes.string,\r\n appStatus: PropTypes.array,\r\n};\r\n","import React, { Component } from 'react';\r\nimport {\r\n Button,\r\n Table,\r\n TableContainer,\r\n TableHead,\r\n TableHeader,\r\n TableBody,\r\n TableRow,\r\n Loading,\r\n Pagination,\r\n TableCell,\r\n TableToolbar,\r\n DataTableSkeleton,\r\n TableSelectRow,\r\n DataTable,\r\n TableToolbarContent,\r\n TableBatchActions,\r\n TableBatchAction,\r\n} from 'carbon-components-react';\r\nimport { Link } from 'react-router-dom';\r\nimport View16 from '@carbon/icons-react/lib/view--filled/16';\r\nimport Add16 from '@carbon/icons-react/lib/add/16';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport '../../scss/custom.scss';\r\nimport { switchDateFormat } from '../../helpers/jsonschemaform/customwidget/utils';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport {\r\n getError,\r\n STATUS,\r\n entitiesLabels,\r\n apioperation,\r\n getSuccess,\r\n} from '../../helpers/Constants';\r\nimport { api, registry, dynamic } from '../../helpers/api/api';\r\nimport {\r\n RenderDataTableCell,\r\n NoRecordsPlaceholder,\r\n} from '../../helpers/jsonschemaform/DataTableExtention';\r\nimport CARModal from './CARModal';\r\nimport { ConfirmAlertCustom } from '../../helpers/ConfirmAlertCustom';\r\nimport { CanExecuteAction, IsInRole, IsEditable } from '../../helpers/authorization/Policies';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport Send16 from '@carbon/icons-react/lib/send/16';\r\nimport { CheckmarkOutline16, CheckmarkFilled20, Add20, Error16 } from '@carbon/icons-react/lib/';\r\nimport { AppContext } from '../../helpers/context/AppContext';\r\nimport { WFActionModal } from '../common/WFActionModal';\r\nimport PageBreadCrumb from '../../helpers/PageBreadCrumb';\r\nimport { Online, Offline } from '../common/OnLineOffLine';\r\nimport IncidentRepository from '../../helpers/api/IncidentRepository';\r\n\r\nexport default class CARList extends Component {\r\n initialState = (props) => {\r\n let idIncidentEdit = props ? props.match.params.id : '';\r\n\r\n let initialState = {\r\n isApprovalModalOpen: false,\r\n approvalModalAction: '',\r\n approver: null,\r\n approvalStartDate: null,\r\n approvalEndDate: null,\r\n isLoadingApproverOptions: true,\r\n approvalValidationMessages: [],\r\n approvers: [],\r\n selectedData: [],\r\n approverRole: '',\r\n withApprover: true,\r\n isLoadingWFOperation: false,\r\n approvalNotesRequired: false,\r\n idIncidentEdit: idIncidentEdit,\r\n isLoading: true,\r\n incidentEditModel: null,\r\n isSubmitted: false,\r\n\r\n //modal insert/edit\r\n keyModalCAR: `modalCAR_${new Date().getTime()}`,\r\n editModelCAR: null,\r\n isEditModalCAR: false,\r\n isOpenModalCAR: false,\r\n isOpenDeleteModal: false,\r\n isDeleting: false,\r\n idToDelete: false,\r\n\r\n incidentModel: {\r\n id: null,\r\n incidentCAR: [],\r\n },\r\n appStatus: null,\r\n appDirectCause: null,\r\n appDirectCauseSubCategory: null,\r\n appRootCause: null,\r\n appRootCauseSubCategory: null,\r\n appRootCauseSubCategoryDetail: null,\r\n\r\n currentPage: 1,\r\n pageSize: 10,\r\n rowCount: 0,\r\n };\r\n return initialState;\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.updateState = this.updateState.bind(this);\r\n // this.handleChangeCombo = this.handleChangeCombo.bind(this);\r\n this.state = {\r\n ...this.initialState(props),\r\n };\r\n this.baseUrl = '/incident/' + this.state.idIncidentEdit + '/car/';\r\n }\r\n\r\n baseUrl;\r\n\r\n componentDidMount() {\r\n this.getStatus();\r\n this.getCARs();\r\n this.getCauses();\r\n }\r\n\r\n getCauses() {\r\n //appDirectCause\r\n dynamic\r\n .getAll('directcause', { params: { page: 0 } })\r\n .then((response) => {\r\n var data = response.data.itemList;\r\n this.setState({\r\n appDirectCause: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.DIRECTCAUSE, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n\r\n //appDirectCauseSubCategory\r\n dynamic\r\n .getAll('directcausedetail', { params: { page: 0 } })\r\n .then((response) => {\r\n var data = response.data.itemList;\r\n this.setState({\r\n appDirectCauseSubCategory: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.DIRECTCAUSEDETAIL, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n\r\n //appRootCause\r\n dynamic\r\n .getAll('rootcause', { params: { page: 0 } })\r\n .then((response) => {\r\n var data = response.data.itemList;\r\n this.setState({\r\n appRootCause: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.ROOTCAUSE, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n\r\n //appRootCauseSubCategory\r\n dynamic\r\n .getAll('rootcausedetail', { params: { page: 0 } })\r\n .then((response) => {\r\n var data = response.data.itemList;\r\n this.setState({\r\n appRootCauseSubCategory: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.ROOTCAUSEDETAIL, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n\r\n //appRootCauseSubCategoryDetail\r\n dynamic\r\n .getAll('rootcausesubdetail', { params: { page: 0 } })\r\n .then((response) => {\r\n var data = response.data.itemList;\r\n this.setState({\r\n appRootCauseSubCategoryDetail: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.ROOTCAUSESUBDETAIL, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n }\r\n\r\n showLoading() {\r\n let show = (this.state.isEdit && this.state.isLoading) || this.state.isSubmitted;\r\n let descr = this.state.isSubmitted ? 'Saving...' : 'Loading data...';\r\n return show && ;\r\n //return ()\r\n }\r\n\r\n getCARs() {\r\n this.setState({\r\n isLoading: true,\r\n });\r\n let data = {\r\n params: {\r\n page: this.state.currentPage,\r\n pageSize: this.state.pageSize,\r\n },\r\n };\r\n api\r\n .getWithParam(this.baseUrl, data)\r\n .then((response) => {\r\n let data = response.data;\r\n if (data) {\r\n this.setState({\r\n incidentModel: {\r\n id: data.id,\r\n incidentCAR: data.incidentCAR.itemList,\r\n incident: data.incident,\r\n incidentCode: data.incidentCode,\r\n },\r\n page: data.incidentCAR.currentPage,\r\n pageSize: data.incidentCAR.pageSize,\r\n pageCount: data.incidentCAR.pageCount,\r\n rowCount: data.incidentCAR.rowCount,\r\n });\r\n } else {\r\n showNotification.error(`${entitiesLabels.ERROR}`, 'CARs not found');\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.CAR, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {\r\n // this.setState({\r\n // isLoading: false,\r\n // });\r\n //RITM0623666\r\n this.getIncidentReportCompiler()\r\n });\r\n }\r\n\r\n getStatus = () => {\r\n registry\r\n .getAll('status')\r\n .then((response) => {\r\n var data = response.data;\r\n //data = data != null ? data.filter(item => (item.id == 1 || item.id == 4)) : [];\r\n this.setState({\r\n appStatus: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.STATUS, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n };\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n let statusCopy = Object.assign({}, this.state);\r\n statusCopy[objName][inputName] = inputValue;\r\n\r\n this.setState(statusCopy);\r\n };\r\n\r\n /**********CAR********************/\r\n\r\n toggleModalCAR = (open) => {\r\n this.setState({ isOpenModalCAR: open });\r\n };\r\n\r\n addCar = () => {\r\n this.setState({ keyModalCAR: `modalCAR_${new Date().getTime()}` });\r\n this.setState({ isEditModalCAR: false, isOpenModalCAR: true, editModelCAR: null });\r\n };\r\n\r\n editModalCAR = (id) => {\r\n this.setState({ keyModalCAR: `modalCAR_${new Date().getTime()}` });\r\n let item = this.state.incidentModel.incidentCAR.find((el) => el.id == id);\r\n this.setState({ editModelCAR: item, isEditModalCAR: true, isOpenModalCAR: true });\r\n };\r\n\r\n updateCacheList = async (datiForm) => {\r\n let directCauseSubCategory = (this.state.appDirectCauseSubCategory || []).find(\r\n (el) => el.id == datiForm.idDirectCauseSubCategory\r\n );\r\n let rootCauseSubCategory = (this.state.appRootCauseSubCategory || []).find(\r\n (el) => el.id == datiForm.idRootCauseSubCategory\r\n );\r\n let rootCauseSubCategoryDetail = (this.state.appRootCauseSubCategoryDetail || []).find(\r\n (el) => el.id == datiForm.idRootCauseSubCategoryDetail\r\n );\r\n\r\n if (!this.state.isEditModalCAR) {\r\n //add new CAR\r\n datiForm['idStatus'] = 1;\r\n datiForm['status'] = {\r\n id: 1,\r\n name: 'Draft',\r\n planningName: 'Draft',\r\n reportingName: 'Opened',\r\n carManagementName: 'Assigned',\r\n caManagementName: 'Draft',\r\n };\r\n datiForm['ca'] = [];\r\n //incidentCARCode\r\n //progressiveId\r\n //sequence\r\n\r\n //creazione della cache per la pagina di dettaglio della car\r\n let carDetail = Object.assign({}, datiForm);\r\n carDetail['incidentCode'] = this.state.incidentModel?.incident?.incidentCode;\r\n carDetail['incident'] = this.state.incidentModel?.incident;\r\n carDetail['directCause'] = (this.state.appDirectCause || []).find(\r\n (el) => el.id == directCauseSubCategory?.idDirectCause\r\n );\r\n carDetail['rootCause'] = (this.state.appRootCause || []).find(\r\n (el) => el.id == rootCauseSubCategory?.idRootCause\r\n );\r\n carDetail['directCauseSubCategory'] = directCauseSubCategory?.name || null;\r\n carDetail['rootCauseSubCategory'] = rootCauseSubCategory?.name || null;\r\n carDetail['rootCauseSubCategoryDetail'] = rootCauseSubCategoryDetail?.name || null;\r\n\r\n await IncidentRepository.createCachedIncidentCARDatail(\r\n this.state.idIncidentEdit,\r\n datiForm.id,\r\n carDetail\r\n );\r\n }\r\n\r\n datiForm['directCauseSubCategory'] = directCauseSubCategory || null;\r\n datiForm['rootCauseSubCategory'] = rootCauseSubCategory || null;\r\n datiForm['rootCauseSubCategoryDetail'] = rootCauseSubCategoryDetail || null;\r\n\r\n console.log({ datiForm });\r\n await IncidentRepository.updateCachedIncidentCAR(this.state.idIncidentEdit, datiForm);\r\n };\r\n\r\n handleSaveModalCAR = (datiForm) => {\r\n //showNotification.warning(\"TODO Validazione su CARModal.js\");\r\n\r\n if (!datiForm) return;\r\n\r\n this.setState({\r\n isSubmitted: true,\r\n });\r\n\r\n if (!this.state.isEditModalCAR) datiForm.idIncident = this.state.idIncidentEdit;\r\n\r\n let method = this.state.isEditModalCAR\r\n ? api.put(this.baseUrl, datiForm, datiForm.id)\r\n : api.post(this.baseUrl, datiForm);\r\n\r\n method\r\n .then((response) => {\r\n if (response.status == 200) {\r\n this.updateCacheList(datiForm).then(() => {\r\n this.getCARs();\r\n });\r\n\r\n this.setState({\r\n isOpenModalCAR: false,\r\n });\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n `${entitiesLabels.INCIDENT} ${entitiesLabels.CAR} \r\n ${getSuccess(\r\n response.data.incidentCARCode,\r\n this.state.isEditModalCAR ? apioperation.PUT : apioperation.POST\r\n )}`\r\n );\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(\r\n error,\r\n entitiesLabels.CAR,\r\n this.state.isEditModalCAR ? apioperation.PUT : apioperation.POST\r\n )\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isSubmitted: false,\r\n });\r\n });\r\n };\r\n\r\n confirmDeleteCAR = (id) => {\r\n this.setState({\r\n idToDelete: id,\r\n isOpenDeleteModal: true,\r\n isDeleting: false,\r\n });\r\n };\r\n\r\n onCloseConfirm = () => {\r\n this.setState({\r\n isOpenDeleteModal: false,\r\n });\r\n };\r\n\r\n deleteItemCAR = () => {\r\n let id = this.state.idToDelete;\r\n\r\n this.setState({\r\n isDeleting: true,\r\n });\r\n\r\n api\r\n .delete(this.baseUrl, id)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n this.setState({\r\n idToDelete: null,\r\n isOpenDeleteModal: false,\r\n });\r\n this.onCloseConfirm();\r\n this.getCARs();\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n `${entitiesLabels.INCIDENT} ${entitiesLabels.CAR} \r\n ${getSuccess(\r\n response.data.incidentCARCode,\r\n this.state.isEditModalCAR ? apioperation.PUT : apioperation.DELETE\r\n )}`\r\n );\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.CAR, apioperation.DELETE)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isDeleting: false,\r\n });\r\n });\r\n };\r\n /**********Fine CAR********************/\r\n\r\n handleApproverSelect = (selectedItem) => {\r\n this.setState({ approver: selectedItem });\r\n };\r\n\r\n handleCloseApprovalModal = () => {\r\n this.setState({ isApprovalModalOpen: false }, this.clearApprovalForm);\r\n };\r\n\r\n handleApprovalNotesChange = (e) => {\r\n this.setState({ approvalNotes: e.target.value });\r\n };\r\n\r\n handleConfirmApprovalModal = () => {\r\n let action = this.state.approvalModalAction.toLowerCase();\r\n let apiEndpoint = this.state.approvalEndpoint;\r\n\r\n const data = {\r\n ids: this.state.selectedData.map((r) => r.id),\r\n owner: this.state.approver,\r\n workflowNotes: this.state.approvalNotes,\r\n };\r\n\r\n this.setState({\r\n isLoadingWFOperation: true,\r\n });\r\n api\r\n .put('/incident/' + this.state.incidentModel.id + '/car/' + apiEndpoint, data, '')\r\n .then((response) => {\r\n if (response.status === 200) {\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n `${entitiesLabels.INCIDENT} ${entitiesLabels.CAR} \r\n ${getSuccess(response?.data?.incidentCARCode, apioperation.DELETE)}`\r\n );\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n isApprovalModalOpen: false,\r\n isLoading: true,\r\n incidentModel: {\r\n incidentCAR: [],\r\n },\r\n });\r\n this.getCARs();\r\n } else {\r\n showNotification.error();\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.CAR, apioperation.PUT)\r\n );\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n })\r\n .finally(() => {});\r\n };\r\n\r\n IsRowSelectable(row, selectedRows) {\r\n var row = this.state.incidentModel.incidentCAR.find((i) => i.id == row.id);\r\n\r\n //if (row.status.id == STATUS.Consolidated) return false;//la CAR può essere riaperta\r\n\r\n if (selectedRows.length == 0) {\r\n return true;\r\n }\r\n\r\n if (selectedRows.length > 0) {\r\n var selectableIncident = this.state.incidentModel.incidentCAR.find(\r\n (i) => i.id == selectedRows[0].id\r\n );\r\n var selectableState = selectableIncident.status.id;\r\n\r\n //solo per la chiusura delle CAR\r\n if (selectableState == STATUS.Approved) {\r\n return this.canCloseCAR(selectedRows[0].id)\r\n ? row.status.id == STATUS.Approved && this.canCloseCAR(row.id)\r\n : false;\r\n }\r\n //per il submit delle CAR\r\n if (selectableState == STATUS.Draft) {\r\n return this.canApproveCAR(selectedRows[0].id)\r\n ? row.status.id == STATUS.Draft && this.canApproveCAR(row.id)\r\n : false;\r\n }\r\n\r\n if (row.status.id == selectableState) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n batchActionClick(\r\n actionKey,\r\n actionName,\r\n approverRole,\r\n withApprover,\r\n approvalNotesRequired,\r\n selectedRows\r\n ) {\r\n this.setState({\r\n approvalModalAction: actionName,\r\n isApprovalModalOpen: true,\r\n isLoadingApproverOptions: true,\r\n withApprover: withApprover,\r\n selectedData: selectedRows,\r\n approverRole: approverRole,\r\n approvalEndpoint: actionKey,\r\n approvalNotesRequired: approvalNotesRequired,\r\n });\r\n }\r\n handleChangePaging = async (page) => {\r\n await new Promise((resolve) => {\r\n this.setState(\r\n { currentPage: page.page, pageSize: page.pageSize, loading: true, isBack: false },\r\n resolve\r\n );\r\n });\r\n this.getCARs();\r\n };\r\n getCanEditResourceId = (selectedRows) => {\r\n const canEditResource = this.state.incidentModel &&\r\n this.state.incidentModel.incident && {\r\n idCompiler: this.state.incidentModel.incident.idCompiler,\r\n idDataApprover: this.state.incidentModel.incident.idDataApprover,\r\n idDivisionManager: this.state.incidentModel.incident.idDivisionManager,\r\n email: '',\r\n };\r\n if (selectedRows && selectedRows.length > 0) {\r\n let car = this.state.incidentModel.incidentCAR.find((el) => el.id == selectedRows[0].id);\r\n canEditResource.email =\r\n car.owner != null\r\n ? car.owner.email\r\n : car.ownerSaipem != null\r\n ? car.ownerSaipem.email\r\n : null;\r\n }\r\n //console.log(canEditResource);\r\n return canEditResource;\r\n };\r\n\r\n getStatusId = (idRow) => {\r\n let r = this.state.incidentModel.incidentCAR.find((el) => el.id == idRow);\r\n return r && r.idStatus;\r\n };\r\n\r\n canApproveCAR = (idRow) => {\r\n let item = this.state.incidentModel.incidentCAR.find((el) => el.id == idRow);\r\n return item && item.ca && item.ca.length > 0;\r\n };\r\n\r\n canCloseCAR = (idRow) => {\r\n let item = this.state.incidentModel.incidentCAR.find((el) => el.id == idRow);\r\n return item && item.ca && item.ca.length > 0\r\n ? item.ca.filter((el) => el.idStatus == 4).length == item.ca.length\r\n : false;\r\n };\r\n\r\n //RITM0623666\r\n getIncidentReportCompiler = async () => {\r\n this.setState({ loading: true });\r\n let incidentCompiler = null;\r\n const incidentId = this.state.incidentModel.incident.id\r\n const idCompiler = this.state.incidentModel.incident.idCompiler\r\n try {\r\n if(!incidentId) return null\r\n incidentCompiler = (await api.getAll(`/users/${idCompiler}`)).data;\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.USER, apioperation.GET));\r\n }\r\n this.setState({incidentModel: {...this.state.incidentModel, incidentCompiler,}, isLoading: false})\r\n };\r\n//FIne RITM0623666\r\n render() {\r\n const headersDataTable = [\r\n { key: 'owner', header: 'Owner' },\r\n { key: 'carCode', header: 'CAR Code' },\r\n { key: 'duedate', header: 'Due Date', type: 'date' },\r\n { key: 'status', header: 'Status', type: 'status' },\r\n { key: 'carOwnerInvolved', header: 'CAR Owner Involved', type: 'bool' },\r\n { key: 'closedCa', header: 'Closed CA' },\r\n ];\r\n\r\n const skeletonRowCount = 10;\r\n\r\n const rows = [];\r\n\r\n if (this.state.incidentModel.incidentCAR) {\r\n //Create Ad Hoc DTO\r\n const cars = this.state.incidentModel.incidentCAR.sort(function (a, b) {\r\n var sequenceA = new Date(a.sequence),\r\n sequenceB = new Date(b.sequence);\r\n return sequenceA - sequenceB;\r\n });\r\n const statusIncident = this.state.incidentModel?.incident?.idStatus;\r\n cars.forEach(function (item) {\r\n rows.push({\r\n id: item.id,\r\n status: item.status.carManagementName,\r\n owner:\r\n item.owner != null\r\n ? item.owner.name + ' ' + item.owner.surname\r\n : item.ownerSaipem.name + ' ' + item.ownerSaipem.surname,\r\n carCode: item.incidentCARCode,\r\n duedate: item.dueDate,\r\n carOwnerInvolved: statusIncident > 2,\r\n closedCa:\r\n item.ca && item.ca.length > 0\r\n ? item.ca.filter((el) => el.idStatus == 4).length + '/' + item.ca.length\r\n : '',\r\n });\r\n });\r\n }\r\n\r\n const CARModalProps = {\r\n key: this.state.keyModalCAR,\r\n title: 'CAR',\r\n editModel: this.state.editModelCAR,\r\n isOpenModal: this.state.isOpenModalCAR,\r\n isEditModal: this.state.isEditModalCAR,\r\n idIncident: this.state.incidentModel.id,\r\n toggleModal: this.toggleModalCAR,\r\n save: this.handleSaveModalCAR,\r\n appStatus: this.state.appStatus,\r\n appDirectCause: this.state.appDirectCause,\r\n appRootCause: this.state.appRootCause,\r\n appDirectCauseSubCategory: this.state.appDirectCauseSubCategory,\r\n appRootCauseSubCategory: this.state.appRootCauseSubCategory,\r\n appRootCauseSubCategoryDetail: this.state.appRootCauseSubCategoryDetail,\r\n //RITM0623666\r\n incidentCompiler: this.state.incidentModel.incidentCompiler\r\n };\r\n\r\n const getNameCARById = (id) => {\r\n if (id == null) return '';\r\n let element = rows.find((el) => el.id == id);\r\n return element && element.owner && element.status\r\n ? `${element.owner} - ${element.duedate} - ${element.status}`\r\n : '';\r\n };\r\n\r\n const confirmDelProps = () => ({\r\n idToDelete: this.state.idToDelete,\r\n nameItem: getNameCARById(this.state.idToDelete),\r\n isDeleting: this.state.isDeleting,\r\n open: this.state.isOpenDeleteModal, //open state\r\n onCloseConfirm: this.onCloseConfirm, //no click\r\n deleteItem: this.deleteItemCAR, //yes click fn()\r\n });\r\n\r\n //const incident = this.state.incidentModel && this.state.incidentModel.incident ? this.state.incidentModel.incident : null;\r\n // const canEditResource = (this.state.incidentModel && this.state.incidentModel.incident) && {\r\n // idCompiler: this.state.incidentModel.incident.idCompiler,\r\n // idDataApprover: this.state.incidentModel.incident.idDataApprover,\r\n // idDivisionManager: this.state.incidentModel.incident.idDivisionManager,\r\n // };\r\n const paginationProps = () => ({\r\n page: this.state.currentPage || 1,\r\n totalItems: this.state.rowCount || 0,\r\n pageSize: this.state.pageSize || 10,\r\n pageSizes: [10, 20, 30, 40, 50],\r\n onChange: this.handleChangePaging,\r\n });\r\n return (\r\n \r\n {({ user }) => (\r\n <>\r\n \r\n
    \r\n \r\n {this.showLoading()}\r\n\r\n \r\n\r\n \r\n

    \r\n {CanExecuteAction(\r\n 'Incident',\r\n 'CARManagement',\r\n user,\r\n '',\r\n 'Create',\r\n this.getCanEditResourceId(null)\r\n ) && this.state.incidentModel?.incident?.status?.id < 3 ? (\r\n \r\n ) : null}\r\n
    \r\n\r\n (\r\n \r\n {selectedRows.length > 0 ? (\r\n \r\n \r\n \r\n \r\n {/* {this.canApproveCAR(selectedRows[0].id) &&\r\n CanExecuteAction(\r\n 'Incident',\r\n 'CARManagement',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Submit',\r\n this.getCanEditResourceId(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Submit',\r\n 'Submit',\r\n null,\r\n false,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Submit CAR\r\n \r\n ) : null} */}\r\n\r\n {this.canApproveCAR(selectedRows[0].id) &&\r\n CanExecuteAction(\r\n 'Incident',\r\n 'CARManagement',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Approve',\r\n this.getCanEditResourceId(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Approve',\r\n 'Approve',\r\n null,\r\n false,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Approve CAR\r\n \r\n ) : null}\r\n\r\n {this.canCloseCAR(selectedRows[0].id) &&\r\n CanExecuteAction(\r\n 'Incident',\r\n 'CARManagement',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Consolidate',\r\n this.getCanEditResourceId(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Close',\r\n 'Close',\r\n null,\r\n false,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Close CAR\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Incident',\r\n 'CARManagement',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Open',\r\n this.getCanEditResourceId(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Open',\r\n 'Open',\r\n null,\r\n false,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Open CAR\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Incident',\r\n 'CARManagement',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Reject',\r\n this.getCanEditResourceId(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Reject',\r\n 'Reject',\r\n null,\r\n false,\r\n true,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Reject CAR\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Incident',\r\n 'CARManagement',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Delete',\r\n this.getCanEditResourceId(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'DELETE',\r\n 'Delete',\r\n null,\r\n false,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Delete CAR\r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n ) : (\r\n ''\r\n )}\r\n\r\n {this.state.isLoading ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n\r\n {headers.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {rows == null || rows.length == 0 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n {this.IsRowSelectable(row, selectedRows) ? (\r\n <>\r\n {' '}\r\n \r\n \r\n {' '}\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n {row.cells.map((cell) => (\r\n x.key === cell.info.header)}\r\n />\r\n ))}\r\n\r\n \r\n
    \r\n {IsEditable(\r\n 'Incident',\r\n 'CARManagement',\r\n user,\r\n this.getStatusId(row.id),\r\n 'All',\r\n this.getCanEditResourceId(null)\r\n ) ? (\r\n this.editModalCAR(row.id)}\r\n size=\"small\"\r\n renderIcon={Edit16}\r\n iconDescription=\"Edit\"\r\n kind=\"ghost\"\r\n />\r\n ) : 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\n />\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, { Component } from 'react';\r\nimport {\r\n TextInput,\r\n Button,\r\n FormGroup,\r\n ComposedModal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n DropdownSkeleton,\r\n TextArea,\r\n} from 'carbon-components-react';\r\nimport { FindGHRSEmployer } from '../common/FindGHRSEmployer';\r\nimport { ComboBox } from '../../helpers/ComboBox';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { DateFormat, entitiesLabels } from '../../helpers/Constants';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport moment from 'moment';\r\nimport DateTimePicker from '../../helpers/DateTimePicker';\r\nimport Close16 from '@carbon/icons-react/lib/close/16';\r\n\r\nexport default class CAModal extends Component {\r\n incidentCARModel = (props) => {\r\n if (props.isEditModal) {\r\n let editModel = props.editModel;\r\n\r\n return { ...editModel };\r\n }\r\n\r\n return {\r\n id: undefined, //guid\r\n idIncidentCAR: undefined, //guid\r\n // idDirectCauseSubCategory: null, //guid\r\n // directCauseSubCategory: null, //{}\r\n // idRootCauseSubCategory: null, //guid\r\n // rootCauseSubCategory: null, //{}\r\n caImplemented: null, //''\r\n idOwner: null, //idInvolvedPerson: null, //guid\r\n owner: {\r\n //InvolvedPerson: {\r\n id: null, //guid\r\n type: '',\r\n badgeNumber: '',\r\n fullname: '',\r\n nationality: '',\r\n email: '',\r\n position: '',\r\n idEmployer: null, //guid\r\n },\r\n dueDate: null, //Il sistema deve settarla con il valore della CAR Due Date e non può essere modificata\r\n dueDateChangeNotes: null, //''\r\n immediateThreatment: null,\r\n idStatus: 1,\r\n };\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator({autoForceUpdate: this, locale: 'en'});\r\n this.state = {\r\n model: {\r\n ...this.incidentCARModel(props),\r\n },\r\n mode: 0,\r\n appType: props.appType,\r\n appNationality: props.appNationality,\r\n appRecommendation: props.appRecommendation,\r\n };\r\n }\r\n\r\n componentDidMount() {}\r\n\r\n handleChangeMode = (m) => {\r\n this.setState({ mode: m });\r\n };\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n let statusCopy = Object.assign({}, this.state.model);\r\n if (objName && objName != 'model') statusCopy[objName][inputName] = inputValue;\r\n else statusCopy[inputName] = inputValue;\r\n\r\n this.setState({ model: statusCopy });\r\n };\r\n updateStateDP = (inputName, inputValue, objName) => {\r\n this.setState(\r\n (prevState) => ({\r\n [objName]: {\r\n ...prevState[objName],\r\n [inputName]: inputValue,\r\n },\r\n }),\r\n () => {\r\n this.incidentCARModel(inputName, inputValue);\r\n }\r\n );\r\n };\r\n handleChangeModel = (el) => {\r\n let inputName = el.target.name;\r\n let inputValue = el.target.value;\r\n let objName = el.target.alt;\r\n\r\n this.updateState(inputName, inputValue, objName);\r\n };\r\n\r\n handleChangeCombo = (inputName, selectedItem, objName) => {\r\n let inputValue = selectedItem ? selectedItem.id : null;\r\n this.updateState(inputName, inputValue, objName);\r\n };\r\n\r\n deleteEmployer = () => {\r\n let statusCopy = Object.assign({}, this.state.model);\r\n statusCopy.owner.id = null;\r\n statusCopy.owner.idEmployer = null;\r\n statusCopy.owner.type = null;\r\n statusCopy.owner.badgeNumber = null;\r\n statusCopy.owner.fullname = null;\r\n statusCopy.owner.nationality = null;\r\n statusCopy.owner.email = null;\r\n this.setState({ model: statusCopy });\r\n };\r\n\r\n handleChangeComboName = (inputName, selectedItem, objName) => {\r\n if (selectedItem != null) {\r\n selectedItem.id = selectedItem.name;\r\n }\r\n this.handleChangeCombo(inputName, selectedItem, objName);\r\n };\r\n\r\n setEmployer = (employer) => {\r\n if (employer && employer.id) {\r\n let statusCopy = Object.assign({}, this.state.model);\r\n\r\n statusCopy.owner.idEmployer = employer.id;\r\n statusCopy.owner.badgeNumber = employer.ghrS_ID;\r\n statusCopy.owner.fullname = employer.fullname;\r\n statusCopy.owner.email = employer.email;\r\n statusCopy.owner.type = 'Saipem';\r\n let country = (this.state.appNationality || []).find((el) => el.id == employer.countryId);\r\n statusCopy.owner.nationality = country ? country.name : '';\r\n\r\n this.setState({ model: statusCopy, mode: 2 });\r\n }\r\n };\r\n\r\n excludeOption(array, optionToExclude) {\r\n const filteredArray = [];\r\n for (const item of array) {\r\n if (item.id !== optionToExclude) {\r\n filteredArray.push(item);\r\n }\r\n }\r\n return filteredArray;\r\n };\r\n\r\n save = () => {\r\n if (this.validator.allValid()) {\r\n let model = this.state.model;\r\n\r\n if (!this.props.isEditModal) {\r\n model.id = uuid();\r\n model.idOwner = uuid();\r\n //STEFANO 24/08/2021\r\n //model.owner.id = model.idOwner;\r\n //STEFANO 24/08/2021\r\n //console.log(model);\r\n }\r\n //STEFANO 24/08/2021\r\n model.owner.id = model.idOwner;\r\n //STEFANO 24/08/2021\r\n this.props.save(model);\r\n } else {\r\n if (this.validator.fieldValid('duedate') == false) {\r\n showNotification.warning(`${entitiesLabels.WARNING}`,\r\n `The Due Date must be less than or equal to the Due Date of the Car `\r\n );\r\n } else {\r\n showNotification.warning(`${entitiesLabels.WARNING}`,`${entitiesLabels.CA} required fields are missing `);\r\n }\r\n this.validator.showMessages();\r\n\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n render() {\r\n if (this.state.model.dueDate != null) {\r\n var diffduedate =\r\n !this.props.car ||\r\n moment(this.props.car).isSameOrAfter(moment(this.state.model.dueDate), 'day');\r\n } else {\r\n var diffduedate = true;\r\n }\r\n const validations = {\r\n type: this.validator.message('type', this.state.model.owner.type, 'required'),\r\n fullname: this.validator.message('fullname', this.state.model.owner.fullname, 'required'),\r\n badgeNumber: this.validator.message(\r\n 'badgeNumber',\r\n this.state.model.owner.badgeNumber,\r\n 'required'\r\n ),\r\n email: this.validator.message('email', this.state.model.owner.email, 'required|email'),\r\n //nationality: this.validator.message('nationality', this.state.model.owner.nationality, 'required'),\r\n position: this.validator.message('position', this.state.model.owner.position, 'required'),\r\n duedate: this.validator.message('duedate', diffduedate, 'accepted'),\r\n dueDate: this.validator.message('dueDate', this.state.model.dueDate, 'required'),\r\n caImplemented: this.validator.message('corrective action', this.state.model.caImplemented, 'required'),\r\n };\r\n const modalHeader = {\r\n title: this.props.isEditModal ? 'Edit ' : 'Add new ',\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.props.toggleModal(false),\r\n };\r\n const { title, isOpenModal } = this.props;\r\n\r\n const selectedItemCombo = {\r\n // idDirectCause: (this.state.appDirectCause || []).find(el => el.id == this.state.model.idDirectCause),\r\n // idDirectCauseSubCategory: (this.state.appDirectCauseSubCategory || []).find(el => el.id == this.state.model.idDirectCauseSubCategory),\r\n // idRootCause: (this.state.appRootCause || []).find(el => el.id == this.state.model.idRootCause),\r\n // idRootCauseSubCategory: (this.state.appRootCauseSubCategory || []).find(el => el.id == this.state.model.idRootCauseSubCategory),\r\n\r\n nationality: (this.state.appNationality || []).find(\r\n (el) => el.name == this.state.model.owner.nationality\r\n ),\r\n type: (this.state.appType || []).find((el) => el.id == this.state.model.owner.type),\r\n idStatus: (this.props.appStatus || []).find((el) => el.id == this.state.model.idStatus),\r\n };\r\n\r\n return this.state.mode == 1 ? (\r\n \r\n ) : (\r\n {\r\n return false;\r\n }}\r\n >\r\n \r\n

    {title || ''}

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n this.updateState('caImplemented', el.target.value, 'model')}\r\n hideLabel={true}\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={200}\r\n invalid={validations.caImplemented != null}\r\n />\r\n {validations.caImplemented}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.handleChangeMode(1)}\r\n >\r\n GHRS research\r\n \r\n
    \r\n
    \r\n this.deleteEmployer()}\r\n className=\"search--custom-button\"\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {this.state.appType == null ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.type}\r\n //items={this.state.appType} //RITM0864398\r\n items={this.state.appType ? this.excludeOption(this.state.appType, 'SAP') : []}\r\n disabled={this.state.model.owner.idEmployer != null}\r\n invalid={validations.type != null}\r\n />\r\n )}\r\n {validations.type}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {validations.fullname}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {validations.badgeNumber}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {validations.email}\r\n \r\n
    \r\n
    \r\n \r\n {this.state.appNationality == null ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.nationality}\r\n items={this.state.appNationality}\r\n disabled={this.state.model.owner.idEmployer != null}\r\n key={this.state.model.owner?.nationality != null}\r\n //invalid={validations.nationality != null}\r\n />\r\n )}\r\n {/* {validations.nationality} */}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {validations.position}\r\n \r\n
    \r\n
    \r\n \r\n {this.props.appStatus == null ? (\r\n \r\n ) : (\r\n (item ? item.caManagementName : '')}\r\n initialSelectedItem={selectedItemCombo.idStatus}\r\n items={this.props.appStatus}\r\n disabled={true}\r\n />\r\n )}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {validations.dueDate}\r\n {validations.duedate ? (\r\n
    \r\n The Due Date must be less than or equal to the Due Date of the Car\r\n
    \r\n ) : 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\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport {\r\n Button,\r\n Table,\r\n TableContainer,\r\n TableHead,\r\n TableHeader,\r\n TableBody,\r\n TableRow,\r\n Loading,\r\n TableCell,\r\n TableToolbar,\r\n DataTableSkeleton,\r\n Pagination,\r\n} from 'carbon-components-react';\r\nimport View16 from '@carbon/icons-react/lib/view--filled/16';\r\nimport Add16 from '@carbon/icons-react/lib/add/16';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport '../../scss/custom.scss';\r\nimport { switchDateFormat } from '../../helpers/jsonschemaform/customwidget/utils';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport {\r\n getSuccess,\r\n getError,\r\n entitiesLabels,\r\n apioperation,\r\n STATUS,\r\n} from '../../helpers/Constants';\r\nimport { api, registry } from '../../helpers/api/api';\r\nimport { NoRecordsPlaceholder } from '../../helpers/jsonschemaform/DataTableExtention';\r\nimport { StatusTag } from '../../helpers/PageBreadCrumb';\r\nimport { ConfirmAlertCustom } from '../../helpers/ConfirmAlertCustom';\r\nimport CAModal from './CAModal';\r\nimport IncidentRepository from '../../helpers/api/IncidentRepository';\r\nimport { Online, Offline } from '../common/OnLineOffLine';\r\n\r\nexport default class CAList extends Component {\r\n initialState = (props) => {\r\n let initialState = {\r\n idIncidentEdit: props.idIncidentEdit,\r\n idCar: props.idCar,\r\n\r\n //modal insert/edit\r\n keyModalCA: `modalCA_${new Date().getTime()}`,\r\n editModelCA: null,\r\n isEditModalCA: false,\r\n isOpenModalCA: false,\r\n isOpenDeleteModal: false,\r\n isDeleting: false,\r\n idToDelete: false,\r\n appType: null,\r\n appNationality: null,\r\n appStatus: null,\r\n car: props.car,\r\n };\r\n return initialState;\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n //this.updateState = this.updateState.bind(this);\r\n // this.handleChangeCombo = this.handleChangeCombo.bind(this);\r\n this.state = {\r\n ...this.initialState(props),\r\n };\r\n //this.baseUrl = this.props.baseUrl;\r\n this.baseUrl = '/incident/' + this.state.idIncidentEdit + '/car/' + this.state.idCar + '/ca/';\r\n }\r\n\r\n baseUrl;\r\n\r\n componentDidMount() {\r\n this.getType();\r\n this.getCountry();\r\n this.getStatus();\r\n }\r\n\r\n getCAs = () => {\r\n return this.props.getCAs();\r\n };\r\n\r\n getStatus = () => {\r\n registry\r\n .getAll('status')\r\n .then((response) => {\r\n var data = response.data;\r\n data = data != null ? data.filter((item) => item.id != STATUS.Approved) : [];\r\n this.setState({\r\n appStatus: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, 'Loading status', 'ERROR')\r\n );\r\n })\r\n .finally(() => {});\r\n };\r\n\r\n getType() {\r\n registry\r\n .getAll('infooriginator')\r\n .then((response) => {\r\n var data = response.data;\r\n data = data != null ? data.map((item) => ({ id: item.name, name: item.name })) : [];\r\n this.setState({\r\n appType: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, 'Loading info originator', 'ERROR')\r\n );\r\n })\r\n .finally(() => {});\r\n }\r\n\r\n getCountry() {\r\n api\r\n .getAll('/country')\r\n .then((response) => {\r\n var data = response.data;\r\n this.setState({\r\n appNationality: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, 'Loading Country', 'ERROR')\r\n );\r\n })\r\n .finally(() => {});\r\n }\r\n\r\n detailCA = (id) => {\r\n this.props.history.push(this.baseUrl + id);\r\n };\r\n\r\n /**********CA********************/\r\n\r\n toggleModalCA = (open) => {\r\n this.setState({ isOpenModalCA: open });\r\n };\r\n\r\n addCA = () => {\r\n this.setState({ keyModalCA: `modalCA_${new Date().getTime()}` });\r\n this.setState({ isEditModalCA: false, isOpenModalCA: true, editModelCA: null });\r\n };\r\n\r\n editModalCA = (id) => {\r\n this.setState({ keyModalCA: `modalCA_${new Date().getTime()}` });\r\n let item = this.props.incidentCA.find((el) => el.id == id);\r\n this.setState({ editModelCA: item, isEditModalCA: true, isOpenModalCA: true });\r\n };\r\n\r\n handleSaveModalCA = (datiForm) => {\r\n //showNotification.warning(\"TODO Validazione su CAModal.js\");\r\n\r\n if (!datiForm) return;\r\n\r\n this.setState({\r\n isSubmitted: true,\r\n });\r\n\r\n if (!this.state.isEditModalCA) datiForm.idIncident = this.state.idIncidentEdit;\r\n\r\n let method = this.state.isEditModalCA\r\n ? api.put(this.baseUrl, datiForm, datiForm.id)\r\n : api.post(this.baseUrl, datiForm);\r\n\r\n method\r\n .then((response) => {\r\n if (response.status == 200) {\r\n this.updateCacheList(datiForm).then(() => {\r\n this.getCAs();\r\n });\r\n\r\n this.setState({\r\n isOpenModalCA: false,\r\n });\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n `${entitiesLabels.INCIDENT} ${entitiesLabels.CA} \r\n ${getSuccess(\r\n response.data.incidentCACode,\r\n this.state.isEditModalCA ? apioperation.PUT : apioperation.POST\r\n )}`\r\n );\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(\r\n error,\r\n entitiesLabels.CA,\r\n this.state.isEditModalCA ? apioperation.PUT : apioperation.POST\r\n )\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isSubmitted: false,\r\n });\r\n });\r\n };\r\n\r\n updateCacheList = async (datiForm) => {\r\n if (!this.state.isEditModalCA) {\r\n datiForm.idIncidentCAR = this.state.idCar;\r\n datiForm.progressiveId = undefined;\r\n datiForm.sequence = undefined;\r\n datiForm.incidentCACode = null;\r\n datiForm.status = (this.state.appStatus || []).find((el) => el.id == datiForm.idStatus);\r\n }\r\n\r\n await IncidentRepository.updateCachedIncidentCA(\r\n this.state.idIncidentEdit,\r\n this.state.idCar,\r\n datiForm\r\n );\r\n };\r\n\r\n showLoading() {\r\n let show = this.state.isSubmitted;\r\n let descr = this.state.isSubmitted ? 'Saving...' : 'Loading data...';\r\n return show && ;\r\n //return ()\r\n }\r\n\r\n confirmDeleteCA = (id) => {\r\n this.setState({\r\n idToDelete: id,\r\n isOpenDeleteModal: true,\r\n isDeleting: false,\r\n });\r\n };\r\n\r\n onCloseConfirm = () => {\r\n this.setState({\r\n isOpenDeleteModal: false,\r\n });\r\n };\r\n\r\n deleteItemCA = () => {\r\n let id = this.state.idToDelete;\r\n\r\n this.setState({\r\n isDeleting: true,\r\n });\r\n\r\n api\r\n .delete(this.baseUrl, id)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n this.setState({\r\n idToDelete: null,\r\n isOpenDeleteModal: false,\r\n });\r\n this.onCloseConfirm();\r\n this.getCAs(id);\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.CA, apioperation.DELETE)\r\n );\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.CA, apioperation.DELETE)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isDeleting: false,\r\n });\r\n });\r\n };\r\n /**********Fine CA********************/\r\n\r\n getStatusId = (idRow) => {\r\n let r = this.props.incidentCA.find((el) => el.id == idRow);\r\n return r && r.idStatus;\r\n };\r\n\r\n render() {\r\n const rows = this.props.incidentCA || [];\r\n\r\n const CAModalProps = {\r\n key: this.state.keyModalCA,\r\n title: 'CA',\r\n editModel: this.state.editModelCA,\r\n isOpenModal: this.state.isOpenModalCA,\r\n isEditModal: this.state.isEditModalCA,\r\n toggleModal: this.toggleModalCA,\r\n save: this.handleSaveModalCA,\r\n car: this.props.car,\r\n appType: this.state.appType,\r\n appNationality: this.state.appNationality,\r\n appStatus: this.state.appStatus,\r\n // appDirectCause: this.state.appDirectCause,\r\n // appRootCause: this.state.appRootCause,\r\n // appDirectCauseSubCategory: this.state.appDirectCauseSubCategory,\r\n // appRootCauseSubCategory: this.state.appRootCauseSubCategory,\r\n };\r\n\r\n const getNameCAById = (id) => {\r\n if (id == null) return '';\r\n let element = rows.find((el) => el.id == id);\r\n return element && element.owner && element.status\r\n ? `${element.owner.fullname} - ${element.dueDate} - ${element.status.caManagementName}`\r\n : '';\r\n };\r\n\r\n const confirmDelProps = () => ({\r\n idToDelete: this.state.idToDelete,\r\n nameItem: getNameCAById(this.state.idToDelete),\r\n isDeleting: this.state.isDeleting,\r\n open: this.state.isOpenDeleteModal, //open state\r\n onCloseConfirm: this.onCloseConfirm, //no click\r\n deleteItem: this.deleteItemCA, //yes click fn()\r\n });\r\n const paginationProps = () => ({\r\n page: this.props.currentPage || 1,\r\n totalItems: this.props.rowCount || 0,\r\n pageSize: this.props.pageSize || 10,\r\n pageSizes: [10, 20, 30, 40, 50],\r\n onChange: this.props.handleChangePaging,\r\n });\r\n const colSpan = 6;\r\n //partial page\r\n return (\r\n <>\r\n \r\n
    \r\n {this.showLoading()}\r\n
    \r\n
    \r\n

    CA

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

    \r\n {this.props.isDisabled ||\r\n this.props.statusCar > 2 ||\r\n this.props.statusIncident > 2 ? null : (\r\n \r\n )}\r\n
    \r\n\r\n \r\n {this.props.isLoading ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n Owner\r\n Owner Type\r\n Due Date\r\n Status\r\n Actions\r\n \r\n \r\n \r\n {rows == null || rows.length == 0 ? (\r\n \r\n ) : (\r\n rows.map((item, index) => (\r\n \r\n \r\n {item.owner && item.owner.fullname}\r\n \r\n \r\n {item.owner && item.owner.type}\r\n \r\n \r\n {' '}\r\n {switchDateFormat(item.dueDate, 'date')}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n this.detailCA(item.id)}\r\n size=\"small\"\r\n renderIcon={View16}\r\n iconDescription=\"Detail\"\r\n kind=\"ghost\"\r\n />\r\n \r\n {this.props.isDisabled ? null : (\r\n <>\r\n this.editModalCA(item.id)}\r\n size=\"small\"\r\n renderIcon={Edit16}\r\n iconDescription=\"Edit\"\r\n kind=\"ghost\"\r\n />\r\n \r\n {this.getStatusId(item.id) == 1 && (\r\n this.confirmDeleteCA(item.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n />\r\n )}\r\n \r\n \r\n )}\r\n
    \r\n \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \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, { Component } from 'react';\r\nimport { TextInput, Loading, FormGroup, FormLabel, Button, DatePickerSkeleton } from 'carbon-components-react';\r\nimport '../../scss/custom.scss';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport {\r\n getError,\r\n getSuccess,\r\n entitiesLabels,\r\n apioperation,\r\n STATUS,\r\n DateFormat,\r\n} from '../../helpers/Constants';\r\nimport { api } from '../../helpers/api/api';\r\nimport CAList from './CAList';\r\nimport { IsEditable, CanExecuteAction } from '../../helpers/authorization/Policies';\r\nimport { AppContext } from '../../helpers/context/AppContext';\r\nimport PageBreadCrumb from '../../helpers/PageBreadCrumb';\r\nimport { switchDateFormat } from '../../helpers/jsonschemaform/customwidget/utils';\r\nimport { CheckmarkOutline16, Send16, Delete16, Error16 } from '@carbon/icons-react/lib/';\r\nimport { WFActionModal } from '../common/WFActionModal';\r\nimport { ChevronLeft16, Information16 } from '@carbon/icons-react';\r\nimport { HistoryTable } from '../../helpers/HistoryTable';\r\nimport { Online, Offline } from '../common/OnLineOffLine';\r\nimport DateTimePicker from '../../helpers/DateTimePicker';\r\n\r\nimport { v4 as uuid } from \"uuid\";\r\nimport AttachmentTable from '../common/AttachmentTable';\r\n\r\n\r\nexport default class CARDetail extends Component {\r\n baseUrl;\r\n\r\n constructor(props) {\r\n super(props);\r\n let idIncidentEdit = props ? props.match.params.id : '';\r\n let idCar = props ? props.match.params.idCar : '';\r\n\r\n this.state = {\r\n idIncidentEdit: idIncidentEdit,\r\n idCar: idCar,\r\n isLoading: true,\r\n model: null,\r\n keyCAList: `listCA_${new Date().getTime()}`,\r\n ///Status Action\r\n isApprovalModalOpen: false,\r\n approvalModalAction: '',\r\n approver: null,\r\n approvalStartDate: null,\r\n approvalEndDate: null,\r\n isLoadingApproverOptions: true,\r\n approvalValidationMessages: [],\r\n approvers: [],\r\n selectedData: [],\r\n approverRole: '',\r\n withApprover: true,\r\n isLoadingWFOperation: false,\r\n approvalNotesRequired: false,\r\n ///Status Action\r\n isHistoryModalOpen: false,\r\n };\r\n this.baseUrl = '/incident/' + idIncidentEdit + '/car/';\r\n }\r\n\r\n componentDidMount() {\r\n this.getCAR();\r\n }\r\n showButtonHistory = () => {\r\n return (\r\n \r\n this.openModalHistory()}\r\n >\r\n History\r\n \r\n \r\n );\r\n };\r\n openModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: true });\r\n };\r\n closeModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: false });\r\n };\r\n handleChangePaging = async (page) => {\r\n await new Promise((resolve) => {\r\n this.setState(\r\n { currentPage: page.page, pageSize: page.pageSize, loading: true, isBack: false },\r\n resolve\r\n );\r\n });\r\n this.getCAR();\r\n };\r\n getCAR = () => {\r\n this.setState({\r\n isLoading: true,\r\n });\r\n\r\n let id = this.state.idCar;\r\n let filter = {\r\n params: {\r\n page: this.state.currentPage,\r\n pageSize: this.state.pageSize,\r\n },\r\n };\r\n api\r\n .getWithParam(this.baseUrl + id, filter)\r\n .then((response) => {\r\n let data = response.data;\r\n if (data) {\r\n this.setState({\r\n model: data.result,\r\n listCas: data ? data.resultCas : [],\r\n });\r\n } else {\r\n showNotification.error(`${entitiesLabels.ERROR}`, 'CAR not found');\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.CAR, apioperation.GET)\r\n );\r\n this.props.history.push(this.baseUrl);\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoading: false,\r\n });\r\n });\r\n };\r\n\r\n showLoading() {\r\n let show = this.state.isLoading || this.state.isSubmitted;\r\n let descr = this.state.isSubmitted ? 'Saving...' : 'Loading data...';\r\n return show && ;\r\n //return ()\r\n }\r\n\r\n handleApproverSelect = (selectedItem) => {\r\n this.setState({ approver: selectedItem });\r\n };\r\n\r\n handleCloseApprovalModal = () => {\r\n this.setState({ isApprovalModalOpen: false }, this.clearApprovalForm);\r\n };\r\n\r\n handleApprovalNotesChange = (e) => {\r\n this.setState({ approvalNotes: e.target.value });\r\n };\r\n\r\n handleConfirmApprovalModal = () => {\r\n let action = this.state.approvalModalAction.toLowerCase();\r\n let apiEndpoint = this.state.approvalEndpoint;\r\n\r\n const data = {\r\n ids: [this.state.idCar],\r\n owner: this.state.approver,\r\n workflowNotes: this.state.approvalNotes,\r\n };\r\n\r\n this.setState({\r\n isLoadingWFOperation: true,\r\n });\r\n api\r\n .put(this.baseUrl + apiEndpoint, data, '')\r\n .then((response) => {\r\n if (response.status === 200) {\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n `${entitiesLabels.INCIDENT} ${entitiesLabels.CAR} ${\r\n entitiesLabels.WITHCODE\r\n } ${getSuccess(this.state.model.incidentCARCode, apioperation.PUT)}`\r\n );\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n isApprovalModalOpen: false,\r\n isLoading: true,\r\n // model: null\r\n });\r\n if (apiEndpoint == 'Delete') {\r\n this.props.history.push(this.baseUrl);\r\n } else {\r\n this.getCAR();\r\n }\r\n } else {\r\n showNotification.error();\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.CAR, apioperation.PUT)\r\n );\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n })\r\n .finally(() => {});\r\n };\r\n\r\n IsRowSelectable() {\r\n var row = this.state.model;\r\n if (row == null) return false;\r\n\r\n return true;\r\n }\r\n\r\n batchActionClick(\r\n actionKey,\r\n actionName,\r\n approverRole,\r\n withApprover,\r\n approvalNotesRequired,\r\n selectedRows\r\n ) {\r\n this.setState({\r\n approvalModalAction: actionName,\r\n isApprovalModalOpen: true,\r\n isLoadingApproverOptions: true,\r\n withApprover: withApprover,\r\n selectedData: selectedRows,\r\n approverRole: approverRole,\r\n approvalEndpoint: actionKey,\r\n approvalNotesRequired: approvalNotesRequired,\r\n });\r\n }\r\n\r\n canApproveCAR = () => {\r\n let item = this.state.model;\r\n return item && item.ca && item.ca.length > 0;\r\n };\r\n\r\n canCloseCAR = () => {\r\n let item = this.state.model;\r\n return item && item.ca && item.ca.length > 0\r\n ? item.ca.filter((el) => el.idStatus == 4).length == item.ca.length\r\n : false;\r\n };\r\n\r\n getStatusActions = (user, canEditResource) => {\r\n if (!this.IsRowSelectable()) return null;\r\n\r\n const idStatus = this.state.model.idStatus;\r\n return (\r\n \r\n {/* {this.canApproveCAR() &&\r\n CanExecuteAction('Incident', 'CARManagement', user, idStatus, 'Submit', canEditResource) ? (\r\n this.batchActionClick('Submit', 'Submit', null, false, false, null)}\r\n >\r\n Submit CAR\r\n \r\n ) : null} */}\r\n\r\n {this.canApproveCAR() &&\r\n CanExecuteAction(\r\n 'Incident',\r\n 'CARManagement',\r\n user,\r\n idStatus,\r\n 'Approve',\r\n canEditResource\r\n ) ? (\r\n this.batchActionClick('Approve', 'Approve', null, false, false, null)}\r\n >\r\n Approve CAR\r\n \r\n ) : null}\r\n\r\n {this.canCloseCAR() &&\r\n CanExecuteAction(\r\n 'Incident',\r\n 'CARManagement',\r\n user,\r\n idStatus,\r\n 'Consolidate',\r\n canEditResource\r\n ) ? (\r\n this.batchActionClick('Close', 'Close', null, false, false, null)}\r\n >\r\n Close CAR\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction('Incident', 'CARManagement', user, idStatus, 'Open', canEditResource) ? (\r\n this.batchActionClick('Open', 'Open', null, false, false, null)}\r\n >\r\n Open CAR\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Incident',\r\n 'CARManagement',\r\n user,\r\n idStatus,\r\n 'Reject',\r\n canEditResource\r\n ) ? (\r\n this.batchActionClick('Reject', 'Reject', null, false, true, null)}\r\n >\r\n Reject CAR\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Incident',\r\n 'CARManagement',\r\n user,\r\n idStatus,\r\n 'Delete',\r\n canEditResource\r\n ) ? (\r\n this.batchActionClick('Delete', 'Delete', null, false, false, null)}\r\n >\r\n Delete CAR\r\n \r\n ) : null}\r\n \r\n );\r\n };\r\n\r\n updateActualCompletion = (_, value) => this.setState({model: {...this.state.model, actualDateCompletition: value}})\r\n \r\n clearAttachment = () => ({\r\n\t\tid: null, // guid\r\n\t\tfileIdentifier: null,\r\n\t\tname: null,\r\n\t\tcontentType: null,\r\n\t\tsize: null,\r\n\t\ttype: null,\r\n\t});\r\n\r\n onUploadFiles = (fileIdentifier, fileName, fileType, size) => {\r\n const attachment = { ...this.state.attachment };\r\n\r\n attachment.id = uuid();\r\n attachment.fileIdentifier = fileIdentifier.blobName;\r\n attachment.name = fileName;\r\n attachment.contentType = fileType;\r\n attachment.size = size;\r\n // attachment.filePath = file.localPath;\r\n\r\n this.setState({\r\n attachment: this.clearAttachment(),\r\n });\r\n\r\n try {\r\n if (attachment == null) return;\r\n // insert\r\n const oldattachment = this.state.model.attachment || [];\r\n\r\n const newItem = {\r\n id: uuid(), // guid\r\n\r\n idAttachment: attachment.id, // guid\r\n attachment,\r\n };\r\n\r\n const newattachment = oldattachment.concat([newItem]);\r\n this.setState({model: {...this.state.model, attachment: newattachment}})\r\n } catch (error) {\r\n showNotification.error();\r\n }\r\n };\r\n\r\n onRemoveFile = (id) => {\r\n if (!id) return;\r\n const statusCopy = { ...this.state.model };\r\n statusCopy.attachment = statusCopy.attachment.filter((el) => el.id !== id);\r\n this.setState({model: statusCopy});\r\n };\r\n\r\n save = () => {\r\n const { model } = this.state;\r\n\r\n // model.directCauseSubCategory = this.state.appDirectCauseSubCategory.find(el => el.id == model.idDirectCauseSubCategory);\r\n model.directCauseSubCategory = model.idDirectCauseSubCategory;\r\n // model.rootCauseSubCategory = this.state.appRootCauseSubCategory.find(el => el.id == model.idRootCauseSubCategory);\r\n model.rootCauseSubCategory = model.idRootCauseSubCategory\r\n model.closedOn= null;\r\n \r\n model.id = this.state.idCar\r\n\r\n this.setState({\r\n isSubmitted: true,\r\n });\r\n\r\n let idincident = this.props ? this.props.match.params.id : ''\r\n const method = api.put('/incident/' + idincident + '/cardto/', model, model.id);\r\n \r\n method\r\n .then((response) => {\r\n if (response.status == 200) {\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,`${entitiesLabels.INCIDENT} ${entitiesLabels.CAR} ${getSuccess(response.data.incidentCARCode,apioperation.PUT)}`);\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error,entitiesLabels.CAR, apioperation.PUT));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isSubmitted: false,\r\n });\r\n });\r\n\r\n this.forceUpdate();\r\n }\r\n\r\n\r\n\r\n\r\n render() {\r\n const incidentCA = this.state.model\r\n ? this.state.model.ca.filter((x) => this.state.listCas?.itemList.some((y) => y.id == x.id))\r\n : null;\r\n\r\n const CAListProps = {\r\n key: this.state.keyCAList,\r\n idIncidentEdit: this.state.idIncidentEdit,\r\n isLoading: this.state.isLoading,\r\n idCar: this.state.idCar,\r\n incidentCA: incidentCA,\r\n history: this.props.history,\r\n match: this.props.match,\r\n car: this.state.model?.dueDate,\r\n statusCar: this.state.model?.idStatus,\r\n statusIncident: this.state.model?.incident?.idStatus,\r\n listCa: this.state.listCas,\r\n currentPage: this.state.listCas?.currentPage || 1,\r\n pageSize: this.state.listCas?.pageSize || 10,\r\n rowCount: this.state.listCas?.rowCount || 0,\r\n getCAs: this.getCAR,\r\n handleChangePaging: this.handleChangePaging,\r\n };\r\n\r\n const canEditResource = this.state.model && {\r\n idCompiler: this.state.model.incident.idCompiler,\r\n idDataApprover: this.state.model.incident.idDataApprover,\r\n idDivisionManager: this.state.model.incident.idDivisionManager,\r\n email:\r\n this.state.model.owner != null\r\n ? this.state.model.owner.email\r\n : this.state.model.ownerSaipem != null\r\n ? this.state.model.ownerSaipem.email\r\n : '',\r\n };\r\n\r\n return (\r\n \r\n {({ user }) => (\r\n <>\r\n \r\n
    \r\n {this.showLoading()}\r\n \r\n {\r\n this.closeModalHistory()}\r\n />\r\n }\r\n
    \r\n
    \r\n {this.state.model && (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n 2 ? 'Yes' : 'No'}\r\n disabled={true}\r\n />\r\n \r\n
    \r\n\r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n\r\n
    \r\n )}\r\n\r\n \r\n\r\n {IsEditable('Incident','CARManagement', user, this.state.model?.idStatus ?? null, 'Attachments', canEditResource) ? (\r\n
    \r\n \r\n
    \r\n ) : null}\r\n\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport {\r\n TextInput,\r\n Button,\r\n Loading,\r\n FormGroup,\r\n TextArea,\r\n TextInputSkeleton,\r\n DropdownSkeleton,\r\n DatePickerSkeleton\r\n} from 'carbon-components-react';\r\n\r\nimport '../../scss/custom.scss';\r\n\r\nimport { switchDateFormat } from '../../helpers/jsonschemaform/customwidget/utils';\r\nimport { ComboBox } from '../../helpers/ComboBox';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport {\r\n getSuccess,\r\n getError,\r\n STATUS,\r\n entitiesLabels,\r\n apioperation,\r\n DateFormat\r\n} from '../../helpers/Constants';\r\nimport { api, registry } from '../../helpers/api/api';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { IsEditable, CanExecuteAction } from '../../helpers/authorization/Policies';\r\nimport { AppContext } from '../../helpers/context/AppContext';\r\nimport PageBreadCrumb from '../../helpers/PageBreadCrumb';\r\nimport { Information16 } from '@carbon/icons-react';\r\nimport { HistoryTable } from '../../helpers/HistoryTable';\r\nimport {CheckmarkOutline16} from '@carbon/icons-react/lib/';\r\nimport { WFActionModal } from '../common/WFActionModal';\r\nimport { v4 as uuid } from 'uuid';\r\nimport DateTimePicker from '../../helpers/DateTimePicker';\r\nimport AttachmentTable from '../common/AttachmentTable';\r\nexport default class CADetail extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator({ autoForceUpdate: this, locale: 'en' });\r\n let idIncidentEdit = props ? props.match.params.id : '';\r\n let idCar = props ? props.match.params.idCar : '';\r\n let idCa = props ? props.match.params.idCa : '';\r\n\r\n this.state = {\r\n idIncidentEdit: idIncidentEdit,\r\n idCar: idCar,\r\n idCa: idCa,\r\n isLoading: true,\r\n isSubmitted: false,\r\n model: null,\r\n keyCA: `formCA_${new Date().getTime()}`,\r\n appStatus: null,\r\n isDisabled: true,\r\n isHistoryModalOpen: false,\r\n ///Status Action\r\n isApprovalModalOpen: false,\r\n approvalModalAction: '',\r\n approver: null,\r\n approvalStartDate: null,\r\n approvalEndDate: null,\r\n isLoadingApproverOptions: true,\r\n approvalValidationMessages: [],\r\n approvers: [],\r\n selectedData: [],\r\n approverRole: '',\r\n withApprover: true,\r\n isLoadingWFOperation: false,\r\n approvalNotesRequired: false,\r\n ///Status Action\r\n };\r\n this.baseUrl = '/incident/' + idIncidentEdit + '/car/' + idCar + '/ca/' + idCa + '/detail';\r\n }\r\n\r\n baseUrl;\r\n\r\n componentDidMount() {\r\n this.getCA();\r\n this.getStatus();\r\n }\r\n showButtonHistory = () => {\r\n return (\r\n this.openModalHistory()}\r\n >\r\n History\r\n \r\n );\r\n };\r\n openModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: true });\r\n };\r\n closeModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: false });\r\n };\r\n getStatus = () => {\r\n registry\r\n .getAll('status')\r\n .then((response) => {\r\n var data = response.data;\r\n //data = data != null ? data.filter(item => (item.id == 1 || item.id == 4)) : [];\r\n this.setState({\r\n appStatus: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.STATUS, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n };\r\n\r\n getCA = () => {\r\n this.setState({\r\n isLoading: true,\r\n });\r\n\r\n api\r\n .getAll(this.baseUrl)\r\n .then((response) => {\r\n let data = response.data;\r\n if (data) {\r\n this.setState({\r\n model: data,\r\n });\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.CA, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoading: false,\r\n });\r\n });\r\n };\r\n\r\n showLoading() {\r\n let show = this.state.isLoading || this.state.isSubmitted;\r\n let descr = this.state.isSubmitted ? 'Saving...' : 'Loading data...';\r\n return show && ;\r\n //return ()\r\n }\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n let statusCopy = Object.assign({}, this.state.model);\r\n if (objName && objName != 'model') statusCopy[objName][inputName] = inputValue;\r\n else statusCopy[inputName] = inputValue;\r\n\r\n this.setState({ model: statusCopy });\r\n };\r\n\r\n saveCA = () => {\r\n if (this.validator.allValid()) {\r\n let datiForm = this.state.model;\r\n if (!datiForm) return;\r\n\r\n this.setState({\r\n isSubmitted: true,\r\n });\r\n\r\n api\r\n .put(this.baseUrl, datiForm)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.CA, apioperation.PUT)\r\n );\r\n this.getCA();\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, 'CA', 'PUT'));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isSubmitted: false,\r\n });\r\n });\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.INCIDENT} field not valid`\r\n );\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n cancel = () => {\r\n if (this.props.history.length == 1) console.log('TODO, Chiudere la pagina???');\r\n else this.props.history.goBack();\r\n };\r\n\r\n handleApproverSelect = (selectedItem) => {\r\n this.setState({ approver: selectedItem });\r\n };\r\n\r\n handleCloseApprovalModal = () => {\r\n this.setState({ isApprovalModalOpen: false }, this.clearApprovalForm);\r\n };\r\n\r\n handleApprovalNotesChange = (e) => {\r\n this.setState({ approvalNotes: e.target.value });\r\n };\r\n\r\n handleConfirmApprovalModal = () => {\r\n \r\n //let action = this.state.approvalModalAction.toLowerCase();\r\n let apiEndpoint = this.state.approvalEndpoint;\r\n\r\n //ALESSANDRO DI PIETRO 27/08/2021 RITM0508028\r\n //if (action.toLowerCase() === \"close\") {\r\n // this.saveCA();\r\n //}\r\n //ALESSANDRO DI PIETRO 27/08/2021 RITM0508028\r\n\r\n\r\n const data = {\r\n ids: [this.state.idCa],\r\n owner: this.state.approver,\r\n workflowNotes: this.state.approvalNotes,\r\n };\r\n\r\n this.setState({\r\n isLoadingWFOperation: true,\r\n });\r\n api\r\n .put(\r\n '/incident/' +\r\n this.state.idIncidentEdit +\r\n '/car/' +\r\n this.state.idCar +\r\n '/ca/' +\r\n apiEndpoint,\r\n data,\r\n ''\r\n )\r\n .then((response) => {\r\n if (response.status === 200) {\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.CA, apioperation.PUT)\r\n );\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n isApprovalModalOpen: false,\r\n isLoading: true,\r\n model: null\r\n });\r\n this.getCA();\r\n } else {\r\n showNotification.error();\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n }\r\n\r\n })\r\n .catch((error) => {\r\n if (error.response.status === 406) {\r\n showNotification.warning(`${entitiesLabels.WARNING}`, 'Required CA fields was not saved. Use the save button before closing CA');\r\n } else {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.CA, apioperation.PUT)\r\n );\r\n }\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n })\r\n .finally(() => {});\r\n };\r\n\r\n IsRowSelectable() {\r\n var row = this.state.model;\r\n if (row == null) return false;\r\n\r\n return true;\r\n }\r\n\r\n batchActionClick(\r\n actionKey,\r\n actionName,\r\n approverRole,\r\n withApprover,\r\n approvalNotesRequired,\r\n selectedRows\r\n ) {\r\n if (this.validator.allValid()) {\r\n this.setState({\r\n approvalModalAction: actionName,\r\n isApprovalModalOpen: true,\r\n isLoadingApproverOptions: true,\r\n withApprover: withApprover,\r\n selectedData: selectedRows,\r\n approverRole: approverRole,\r\n approvalEndpoint: actionKey,\r\n approvalNotesRequired: approvalNotesRequired,\r\n });\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`, ' field not valid');\r\n this.forceUpdate();\r\n }\r\n }\r\n ///ATTACHMENTS\r\n clearAttachment = () => ({\r\n id: null, // guid\r\n fileIdentifier: null,\r\n name: null,\r\n contentType: null,\r\n size: null,\r\n type: null,\r\n });\r\n remove = (id) => {\r\n if (!id) return;\r\n\r\n let statusCopy = Object.assign({}, this.state.model);\r\n statusCopy.attachment = statusCopy.attachment.filter((el) => el.id !== id);\r\n\r\n this.setState({\r\n model: statusCopy,\r\n });\r\n };\r\n onUpload = (fileIdentifier, fileName, fileType, size) => {\r\n const attachment = { ...this.state.attachment };\r\n\r\n attachment.id = uuid();\r\n attachment.fileIdentifier = fileIdentifier.blobName;\r\n attachment.name = fileName;\r\n attachment.contentType = fileType;\r\n attachment.size = size;\r\n // attachment.filePath = file.localPath;\r\n\r\n this.setState({\r\n attachment: this.clearAttachment(),\r\n });\r\n\r\n try {\r\n if (attachment == null) return;\r\n //insert\r\n let oldattachment = this.state.model.attachment || [];\r\n\r\n let newItem = {\r\n id: uuid(), //guid\r\n // idIncident: this.props.incidentEditModel.id,\r\n idAttachment: attachment.id, //guid\r\n attachment: attachment,\r\n };\r\n\r\n let newattachment = oldattachment.concat([newItem]);\r\n this.updateState('attachment', newattachment, 'model');\r\n } catch (error) {\r\n showNotification.error();\r\n }\r\n };\r\n getStatusActions = (user) => {\r\n if (!this.IsRowSelectable()) return null;\r\n\r\n const canEditResource = this.state.model && {\r\n email:\r\n this.state.model.incidentCAR.owner != null\r\n ? this.state.model.incidentCAR.owner.email\r\n : this.state.model.incidentCAR.ownerSaipem.email,\r\n idCompiler: this.state.model.idIncidentCompiler,\r\n };\r\n\r\n const idStatus = this.state.model.idStatus;\r\n return (\r\n <>\r\n {CanExecuteAction('Incident', 'CAManagement', user, idStatus, 'Close', canEditResource) ? (\r\n this.batchActionClick('Close', 'Close', null, false, false, null)}\r\n >\r\n Close CA\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction('Incident', 'CAManagement', user, idStatus, 'Open', canEditResource) ? (\r\n this.batchActionClick('Open', 'Open', null, false, false, null)}\r\n >\r\n Open CA\r\n \r\n ) : null}\r\n \r\n );\r\n };\r\n\r\n render() {\r\n const validations = {\r\n immediateThreatment: this.state.model\r\n ? this.validator.message(\r\n 'immediateThreatment',\r\n this.state.model.immediateThreatment,\r\n 'required'\r\n )\r\n : null,\r\n };\r\n\r\n const selectedItemCombo = {\r\n idStatus: this.state.model\r\n ? (this.state.appStatus || []).find(\r\n (el) =>\r\n el.id == (this.state.model.isClose ? STATUS.Consolidated : this.state.model.idStatus)\r\n )\r\n : null,\r\n appStatus: (this.state.appStatus || []).filter(\r\n (el) => el.id == STATUS.Submitted || el.id == STATUS.Consolidated\r\n ),\r\n };\r\n\r\n const owner = this.state.model && this.state.model.owner;\r\n \r\n return (\r\n \r\n {({ user }) => (\r\n <>\r\n \r\n\r\n
    \r\n {this.showLoading()}\r\n \r\n {\r\n this.closeModalHistory()}\r\n />\r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n this.updateState('caImplemented', el.target.value, 'model')\r\n }\r\n hideLabel={true}\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={225}\r\n className=\"disable-text\"\r\n disabled={true}\r\n />\r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {!owner ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {!owner ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : IsEditable(\r\n 'Incident',\r\n 'CAManagement',\r\n user,\r\n this.state.model.idStatus,\r\n 'Status',\r\n {\r\n email: this.state.model.owner.email,\r\n idCompiler: this.state.model.idIncidentCompiler,\r\n }\r\n ) ? (\r\n this.state.appStatus == null ? (\r\n \r\n ) : (\r\n \r\n this.updateState(\r\n 'isClose',\r\n val && val.id == STATUS.Consolidated ? true : false,\r\n 'model'\r\n )\r\n }\r\n itemToString={(item) => (item ? item.caManagementName : '')}\r\n initialSelectedItem={selectedItemCombo.idStatus}\r\n items={selectedItemCombo.appStatus}\r\n />\r\n )\r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n\r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n
    \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n this.updateState(\r\n 'immediateThreatment',\r\n el.target.value,\r\n 'model'\r\n )\r\n }\r\n hideLabel={true}\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={225}\r\n invalid={validations.immediateThreatment != null}\r\n disabled={\r\n !IsEditable(\r\n 'Incident',\r\n 'CAManagement',\r\n user,\r\n this.state.model.idStatus,\r\n 'ImmediateThreatment',\r\n {\r\n email: this.state.model.owner.email,\r\n idCompiler: this.state.model.idIncidentCompiler,\r\n }\r\n )\r\n }\r\n />\r\n )}\r\n {validations.immediateThreatment}\r\n \r\n
    \r\n {/* DEV 383 */}\r\n \r\n {/* DEV 383 */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n this.cancel()}\r\n className=\"bx--col bx--btn--max-width\"\r\n size=\"default\"\r\n kind=\"secondary\"\r\n >\r\n Cancel\r\n \r\n this.saveCA()}\r\n disabled={\r\n owner\r\n ? !IsEditable(\r\n 'Incident',\r\n 'CAManagement',\r\n user,\r\n this.state.model.idStatus,\r\n 'ImmediateThreatment',\r\n {\r\n email: this.state.model.owner.email,\r\n idCompiler: this.state.model.idIncidentCompiler,\r\n }\r\n )\r\n : true\r\n }\r\n className=\"bx--col bx--btn--max-width\"\r\n size=\"default\"\r\n kind=\"primary\"\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","/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport { MultiSelect, DropdownSkeleton } from 'carbon-components-react';\r\nimport PropTypes from 'prop-types';\r\nimport AuditRepository from '../../../helpers/api/AuditRepository';\r\n\r\nexport default class WorkSiteMultiSelect extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n items: [],\r\n selectedItems: []\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n this.repository = new AuditRepository();\r\n }\r\n\r\n async componentDidMount() {\r\n if (!this.props.division && this.props.loadAll === false) return;\r\n this.setState({ loading: true });\r\n const items = await this.getItems();\r\n this.setState({ items, selectedItems: this.props.initialSelectedItems, loading: false });\r\n }\r\n\r\n onChange = (selectedItem) => {\r\n const items = selectedItem ? selectedItem.selectedItems : null;\r\n this.setState({\r\n selectedItems: items\r\n });\r\n this.props.onChange(items);\r\n };\r\n\r\n getItems = async () => {\r\n let items = [];\r\n try {\r\n items = this.props.loadAll\r\n ? await this.repository.getWorkSites()\r\n : await this.repository.getWorkSites(this.props.division);\r\n } catch (error) {\r\n console.error(error);\r\n this.props.onError(error);\r\n }\r\n return items;\r\n };\r\n\r\n render() {\r\n return this.state.loading ? (\r\n \r\n ) : (\r\n elem.name).join(', ')\r\n }\r\n label=\"\"\r\n itemToString={(item) => (item ? item && item.name : '')}\r\n items={this.state.items}\r\n light={false}\r\n onChange={this.onChange}\r\n type=\"default\"\r\n initialSelectedItems={this.props.initialSelectedItems}\r\n />\r\n );\r\n }\r\n}\r\n\r\nWorkSiteMultiSelect.propTypes = {\r\n division: PropTypes.string,\r\n onChange: PropTypes.func.isRequired,\r\n onError: PropTypes.func.isRequired,\r\n loadAll: PropTypes.bool,\r\n initialSelectedItems: PropTypes.array,\r\n disabled: PropTypes.bool\r\n};\r\n\r\nWorkSiteMultiSelect.defaultProps = {\r\n division: null,\r\n loadAll: false,\r\n initialSelectedItems: [],\r\n disabled: true\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport { MultiSelect, DropdownSkeleton } from 'carbon-components-react';\r\nimport PropTypes from 'prop-types';\r\nimport MeRepository from '../../../helpers/api/MeRepository';\r\n\r\nexport default class ProjectMultiSelect extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n items: [],\r\n selectedItems: []\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n async componentDidMount() {\r\n if (!this.props.company) return;\r\n this.setState({ loading: true });\r\n const items = await this.getItems();\r\n this.setState({ items, selectedItems: this.props.initialSelectedItems, loading: false });\r\n }\r\n\r\n onChange = (selectedItem) => {\r\n const items = selectedItem ? selectedItem.selectedItems : null;\r\n this.setState({\r\n selectedItems: items\r\n });\r\n this.props.onChange(items);\r\n };\r\n\r\n getItems = async () => {\r\n let items = [];\r\n try {\r\n items = await MeRepository.getProjects(this.props.company);\r\n } catch (error) {\r\n console.error(error);\r\n this.props.onError(error);\r\n }\r\n return items;\r\n };\r\n\r\n render() {\r\n return this.state.loading ? (\r\n \r\n ) : (\r\n elem.name).join(', ')\r\n }\r\n label=\"\"\r\n itemToString={(item) => (item ? item && item.name : '')}\r\n items={this.state.items}\r\n light={false}\r\n onChange={this.onChange}\r\n type=\"default\"\r\n initialSelectedItems={this.props.initialSelectedItems}\r\n />\r\n );\r\n }\r\n}\r\n\r\nProjectMultiSelect.propTypes = {\r\n company: PropTypes.string,\r\n onChange: PropTypes.func.isRequired,\r\n onError: PropTypes.func.isRequired,\r\n initialSelectedItems: PropTypes.array,\r\n disabled: PropTypes.bool\r\n};\r\nProjectMultiSelect.defaultProps = {\r\n company: null,\r\n initialSelectedItems: [],\r\n disabled: true\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\n/* eslint-disable react/require-default-props */\r\nimport React, { Component } from \"react\";\r\nimport { ComboBox, DropdownSkeleton } from \"carbon-components-react\";\r\nimport PropTypes from \"prop-types\";\r\nimport AuditRepository from \"../../../helpers/api/AuditRepository\";\r\n\r\nexport default class AuditorComboBox extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\tloading: false,\r\n\t\t\titems: [],\r\n\t\t};\r\n\t\tthis.onChange = this.onChange.bind(this);\r\n\t\tthis.repository = new AuditRepository();\r\n\t}\r\n\r\n\tasync componentDidMount() {\r\n\t\tthis.setState({ loading: true });\r\n\t\tconst items = await this.getItems();\r\n\t\tthis.setState({ items, loading: false });\r\n\t}\r\n\r\n\tonChange = (selectedItem) => {\r\n\t\tconst item = selectedItem ? selectedItem.selectedItem : null;\r\n\t\tthis.props.onChange(item);\r\n\t};\r\n\r\n\tgetItems = async () => {\r\n\t\tlet items = [];\r\n\t\tconst itemsDivision = [];\r\n\t\ttry {\r\n\t\t\t//items = this.props.userDivision || []; //B1_Audit_Module_Optimization\r\n\t\t\titems = await this.repository.getAuditors();\r\n\t\t\t//RITM0544059 aggiunta if per usare la stessa combobox per il filtro dove non serve confrontarlo con nessuna division\r\n\t\t\tif (this.props.division) {\r\n\t\t\t\titems = items.filter((el) => el.divisions.includes(this.props.division));\r\n\t\t\t}\r\n\t\t\tconst uniqueTags = [];\r\n\t\t\titems.map((item) => {\r\n\t\t\t\tif (uniqueTags.indexOf(item.email) === -1) {\r\n\t\t\t\t\tuniqueTags.push(item.email);\r\n\t\t\t\t\titemsDivision.push(item);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\titems = itemsDivision;\r\n\t\t\tif (this.props.itemsToExclude) {\r\n\t\t\t\titems = items.filter((item) => {\r\n\t\t\t\t\tconst deletedId = this.props.itemsToExclude.map((filter) => filter.id);\r\n\t\t\t\t\tconst itemId = item.id;\r\n\t\t\t\t\treturn !deletedId.includes(itemId);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tconsole.error(error);\r\n\t\t\tthis.props.onError(error);\r\n\t\t}\r\n\t\treturn items;\r\n\t};\r\n\r\n\trender() {\r\n\t\treturn this.state.loading ? (\r\n\t\t\t\r\n\t\t) : (\r\n\t\t\t item.fullName?.toLowerCase().includes(inputValue.toLowerCase()) || item.email?.toLowerCase().includes(inputValue.toLowerCase())}\r\n\t\t\t\titemToString={(item) => (item ? item && item.email && `${item.name} ${item.surname} (${item.email})` : \"\")}\r\n\t\t\t\tselectedItem={this.props.selectedItem}\r\n\t\t\t/>\r\n\t\t);\r\n\t}\r\n}\r\n\r\nAuditorComboBox.propTypes = {\r\n\tinvalid: PropTypes.bool,\r\n\tinvalidText: PropTypes.string,\r\n\tdivision: PropTypes.string,\r\n\tonChange: PropTypes.func.isRequired,\r\n\tonError: PropTypes.func.isRequired,\r\n\tselectedItem: PropTypes.object,\r\n\titemsToExclude: PropTypes.array,\r\n\tdisabled: PropTypes.bool,\r\n};\r\nAuditorComboBox.defaultProps = {\r\n\tinvalid: false,\r\n\tinvalidText: \"\",\r\n\tselectedItem: null,\r\n\titemsToExclude: null,\r\n\tdisabled: true,\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport { ComboBox, DropdownSkeleton } from 'carbon-components-react';\r\nimport PropTypes from 'prop-types';\r\nimport MeRepository from '../../../helpers/api/MeRepository';\r\n\r\nexport default class CompanyComboBox extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n items: []\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n async componentDidMount() {\r\n this.setState({ loading: true });\r\n const items = await this.getItems();\r\n this.setState({ items, loading: false });\r\n }\r\n\r\n onChange = (selectedItem) => {\r\n const item = selectedItem ? selectedItem.selectedItem : null;\r\n this.props.onChange(item);\r\n };\r\n\r\n getItems = async () => {\r\n let items = [];\r\n\r\n try {\r\n items = await MeRepository.getCompanies();\r\n } catch (error) {\r\n console.error(error);\r\n this.props.onError(error);\r\n }\r\n return items;\r\n };\r\n\r\n render() {\r\n return this.state.loading ? (\r\n \r\n ) : (\r\n \r\n item.name.toLowerCase().includes(inputValue.toLowerCase()) ||\r\n item.code.toLowerCase().includes(inputValue.toLowerCase())\r\n }\r\n itemToString={(item) => (item ? item && item.name : '')}\r\n selectedItem={this.props.selectedItem}\r\n />\r\n );\r\n }\r\n}\r\n\r\nCompanyComboBox.propTypes = {\r\n onChange: PropTypes.func.isRequired,\r\n onError: PropTypes.func.isRequired,\r\n selectedItem: PropTypes.object,\r\n disabled: PropTypes.bool\r\n};\r\nCompanyComboBox.defaultProps = {\r\n selectedItem: null,\r\n disabled: true\r\n};\r\n","import React, { Component } from 'react';\r\nimport { ComboBox, DropdownSkeleton } from 'carbon-components-react';\r\nimport PropTypes from 'prop-types';\r\nimport MeRepository from '../../../helpers/api/MeRepository';\r\n\r\nexport default class DivisionComboBox extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n items: [],\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n async componentDidMount() {\r\n this.setState({ loading: true });\r\n const items = await this.getItems();\r\n this.setState({ items, loading: false });\r\n if (this.props.selectedItem?.id == null && items?.length == 1) this.props.onChange(items[0]);\r\n }\r\n\r\n onChange = (selectedItem) => {\r\n const item = selectedItem ? selectedItem.selectedItem : null;\r\n this.props.onChange(item);\r\n };\r\n\r\n getItems = async () => {\r\n let items = [];\r\n\r\n try {\r\n items = await MeRepository.getDivisions();\r\n } catch (error) {\r\n console.error(error);\r\n this.props.onError(error);\r\n }\r\n return items;\r\n };\r\n\r\n render() {\r\n return this.state.loading ? (\r\n \r\n ) : (\r\n \r\n item.name.toLowerCase().includes(inputValue.toLowerCase()) ||\r\n item.code.toLowerCase().includes(inputValue.toLowerCase())\r\n }\r\n itemToString={(item) => (item ? item && item.name : '')}\r\n selectedItem={this.props.selectedItem}\r\n />\r\n );\r\n }\r\n}\r\n\r\nDivisionComboBox.propTypes = {\r\n invalid: PropTypes.bool,\r\n invalidText: PropTypes.string,\r\n onChange: PropTypes.func.isRequired,\r\n onError: PropTypes.func.isRequired,\r\n selectedItem: PropTypes.object,\r\n disabled: PropTypes.bool,\r\n};\r\nDivisionComboBox.defaultProps = {\r\n invalid: false,\r\n invalidText: '',\r\n selectedItem: null,\r\n disabled: true,\r\n};\r\n","import React, { Component } from \"react\";\r\nimport { ComboBox, DropdownSkeleton } from \"carbon-components-react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { api } from \"../../../helpers/api/api\";\r\nimport AuditRepository from \"../../../helpers/api/AuditRepository\";\r\n\r\nexport default class SectionComboBox extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\tloading: false,\r\n\t\t\titems: [],\r\n\t\t};\r\n\t\tthis.onChange = this.onChange.bind(this);\r\n\t\tthis.repository = new AuditRepository();\r\n\t}\r\n\r\n\tasync componentDidMount() {\r\n\t\tthis.setState({ loading: true });\r\n\t\tconst items = await this.getItems();\r\n\t\tthis.setState({ items, loading: false });\r\n\t}\r\n\r\n\tonChange = (selectedItem) => {\r\n\t\tconst item = selectedItem ? selectedItem.selectedItem : null;\r\n\t\tthis.props.onChange(item);\r\n\t};\r\n\r\n\tgetItems = async () => {\r\n\t\tlet items = [];\r\n\r\n\t\ttry {\r\n\t\t\titems = await this.repository.getSections();\r\n\t\t} catch (error) {\r\n\t\t\tconsole.error(error);\r\n\t\t\tthis.props.onError(error);\r\n\t\t}\r\n\t\treturn items;\r\n\t};\r\n\r\n\trender() {\r\n\t\treturn this.state.loading ? (\r\n\t\t\t\r\n\t\t) : (\r\n\t\t\t item.name.toLowerCase().includes(inputValue.toLowerCase()) || item.code.toLowerCase().includes(inputValue.toLowerCase())}\r\n\t\t\t\tinvalid={this.props.invalid}\r\n\t\t\t\tinvalidText={this.props.invalidText}\r\n\t\t\t\titemToString={(item) => (item ? item && item.name : \"\")}\r\n\t\t\t\tselectedItem={this.props.selectedItem}\r\n\t\t\t/>\r\n\t\t);\r\n\t}\r\n}\r\n\r\nSectionComboBox.propTypes = {\r\n\tinvalid: PropTypes.bool,\r\n\tinvalidText: PropTypes.string,\r\n\tonChange: PropTypes.func.isRequired,\r\n\tonError: PropTypes.func.isRequired,\r\n\tselectedItem: PropTypes.object,\r\n\tdisabled: PropTypes.bool,\r\n};\r\nSectionComboBox.defaultProps = {\r\n\tinvalid: false,\r\n\tinvalidText: \"\",\r\n\tselectedItem: null,\r\n\tdisabled: true,\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport { MultiSelect, DropdownSkeleton } from 'carbon-components-react';\r\nimport PropTypes from 'prop-types';\r\nimport AuditRepository from '../../../helpers/api/AuditRepository';\r\n\r\nexport default class AuditScopeMultiSelect extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n items: [],\r\n selectedItems: [],\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n this.repository = new AuditRepository();\r\n }\r\n\r\n async componentDidMount() {\r\n if (!this.props.section && this.props.loadAll === false) return;\r\n this.setState({ loading: true });\r\n const items = await this.getItems();\r\n this.setState({ items, selectedItems: this.props.initialSelectedItems, loading: false });\r\n }\r\n\r\n onChange = (selectedItem) => {\r\n const items = selectedItem ? selectedItem.selectedItems : null;\r\n this.setState({\r\n selectedItems: items,\r\n });\r\n this.props.onChange(items);\r\n };\r\n\r\n getItems = async () => {\r\n let items = [];\r\n try {\r\n items = this.props.loadAll\r\n ? await this.repository.getScopes(null)\r\n : await this.repository.getScopes(this.props.section);\r\n } catch (error) {\r\n console.error(error);\r\n this.props.onError(error);\r\n }\r\n return items;\r\n };\r\n\r\n render() {\r\n return this.state.loading ? (\r\n \r\n ) : (\r\n elem.name).join(', ')\r\n }\r\n itemToString={(item) => (item ? item && item.name : '')}\r\n items={this.state.items}\r\n light={false}\r\n onChange={this.onChange}\r\n type=\"default\"\r\n initialSelectedItems={this.props.initialSelectedItems}\r\n />\r\n );\r\n }\r\n}\r\n\r\nAuditScopeMultiSelect.propTypes = {\r\n invalid: PropTypes.bool,\r\n invalidText: PropTypes.string,\r\n section: PropTypes.string,\r\n loadAll: PropTypes.bool,\r\n onChange: PropTypes.func.isRequired,\r\n onError: PropTypes.func.isRequired,\r\n initialSelectedItems: PropTypes.array,\r\n disabled: PropTypes.bool,\r\n};\r\nAuditScopeMultiSelect.defaultProps = {\r\n invalid: false,\r\n invalidText: '',\r\n section: null,\r\n loadAll: false,\r\n initialSelectedItems: [],\r\n disabled: true,\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport { ComboBox, DropdownSkeleton } from 'carbon-components-react';\r\nimport PropTypes from 'prop-types';\r\nimport AuditRepository from '../../../helpers/api/AuditRepository';\r\n\r\nexport default class AuditTypeComboBox extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n items: []\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n this.repository = new AuditRepository();\r\n }\r\n\r\n async componentDidMount() {\r\n if (!this.props.section && this.props.loadAll === false) return;\r\n this.setState({ loading: true });\r\n const items = await this.getItems();\r\n this.setState({ items, loading: false });\r\n }\r\n\r\n onChange = (selectedItem) => {\r\n const item = selectedItem ? selectedItem.selectedItem : null;\r\n this.props.onChange(item);\r\n };\r\n\r\n getItems = async () => {\r\n let items = [];\r\n try {\r\n items = this.props.loadAll\r\n ? await this.repository.getTypes()\r\n : await this.repository.getTypes(this.props.section);\r\n\r\n if (this.props.loadAll) {\r\n const map = new Map();\r\n const result = [];\r\n items.map((item) => {\r\n if (!map.has(item.name)) {\r\n map.set(item.name, true);\r\n result.push({ name: item.name });\r\n }\r\n return null;\r\n });\r\n items = result;\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n this.props.onError(error);\r\n }\r\n return items;\r\n };\r\n\r\n render() {\r\n return this.state.loading ? (\r\n \r\n ) : (\r\n \r\n item.name?.toLowerCase().includes(inputValue?.toLowerCase()) ||\r\n item.code?.toLowerCase().includes(inputValue?.toLowerCase())\r\n }\r\n itemToString={(item) => (item ? item && item.name : '')}\r\n initialSelectedItem={this.props.initialSelectedItem}\r\n />\r\n );\r\n }\r\n}\r\n\r\nAuditTypeComboBox.propTypes = {\r\n invalid: PropTypes.bool,\r\n invalidText: PropTypes.string,\r\n section: PropTypes.string,\r\n onChange: PropTypes.func.isRequired,\r\n onError: PropTypes.func.isRequired,\r\n loadAll: PropTypes.bool,\r\n initialSelectedItem: PropTypes.object,\r\n disabled: PropTypes.bool\r\n};\r\nAuditTypeComboBox.defaultProps = {\r\n invalid: false,\r\n invalidText: '',\r\n section: null,\r\n loadAll: false,\r\n initialSelectedItem: null,\r\n disabled: true\r\n};\r\n","import React, { Component } from 'react';\r\nimport { ComboBox, DropdownSkeleton } from 'carbon-components-react';\r\nimport PropTypes from 'prop-types';\r\nimport AuditRepository from '../../../helpers/api/AuditRepository';\r\n\r\nexport default class AuditTargetDropDown extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n items: [],\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n this.repository = new AuditRepository();\r\n }\r\n\r\n async componentDidMount() {\r\n this.setState({ loading: true });\r\n const items = await this.getItems();\r\n this.setState({ items, loading: false });\r\n }\r\n\r\n onChange = (selectedItem) => {\r\n const item = selectedItem ? selectedItem.selectedItem : null;\r\n this.props.onChange(item);\r\n };\r\n\r\n getItems = async () => {\r\n let items = [];\r\n\r\n try {\r\n items = await this.repository.getTargets();\r\n } catch (error) {\r\n console.error(error);\r\n this.props.onError(error);\r\n }\r\n return items;\r\n };\r\n\r\n render() {\r\n return this.state.loading ? (\r\n \r\n ) : (\r\n (item ? item && item.name : '')}\r\n selectedItem={this.props.initialSelectedItem}\r\n />\r\n );\r\n }\r\n}\r\n\r\nAuditTargetDropDown.propTypes = {\r\n invalid: PropTypes.bool,\r\n invalidText: PropTypes.string,\r\n onChange: PropTypes.func.isRequired,\r\n onError: PropTypes.func.isRequired,\r\n // eslint-disable-next-line react/forbid-prop-types\r\n initialSelectedItem: PropTypes.object,\r\n disabled: PropTypes.bool,\r\n};\r\nAuditTargetDropDown.defaultProps = {\r\n invalid: false,\r\n invalidText: '',\r\n initialSelectedItem: null,\r\n disabled: true,\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport { MultiSelect, DropdownSkeleton } from 'carbon-components-react';\r\nimport PropTypes from 'prop-types';\r\nimport AuditRepository from '../../../helpers/api/AuditRepository';\r\n\r\nexport default class ReasonForSamplingMultiSelect extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n items: [],\r\n selectedItems: [],\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n this.repository = new AuditRepository();\r\n }\r\n\r\n async componentDidMount() {\r\n this.setState({ loading: true });\r\n const items = await this.getItems();\r\n this.setState({ items, selectedItems: this.props.initialSelectedItems, loading: false });\r\n }\r\n\r\n onChange = (selectedItem) => {\r\n const items = selectedItem ? selectedItem.selectedItems : null;\r\n this.setState({\r\n selectedItems: items,\r\n });\r\n this.props.onChange(items);\r\n };\r\n\r\n getItems = async () => {\r\n let items = [];\r\n try {\r\n items = await this.repository.getReasonForSampling();\r\n } catch (error) {\r\n console.error(error);\r\n this.props.onError(error);\r\n }\r\n return items;\r\n };\r\n\r\n render() {\r\n return this.state.loading ? (\r\n \r\n ) : (\r\n elem.name).join(', ') : ''\r\n }\r\n placeholder={this.props.filter ?\r\n this.state.selectedItems < 1\r\n ? 'Choose one or more items'\r\n : this.state.selectedItems.map((elem) => elem.name).join(', ') : ''\r\n }\r\n itemToString={(item) => (item ? item && item.name : '')}\r\n items={this.state.items}\r\n light={false}\r\n onChange={this.onChange}\r\n type=\"default\"\r\n initialSelectedItems={this.props.initialSelectedItems}\r\n />\r\n );\r\n }\r\n}\r\n\r\nReasonForSamplingMultiSelect.propTypes = {\r\n openUp: PropTypes.bool,\r\n filter: PropTypes.bool,\r\n invalid: PropTypes.bool,\r\n invalidText: PropTypes.string,\r\n onChange: PropTypes.func.isRequired,\r\n onError: PropTypes.func.isRequired,\r\n initialSelectedItems: PropTypes.array,\r\n disabled: PropTypes.bool,\r\n};\r\nReasonForSamplingMultiSelect.defaultProps = {\r\n openUp: false,\r\n filter: false,\r\n invalid: false,\r\n invalidText: '',\r\n initialSelectedItems: [],\r\n disabled: true,\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport { v4 as uuid } from 'uuid';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport {\r\n Button,\r\n FormLabel,\r\n ComboBox,\r\n FormGroup,\r\n Loading,\r\n TextArea,\r\n TextInput,\r\n} from 'carbon-components-react';\r\nimport Close16 from '@carbon/icons-react/lib/close/16';\r\nimport PropTypes from 'prop-types';\r\nimport { Information16 } from '@carbon/icons-react';\r\nimport { api } from '../../helpers/api/api';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport {\r\n getSuccess,\r\n getError,\r\n entitiesLabels,\r\n apioperation,\r\n STATUS,\r\n TEAM_LEADER,\r\n} from '../../helpers/Constants';\r\nimport WorkSiteMultiSelect from './common/WorkSiteMultiSelect';\r\nimport ProjectMultiSelect from './common/ProjectMultiSelect';\r\nimport AuditorComboBox from './common/AuditorComboBox';\r\nimport CompanyComboBox from './common/CompanyComboBox';\r\nimport DivisionComboBox from './common/DivisionComboBox';\r\nimport SectionComboBox from './common/SectionComboBox';\r\nimport AuditScopeMultiSelect from './common/AuditScopeMultiSelect';\r\nimport AuditTypeComboBox from './common/AuditTypeComboBox';\r\nimport AuditTargetDropDown from './common/AuditTargetDropDown';\r\nimport { IsEditable } from '../../helpers/authorization/Policies';\r\nimport { HistoryTable } from '../../helpers/HistoryTable';\r\nimport EmailChips from '../../helpers/EmailChips';\r\nimport AuditRepository from '../../helpers/api/AuditRepository';\r\nimport ReasonForSamplingMultiSelect from './common/ReasonForSamplingMultiSelect';\r\n\r\nexport default class AuditDetails extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.onSelectCompanyChange = this.onSelectCompanyChange.bind(this);\r\n this.onSelectDivisionChange = this.onSelectDivisionChange.bind(this);\r\n this.onSelectAuditTypeChange = this.onSelectAuditTypeChange.bind(this);\r\n this.onSelectSectionChange = this.onSelectSectionChange.bind(this);\r\n this.onSelectWorkSiteChange = this.onSelectWorkSiteChange.bind(this);\r\n this.onSelectScopeChange = this.onSelectScopeChange.bind(this);\r\n this.handleSelectedYear = this.handleSelectedYear.bind(this);\r\n this.handleSelectedMonth = this.handleSelectedMonth.bind(this);\r\n this.onSelectProjectChange = this.onSelectProjectChange.bind(this);\r\n this.onSelectDistributionListChange = this.onSelectDistributionListChange.bind(this);\r\n this.onSelectAuditorChange = this.onSelectAuditorChange.bind(this);\r\n this.onSelectTargetChange = this.onSelectTargetChange.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.monthToString = this.monthToString.bind(this);\r\n this.monthToNumber = this.monthToNumber.bind(this);\r\n this.saveAudit = this.saveAudit.bind(this);\r\n this.updateAudit = this.updateAudit.bind(this);\r\n this.renderLoadingModal = this.renderLoadingModal.bind(this);\r\n this.onSelectReasonChange = this.onSelectReasonChange.bind(this);\r\n this.onOtherHSEIssuesTextChange = this.onOtherHSEIssuesTextChange.bind(this);\r\n this.onSelectMailCCChange = this.onSelectMailCCChange.bind(this);\r\n this.repository = new AuditRepository();\r\n this.validator = new SimpleReactValidator({\r\n validators: {\r\n emails: {\r\n // name the rule\r\n message: 'The :attribute must be a valid email address list semicolon separated',\r\n rule: (val, params, validator) =>\r\n validator.helpers.testRegex(\r\n val,\r\n // eslint-disable-next-line no-useless-escape\r\n /^(([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)(\\s*;\\s*|\\s*$))+$/i\r\n ) && params.indexOf(val) === -1,\r\n required: true, // optional\r\n },\r\n },\r\n });\r\n\r\n this.months = [\r\n 'Jan',\r\n 'Feb',\r\n 'Mar',\r\n 'Apr',\r\n 'May',\r\n 'Jun',\r\n 'Jul',\r\n 'Aug',\r\n 'Sep',\r\n 'Oct',\r\n 'Nov',\r\n 'Dec',\r\n ];\r\n this.statuses = STATUS;\r\n this.state = {\r\n newAudit: {\r\n id: this.props.Audit?.id || uuid(),\r\n auditCode: this.props.Audit?.auditCode || null,\r\n company: this.props.Audit?.company || null,\r\n division: this.props.Audit?.division || {},\r\n section: this.props.Audit?.auditSection || {},\r\n type: this.props.Audit?.auditType || {},\r\n projects: this.props.Audit?.projects || [],\r\n worksites: this.props.Audit?.workSites || [],\r\n auditor:\r\n this.props.Audit?.auditors?.filter((x) => x.role == TEAM_LEADER).length > 0\r\n ? this.props.Audit?.auditors?.filter((x) => x.role == TEAM_LEADER)[0]\r\n : {},\r\n scopes: this.props.Audit?.scopes || [],\r\n reasonsForSampling: this.props.Audit?.reasonsForSampling || [],\r\n otherHSEIssues: this.props.Audit?.otherHSEIssues,\r\n sequence: this.props.Audit?.sequence || 0,\r\n month: this.monthToString(this.props.Audit?.referenceMonth),\r\n year: this.props.Audit?.referenceYear.toString() || null,\r\n target: this.props.Audit?.target || {},\r\n distributionList: this.props.Audit?.distributionList || null,\r\n mailCC: this.props.Audit?.mailCC || null,\r\n isHistoryModalOpen: false,\r\n },\r\n checkListCompilerChanged: false,\r\n isSubmitted: false,\r\n // editingDisabled: this.props.Audit\r\n // ? this.props.Audit.idStatus === this.statuses.Consolidated\r\n // : false\r\n editingDisabled: this.props.Audit\r\n ? !IsEditable(\r\n 'Audit',\r\n 'Planning',\r\n this.props.user,\r\n this.props.Audit.status.id,\r\n 'All',\r\n this.props.Audit\r\n )\r\n : false,\r\n editingAuditorDisabled: this.props.Audit\r\n ? this.props.Audit.checkList?.idStatus > 2 ||\r\n !IsEditable(\r\n 'Audit',\r\n 'Planning',\r\n this.props.user,\r\n this.props.Audit.status.id,\r\n 'Auditor',\r\n this.props.Audit\r\n )\r\n : false,\r\n editingDateDisabled: this.props.Audit\r\n ? !IsEditable(\r\n 'Audit',\r\n 'Planning',\r\n this.props.user,\r\n this.props.Audit.status.id,\r\n 'Reference Date',\r\n this.props.Audit\r\n )\r\n : false,\r\n };\r\n\r\n const year = new Date().getFullYear();\r\n this.years = Array.from(new Array(5), (val, index) => (index + year).toString());\r\n }\r\n\r\n monthToString = (monthNumber) => this.months[monthNumber - 1] || '';\r\n\r\n monthToNumber = (monthName) => this.months.indexOf(monthName) + 1;\r\n\r\n showButtonHistory = () => (\r\n \r\n // this.openModalHistory()}>\r\n );\r\n\r\n openModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: true });\r\n };\r\n\r\n closeModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: false });\r\n };\r\n\r\n onSelectCompanyChange = (selectedItem) => {\r\n this.setState((prevState) => {\r\n const newAudit = { ...prevState.newAudit };\r\n newAudit.company = selectedItem || null;\r\n newAudit.projects = [];\r\n return { newAudit };\r\n });\r\n };\r\n\r\n onSelectDivisionChange = async (selectedItem) => {\r\n const distributionList = selectedItem\r\n ? await this.repository.getProgramDistributionList(selectedItem.id)\r\n : [];\r\n const toList = distributionList\r\n .filter((address) => {\r\n if (address.recipientType === 'To') return true;\r\n return false;\r\n })\r\n .map((address) => address.emailAddress)\r\n .join(',');\r\n const ccList = distributionList\r\n .filter((address) => {\r\n if (address.recipientType === 'Cc') return true;\r\n return false;\r\n })\r\n .map((address) => address.emailAddress)\r\n .join(',');\r\n this.setState((prevState) => {\r\n const newAudit = { ...prevState.newAudit };\r\n newAudit.division = selectedItem || {};\r\n newAudit.worksites = [];\r\n newAudit.auditor = {};\r\n newAudit.distributionList = toList;\r\n newAudit.mailCC = ccList;\r\n return { newAudit };\r\n });\r\n };\r\n\r\n onSelectAuditTypeChange = (selectedItem) => {\r\n this.setState((prevState) => {\r\n const newAudit = { ...prevState.newAudit };\r\n newAudit.type = selectedItem || {};\r\n return { newAudit };\r\n });\r\n };\r\n\r\n onSelectSectionChange = (selectedItem) => {\r\n this.setState((prevState) => {\r\n const newAudit = { ...prevState.newAudit };\r\n newAudit.section = selectedItem || {};\r\n newAudit.scopes = [];\r\n newAudit.type = {};\r\n return { newAudit };\r\n });\r\n };\r\n\r\n onSelectWorkSiteChange = (selectedItems) => {\r\n this.setState((prevState) => {\r\n const newAudit = { ...prevState.newAudit };\r\n newAudit.worksites = selectedItems || [];\r\n return { newAudit };\r\n });\r\n };\r\n\r\n onSelectProjectChange = (selectedItems) => {\r\n this.setState((prevState) => {\r\n const newAudit = { ...prevState.newAudit };\r\n newAudit.projects = selectedItems || [];\r\n return { newAudit };\r\n });\r\n };\r\n\r\n onSelectAuditorChange = (selectedItem) => {\r\n const selectedAuditor = selectedItem;\r\n let compilerChanged = false;\r\n if (selectedItem) {\r\n compilerChanged =\r\n this.props.Audit &&\r\n this.props.Audit.checkList &&\r\n this.props.Audit.checkList.idCompiler !== selectedAuditor.id;\r\n selectedAuditor.teamLeader = true;\r\n selectedAuditor.role = TEAM_LEADER;\r\n }\r\n this.setState((prevState) => {\r\n const newAudit = { ...prevState.newAudit };\r\n newAudit.auditor = selectedAuditor || {};\r\n return { newAudit };\r\n });\r\n if (compilerChanged == false) {\r\n this.validator.message('Reasons for change', this.state.newAudit.reasonsForChange, '');\r\n }\r\n this.setState({ checkListCompilerChanged: compilerChanged });\r\n };\r\n\r\n onSelectTargetChange = (selectedItem) => {\r\n this.setState((prevState) => {\r\n const newAudit = { ...prevState.newAudit };\r\n newAudit.target = selectedItem || {};\r\n return { newAudit };\r\n });\r\n };\r\n\r\n onSelectDistributionListChange = (e) => {\r\n const val = e;\r\n this.setState((prevState) => {\r\n const newAudit = { ...prevState.newAudit };\r\n newAudit.distributionList = val;\r\n return { newAudit };\r\n });\r\n };\r\n\r\n onSelectMailCCChange = (e) => {\r\n const val = e;\r\n this.setState((prevState) => {\r\n const newAudit = { ...prevState.newAudit };\r\n newAudit.mailCC = val;\r\n return { newAudit };\r\n });\r\n };\r\n\r\n onSelectReasonChange = (selectedItems) => {\r\n this.setState((prevState) => {\r\n const newAudit = { ...prevState.newAudit };\r\n newAudit.reasonsForSampling = selectedItems || [];\r\n newAudit.otherHSEIssues =\r\n newAudit.reasonsForSampling.findIndex((el) => el.name === 'Any other HSE issues') !== -1\r\n ? newAudit.otherHSEIssues\r\n : '';\r\n return { newAudit };\r\n });\r\n };\r\n\r\n onOtherHSEIssuesTextChange = (text) => {\r\n this.setState((prevState) => {\r\n const newAudit = { ...prevState.newAudit };\r\n newAudit.otherHSEIssues = text;\r\n return { newAudit };\r\n });\r\n };\r\n\r\n onReasonForChangeChange = (e) => {\r\n const val = e.target.value;\r\n this.setState((prevState) => {\r\n const newAudit = { ...prevState.newAudit };\r\n newAudit.reasonsForChange = val;\r\n return { newAudit };\r\n });\r\n };\r\n\r\n handleSelectedMonth = (selectedItem) => {\r\n let month;\r\n try {\r\n month = selectedItem.selectedItem;\r\n } catch (error) {\r\n month = null;\r\n }\r\n this.setState((prevState) => {\r\n const newAudit = { ...prevState.newAudit };\r\n newAudit.month = month;\r\n return { newAudit };\r\n });\r\n };\r\n\r\n handleSelectedYear = (selectedItem) => {\r\n let year;\r\n try {\r\n year = selectedItem.selectedItem;\r\n } catch (error) {\r\n year = null;\r\n }\r\n this.setState((prevState) => {\r\n const newAudit = { ...prevState.newAudit };\r\n newAudit.year = year;\r\n return { newAudit };\r\n });\r\n };\r\n\r\n onSelectScopeChange = (selectedItems) => {\r\n this.setState((prevState) => {\r\n const newAudit = { ...prevState.newAudit };\r\n newAudit.scopes = selectedItems || [];\r\n return { newAudit };\r\n });\r\n };\r\n\r\n renderLoadingModal = () => {\r\n const show = this.state.isSubmitted;\r\n return show && ;\r\n };\r\n\r\n saveAudit = async (item) => {\r\n try {\r\n this.setState({ isSubmitted: true });\r\n item.id = uuid();\r\n const { data } = await api.post('/audit', item);\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n `${entitiesLabels.AUDIT} ${getSuccess(data.auditCode, apioperation.POST)}`\r\n );\r\n return data;\r\n } catch (error) {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.AUDIT, apioperation.POST)\r\n );\r\n return null;\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n };\r\n\r\n updateAudit = async (item) => {\r\n try {\r\n this.setState({ isSubmitted: true });\r\n await api.put('/audit/plan', item);\r\n return showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n ` ${entitiesLabels.AUDIT} ${getSuccess(item.auditCode, apioperation.PUT)}`\r\n );\r\n } catch (error) {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, item.auditCode, apioperation.PUT)\r\n );\r\n return null;\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n };\r\n\r\n handleSubmit = async (event) => {\r\n event.preventDefault();\r\n if (this.validator.allValid()) {\r\n const newAuditDTO = {\r\n id: this.state.newAudit.id,\r\n auditCode: this.props.Audit?.auditCode || null,\r\n referenceYear: parseInt(this.state.newAudit.year, 10),\r\n referenceMonth: this.monthToNumber(this.state.newAudit.month),\r\n idAuditType: this.state.newAudit.type.id,\r\n auditType: this.state.newAudit.type,\r\n idDivision: this.state.newAudit.division.id,\r\n division: this.state.newAudit.division,\r\n idCompany: this.state.newAudit.company?.id || null,\r\n company: this.state.newAudit.company || null,\r\n idAuditSection: this.state.newAudit.section.id,\r\n auditSection: this.state.newAudit.section,\r\n idAuditTarget: this.state.newAudit.target.id,\r\n target: this.state.newAudit.target,\r\n distributionList: this.state.newAudit.distributionList,\r\n mailCC: this.state.newAudit.mailCC,\r\n workSites: this.state.newAudit.worksites.map((elem) => elem),\r\n projects: this.state.newAudit.projects.map((elem) => elem),\r\n scopes: this.state.newAudit.scopes.map((elem) => elem),\r\n reasonsForSampling: this.state.newAudit.reasonsForSampling.map((elem) => elem),\r\n otherHSEIssues: this.state.newAudit.otherHSEIssues,\r\n auditors: [1].fill(this.state.newAudit.auditor),\r\n idCompiler: this.props.Audit?.idCompiler,\r\n idDataApprover: this.props.Audit?.idDataApprover,\r\n idDivisionManager: this.props.Audit?.idDivisionManager,\r\n idStatus: this.props.Audit?.idStatus,\r\n status: this.props.Audit?.status || null,\r\n compiler: this.props.Audit?.compiler || null,\r\n createdBy: this.props.Audit?.createdBy || null,\r\n createdOn: this.props.Audit?.createdOn || null,\r\n updatedBy: this.props.Audit?.updatedBy || null,\r\n updatedOn: this.props.Audit?.updatedOn || null,\r\n };\r\n if (this.props.Audit) {\r\n const auditors = this.props.Audit?.auditors;\r\n auditors.shift();\r\n auditors.unshift(this.state.newAudit.auditor);\r\n const uniqAuditors = auditors.reduce((a, b) => {\r\n if (!a.find((c) => c.id === b.id)) a.push(b);\r\n return a;\r\n }, []);\r\n newAuditDTO.auditors = uniqAuditors;\r\n newAuditDTO.updatedBy = this.props.user.email;\r\n newAuditDTO.updatedOn = new Date();\r\n newAuditDTO.idCheckList = this.props.Audit.idCheckList;\r\n newAuditDTO.checkList = this.props.Audit.checkList || null;\r\n newAuditDTO.sequence = this.props.Audit.sequence;\r\n newAuditDTO.reportSummary = this.props.Audit.reportSummary;\r\n newAuditDTO.additionalNotes = this.props.Audit.additionalNotes;\r\n newAuditDTO.startDate = this.props.Audit.startDate;\r\n newAuditDTO.endDate = this.props.Audit.endDate;\r\n newAuditDTO.reasonsForChange = this.state.newAudit.reasonsForChange;\r\n newAuditDTO.newCarManagement = this.props.Audit.newCarManagement;\r\n await this.updateAudit(newAuditDTO);\r\n this.props.onUpdate(newAuditDTO);\r\n } else {\r\n newAuditDTO.createdBy = this.props.user.email;\r\n newAuditDTO.createdOn = new Date();\r\n newAuditDTO.updatedBy = this.props.user.email;\r\n newAuditDTO.updatedOn = newAuditDTO.createdOn;\r\n newAuditDTO.idStatus = 1;\r\n newAuditDTO.status = {\r\n id: 1,\r\n name: 'Draft',\r\n planningName: 'Draft',\r\n reportingName: 'Opened',\r\n carManagementName: 'Assigned',\r\n };\r\n const newItem = await this.saveAudit(newAuditDTO);\r\n if (newItem) this.props.onSave(newItem);\r\n }\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.AUDIT} required fields are missing `\r\n );\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n render() {\r\n const validations = {\r\n division: this.validator.message('division', this.state.newAudit.division.id, 'required'),\r\n section: this.validator.message('Section', this.state.newAudit.section.id, 'required'),\r\n type: this.validator.message('Audit Type', this.state.newAudit.type.id, 'required'),\r\n scope: this.validator.message('Scope', this.state.newAudit.scopes[0], 'required'),\r\n month: this.validator.message('month', this.state.newAudit.month, 'required'),\r\n year: this.validator.message('year', this.state.newAudit.year, 'required'),\r\n auditor: this.validator.message('auditor', this.state.newAudit.auditor.id, 'required'),\r\n target: this.validator.message('target', this.state.newAudit.target.id, 'required'),\r\n distributionList: this.validator.message(\r\n 'distributionList',\r\n this.state.newAudit.distributionList,\r\n 'required'\r\n ),\r\n // reasonsForSampling: this.validator.message(\r\n // 'Reasons For Sampling',\r\n // this.state.newAudit.reasonsForSampling[0],\r\n // 'required'\r\n // ),\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n {this.props.Audit ? (\r\n

    \r\n {`Edit Audit Program: ${this.props.Audit.auditCode || ''} `}\r\n

    \r\n ) : (\r\n

    Program New Audit

    \r\n )}\r\n {this.props.Audit ? this.showButtonHistory() : ''}\r\n {\r\n this.closeModalHistory()}\r\n />\r\n }\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n Section *\r\n {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.SECTION, apioperation.GET)\r\n );\r\n }}\r\n selectedItem={this.state.newAudit.section}\r\n disabled={this.state.editingDisabled}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n Reference Date *\r\n
    \r\n
    \r\n item || ''}\r\n disabled={this.state.editingDateDisabled}\r\n />\r\n
    \r\n
    \r\n item || ''}\r\n disabled={this.state.editingDateDisabled}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Scopes *\r\n {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.SCOPE, apioperation.GET)\r\n );\r\n }}\r\n initialSelectedItems={this.state.newAudit.scopes}\r\n disabled={this.state.editingDisabled}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n Type of audit *\r\n {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.TYPEAUDIT, apioperation.GET)\r\n );\r\n }}\r\n section={this.state.newAudit.section.id}\r\n key={this.state.newAudit.section.id}\r\n initialSelectedItem={this.state.newAudit.type}\r\n disabled={this.state.editingDisabled}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Main Division *\r\n {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.MAINDIVISION, apioperation.GET)\r\n );\r\n }}\r\n selectedItem={this.state.newAudit.division}\r\n disabled={this.state.editingDisabled}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n Company\r\n {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.COMPANY, apioperation.GET)\r\n );\r\n }}\r\n selectedItem={this.state.newAudit.company}\r\n disabled={this.state.editingDisabled}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Work Sites\r\n {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.WORKSITE, apioperation.GET)\r\n );\r\n }}\r\n division={this.state.newAudit.division.id}\r\n key={this.state.newAudit.division.id}\r\n initialSelectedItems={this.state.newAudit.worksites}\r\n disabled={this.state.editingDisabled}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n Projects\r\n {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.PROJECT, apioperation.GET)\r\n );\r\n }}\r\n initialSelectedItems={this.state.newAudit.projects}\r\n disabled={this.state.editingDisabled}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {TEAM_LEADER} *\r\n {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.AUDITOR, apioperation.GET)\r\n );\r\n }}\r\n //userDivision={this.props.userDivision || []} //B1_Audit_Module_Optimization\r\n selectedItem={this.state.newAudit.auditor}\r\n disabled={this.state.editingAuditorDisabled}\r\n />\r\n \r\n
    \r\n {this.state.checkListCompilerChanged == true ? (\r\n
    \r\n \r\n Reason for change *\r\n\r\n {}}\r\n type=\"text\"\r\n />\r\n \r\n
    \r\n ) : (\r\n ''\r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n Target *\r\n {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.TARGET, apioperation.GET)\r\n );\r\n }}\r\n initialSelectedItem={this.state.newAudit.target}\r\n disabled={this.state.editingDisabled}\r\n />\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n Reasons For Sampling *\r\n {this.state.editingDisabled == true ? (\r\n {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.REASONFORSAMPLING, apioperation.GET)\r\n );\r\n }}\r\n openUp\r\n initialSelectedItems={this.state.newAudit.reasonsForSampling}\r\n disabled={this.state.editingDisabled}\r\n />\r\n ) : (\r\n {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.REASONFORSAMPLING, apioperation.GET)\r\n );\r\n }}\r\n openUp\r\n initialSelectedItems={this.state.newAudit.reasonsForSampling}\r\n disabled={this.state.editingDisabled}\r\n />\r\n )}\r\n \r\n
    \r\n
    \r\n\r\n {this.state.newAudit.reasonsForSampling.findIndex(\r\n (el) => el.name === 'Any other HSE issues'\r\n ) !== -1 ? (\r\n
    \r\n
    \r\n \r\n this.onOtherHSEIssuesTextChange(el.target.value)}\r\n />\r\n {validations.question}\r\n \r\n
    \r\n
    \r\n ) : (\r\n ''\r\n )}\r\n\r\n
    \r\n
    \r\n \r\n Mail To*\r\n \r\n \r\n
    \r\n
    \r\n \r\n Mail CC\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 {this.renderLoadingModal()}\r\n
    \r\n \r\n );\r\n }\r\n}\r\nAuditDetails.propTypes = {\r\n onCancel: PropTypes.func.isRequired,\r\n onSave: PropTypes.func.isRequired,\r\n onUpdate: PropTypes.func.isRequired,\r\n Audit: PropTypes.object,\r\n user: PropTypes.object.isRequired,\r\n};\r\nAuditDetails.defaultProps = { Audit: null };\r\n","/* eslint-disable jsx-a11y/anchor-has-content */\r\n/* eslint-disable jsx-a11y/anchor-is-valid */\r\n/* eslint-disable jsx-a11y/click-events-have-key-events */\r\nimport React, { Component } from 'react';\r\nimport '../../../scss/custom.scss';\r\nimport PropTypes from 'prop-types';\r\nimport { TabsSkeleton } from 'carbon-components-react';\r\nimport MeRepository from '../../../helpers/api/MeRepository';\r\n\r\nexport default class DivisionsTab extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n items: [],\r\n tabSelected: this.props.selectedTab ? this.props.selectedTab : 1 ,\r\n };\r\n this.onSelectionChange = this.onSelectionChange.bind(this);\r\n this.tabs = this.tabs.bind(this);\r\n }\r\n\r\n async componentDidMount() {\r\n const items = await this.getItems();\r\n this.setState({ items, loading: false, selectedTab: 2 });\r\n }\r\n\r\n\r\n onSelectionChange = (event) => {\r\n event.preventDefault();\r\n const selectedIndex = parseInt(event.target.id, 10);\r\n //const selectedIndex = event.target.id;\r\n this.setState({ tabSelected: selectedIndex });\r\n this.props.onSelectedTab(this.state.items[selectedIndex - 1].id,selectedIndex);\r\n };\r\n\r\n getItems = async () => {\r\n let items = [];\r\n items.unshift({ id: null, name: 'GLOBAL' });\r\n try {\r\n items = items.concat(await MeRepository.getDivisions());\r\n } catch (error) {\r\n console.error(error);\r\n this.props.onError(error);\r\n }\r\n return items;\r\n };\r\n\r\n li = (items, index) =>\r\n items.map((item, k) => (\r\n \r\n \r\n {item.name}\r\n \r\n \r\n ));\r\n\r\n tabs = () => {\r\n const divisionTabs = [];\r\n const { items } = this.state;\r\n const totalElement = items.length;\r\n const maxRowElement = 5;\r\n const rows = Math.ceil(totalElement / maxRowElement);\r\n let startIndex = 0;\r\n for (let i = 0; i < rows; i += 1) {\r\n const endIndex = startIndex + maxRowElement;\r\n const rowItems = items.slice(startIndex, endIndex);\r\n const separator =
    ;\r\n\r\n const slide = (\r\n
      \r\n {this.li(rowItems, i * maxRowElement)}\r\n
    \r\n );\r\n startIndex = endIndex;\r\n\r\n divisionTabs.push(slide);\r\n if (startIndex > 0) divisionTabs.push(separator);\r\n }\r\n return divisionTabs;\r\n };\r\n\r\n render() {\r\n return (\r\n
    \r\n {this.state.loading ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\nDivisionsTab.propTypes = {\r\n selectedTab: PropTypes.number,\r\n onSelectedTab: PropTypes.func.isRequired,\r\n onError: PropTypes.func.isRequired\r\n};\r\nDivisionsTab.defaultProps = {\r\n selectedTab: 1\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport { ComboBox, DropdownSkeleton } from 'carbon-components-react';\r\nimport PropTypes from 'prop-types';\r\nimport AuditRepository from '../../../helpers/api/AuditRepository';\r\n\r\nexport default class AuditStatusComboBox extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n items: []\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n this.repository = new AuditRepository();\r\n }\r\n\r\n async componentDidMount() {\r\n this.setState({ loading: true });\r\n const items = await this.getItems();\r\n this.setState({ items, loading: false });\r\n }\r\n\r\n onChange = (selectedItem) => {\r\n const item = selectedItem ? selectedItem.selectedItem : null;\r\n this.props.onChange(item);\r\n };\r\n\r\n getItems = async () => {\r\n let items = [];\r\n\r\n try {\r\n items = await this.repository.getStatuses();\r\n } catch (error) {\r\n console.error(error);\r\n this.props.onError(error);\r\n }\r\n return items;\r\n };\r\n\r\n render() {\r\n return this.state.loading ? (\r\n \r\n ) : (\r\n s.id !== 3)}\r\n onChange={this.onChange}\r\n shouldFilterItem={({ item, inputValue }) =>\r\n item.reportingName?.toLowerCase().includes(inputValue?.toLowerCase())\r\n }\r\n itemToString={(item) => (item ? item && item.reportingName : '')}\r\n initialSelectedItem={this.props.initialSelectedItem}\r\n />\r\n );\r\n }\r\n}\r\n\r\nAuditStatusComboBox.propTypes = {\r\n onChange: PropTypes.func.isRequired,\r\n onError: PropTypes.func.isRequired,\r\n initialSelectedItem: PropTypes.object,\r\n disabled: PropTypes.bool\r\n};\r\nAuditStatusComboBox.defaultProps = {\r\n initialSelectedItem: null,\r\n disabled: true\r\n};\r\n","import React, { Component } from 'react';\r\nimport { ComboBox, DropdownSkeleton } from 'carbon-components-react';\r\nimport PropTypes from 'prop-types';\r\nimport { api } from '../../../helpers/api/api';\r\n\r\nexport default class DataApproverComboBox extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n items: []\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n async componentDidMount() {\r\n this.setState({ loading: true });\r\n const items = await this.getItems();\r\n this.setState({ items, loading: false });\r\n }\r\n\r\n onChange = (selectedItem) => {\r\n const item = selectedItem ? selectedItem.selectedItem : null;\r\n this.props.onChange(item);\r\n };\r\n\r\n getItems = async () => {\r\n let items = [];\r\n\r\n try {\r\n items = (await api.getAll('/audit/approvers')).data;\r\n } catch (error) {\r\n console.error(error);\r\n this.props.onError(error);\r\n }\r\n return items;\r\n };\r\n\r\n render() {\r\n return this.state.loading ? (\r\n \r\n ) : (\r\n \r\n item.fullName.toLowerCase().includes(inputValue.toLowerCase()) ||\r\n item.userName.toLowerCase().includes(inputValue.toLowerCase())\r\n }\r\n itemToString={(item) => (item ? item && item.name : '')}\r\n />\r\n );\r\n }\r\n}\r\n\r\nDataApproverComboBox.propTypes = {\r\n onChange: PropTypes.func.isRequired,\r\n onError: PropTypes.func.isRequired\r\n};\r\nDataApproverComboBox.defaultProps = {};\r\n","/* eslint-disable react/prop-types */\r\n/* eslint-disable import/prefer-default-export */\r\n// eslint-disable-next-line no-unused-vars\r\nimport {\r\n ComboBox,\r\n Button,\r\n FormLabel,\r\n DropdownSkeleton,\r\n Loading,\r\n TextArea,\r\n ComposedModal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n FormGroup,\r\n} from 'carbon-components-react';\r\nimport React from 'react';\r\nimport { Offline, Online } from '../../common/OnLineOffLine';\r\n\r\nexport const AuditDeleteRequest = (props) => {\r\n const isConfirmButtonDisabled = () => props.approver == null || props.auditCancellationReason == null; //RITM0946162\r\n\r\n return (\r\n false}\r\n >\r\n \r\n\r\n \r\n
    \r\n {props.isLoadingOptions ? (\r\n \r\n ) : (\r\n
    \r\n
    \r\n
    \r\n \r\n Administrator*\r\n \r\n item ? `${item.name} ${item.surname} (${item.email})` : ''\r\n }\r\n itemToElement={(item) =>\r\n item ? `${`${item.name} ${item.surname} (${item.email})`} ` : ''\r\n }\r\n onChange={({ selectedItem }) => props.onApproverSelect(selectedItem)}\r\n />\r\n \r\n
    \r\n
    \r\n {/* RITM0946162 */}\r\n
    \r\n
    \r\n \r\n Reasons for change*\r\n \r\n item ? `${item.name}` : ''\r\n }\r\n itemToElement={(item) =>\r\n item ? `${`${item.name}`} ` : ''\r\n }\r\n onChange={({ selectedItem }) => props.onReasonForAuditCancellationSelect(selectedItem)}\r\n />\r\n \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n \r\n Reasons for change*\r\n \r\n \r\n
    \r\n
    */}\r\n {/* End */}\r\n
    \r\n )}\r\n
    \r\n\r\n
    \r\n
    \r\n
      \r\n {props.validationMessages.map((e) => (\r\n
    • \r\n {e}\r\n
    • \r\n ))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Confirm\r\n \r\n \r\n \r\n \r\n \r\n \r\n {!props.isLoadingOperation ? null : }\r\n \r\n );\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport { ComboBox, DropdownSkeleton } from 'carbon-components-react';\r\nimport PropTypes from 'prop-types';\r\nimport AuditRepository from '../../../helpers/api/AuditRepository';\r\n\r\nexport default class AuditPlanStatusComboBox extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n items: [],\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n this.repository = new AuditRepository();\r\n }\r\n\r\n async componentDidMount() {\r\n this.setState({ loading: true });\r\n const items = (await this.getItems());\r\n this.setState({ items, loading: false });\r\n }\r\n\r\n onChange = (selectedItem) => {\r\n const item = selectedItem ? selectedItem.selectedItem : null;\r\n this.props.onChange(item);\r\n };\r\n\r\n getItems = async () => {\r\n let items = [];\r\n\r\n try {\r\n items = await this.repository.getStatuses();\r\n } catch (error) {\r\n console.error(error);\r\n this.props.onError(error);\r\n }\r\n return items;\r\n };\r\n\r\n render() {\r\n return this.state.loading ? (\r\n \r\n ) : (\r\n \r\n item.planningName?.toLowerCase().includes(inputValue?.toLowerCase())\r\n }\r\n itemToString={(item) => (item ? item && item.planningName : '')}\r\n initialSelectedItem={this.props.initialSelectedItem}\r\n />\r\n );\r\n }\r\n}\r\n\r\nAuditPlanStatusComboBox.propTypes = {\r\n onChange: PropTypes.func.isRequired,\r\n onError: PropTypes.func.isRequired,\r\n initialSelectedItem: PropTypes.object,\r\n disabled: PropTypes.bool,\r\n};\r\nAuditPlanStatusComboBox.defaultProps = {\r\n initialSelectedItem: null,\r\n disabled: true,\r\n};\r\n","import React, { Component } from \"react\";\r\nimport { ComboBox, DropdownSkeleton } from \"carbon-components-react\";\r\nimport PropTypes from \"prop-types\";\r\nimport MeRepository from \"../../../helpers/api/MeRepository\";\r\n\r\nexport default class OnBehalfDivisionComboBox extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\tloading: false,\r\n\t\t\titems: [],\r\n\t\t};\r\n\t\tthis.onChange = this.onChange.bind(this);\r\n\t}\r\n\r\n\tasync componentDidMount() {\r\n\t\tthis.setState({ loading: true });\r\n\t\tconst items = await this.getItems();\r\n\t\tthis.setState({ items, loading: false });\r\n\t\t//if (this.props.selectedItem?.id == null) this.props.onChange(items[0]);\r\n\t}\r\n\r\n\tonChange = (selectedItem) => {\r\n\t\tconst item = selectedItem ? selectedItem.selectedItem : null;\r\n\t\tthis.props.onChange(item);\r\n\t};\r\n\r\n\tgetItems = async () => {\r\n\t\tlet items = [];\r\n\r\n\t\ttry {\r\n\t\t\t// se lo chiamo dai filtri della tabella Audit getDivisions per avere solo le division abilitate all'utente, altrimenti getAllDivisions per averle tutte\r\n\t\t\titems = this.props.getMyDivision ? await MeRepository.getDivisions() : await MeRepository.getAllDivisions();\r\n\t\t} catch (error) {\r\n\t\t\tconsole.error(error);\r\n\t\t\tthis.props.onError(error);\r\n\t\t}\r\n\t\treturn items;\r\n\t};\r\n\r\n\trender() {\r\n\t\treturn this.state.loading ? (\r\n\t\t\t\r\n\t\t) : (\r\n\t\t\t item.name.toLowerCase().includes(inputValue.toLowerCase()) || item.code.toLowerCase().includes(inputValue.toLowerCase())}\r\n\t\t\t\titemToString={(item) => (item ? item && item.name : \"\")}\r\n\t\t\t\tselectedItem={this.props.selectedItem ?? this.state.items[0]}\r\n\t\t\t/>\r\n\t\t);\r\n\t}\r\n}\r\n\r\nOnBehalfDivisionComboBox.propTypes = {\r\n\tinvalid: PropTypes.bool,\r\n\tinvalidText: PropTypes.string,\r\n\tonChange: PropTypes.func.isRequired,\r\n\tonError: PropTypes.func.isRequired,\r\n\tselectedItem: PropTypes.object,\r\n\tdisabled: PropTypes.bool,\r\n};\r\nOnBehalfDivisionComboBox.defaultProps = {\r\n\tinvalid: false,\r\n\tinvalidText: \"\",\r\n\tselectedItem: null,\r\n\tdisabled: true,\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from \"react\";\r\nimport { DropdownSkeleton, ComboBox } from \"carbon-components-react\";\r\nimport PropTypes from \"prop-types\";\r\nimport AuditRepository from \"../../../helpers/api/AuditRepository\";\r\nimport MeRepository from \"../../../helpers/api/MeRepository\";\r\n\r\nexport default class OnBehalfProjectComboBox extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\tloading: false,\r\n\t\t\titems: [],\r\n\t\t};\r\n\t\tthis.onChange = this.onChange.bind(this);\r\n\t\tthis.repository = new AuditRepository();\r\n\t}\r\n\r\n\tasync componentDidMount() {\r\n\t\tif (!this.props.company) return;\r\n\t\tthis.setState({ loading: true });\r\n\t\tconst items = await this.getItems();\r\n\t\tthis.setState({ items, loading: false });\r\n\t}\r\n\r\n\tonChange = (selectedItem) => {\r\n\t\tconst item = selectedItem ? selectedItem.selectedItem : null;\r\n\t\tthis.props.onChange(item);\r\n\t};\r\n\r\n\tgetItems = async () => {\r\n\t\tlet items = [];\r\n\r\n\t\ttry {\r\n\t\t\t//RITM0544059 quando chiamo il componente dalla tabella gli passo \"ALL\" per avere tutti i project a me abilitati.\r\n\t\t\titems = await MeRepository.getProjects(this.props.company === \"ALL\" ? null : this.props.company);\r\n\t\t} catch (error) {\r\n\t\t\tconsole.error(error);\r\n\t\t\tthis.props.onError(error);\r\n\t\t}\r\n\t\treturn items;\r\n\t};\r\n\r\n\trender() {\r\n\t\treturn this.state.loading ? (\r\n\t\t\t\r\n\t\t) : (\r\n\t\t\t item.name.toLowerCase().includes(inputValue.toLowerCase()) || item.code.toLowerCase().includes(inputValue.toLowerCase())}\r\n\t\t\t\titemToString={(item) => (item ? item && item.name : \"\")}\r\n\t\t\t\tselectedItem={this.props.selectedItem}\r\n\t\t\t/>\r\n\t\t);\r\n\t}\r\n}\r\n\r\nOnBehalfProjectComboBox.propTypes = {\r\n\tcompany: PropTypes.string,\r\n\tinvalid: PropTypes.bool,\r\n\tinvalidText: PropTypes.string,\r\n\tonChange: PropTypes.func.isRequired,\r\n\tonError: PropTypes.func.isRequired,\r\n\tselectedItem: PropTypes.object,\r\n\tdisabled: PropTypes.bool,\r\n};\r\nOnBehalfProjectComboBox.defaultProps = {\r\n\tcompany: null,\r\n\tinvalid: false,\r\n\tinvalidText: \"\",\r\n\tselectedItem: null,\r\n\tdisabled: true,\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport { MultiSelect, DropdownSkeleton } from 'carbon-components-react';\r\nimport PropTypes from 'prop-types';\r\nimport AuditRepository from '../../../helpers/api/AuditRepository';\r\n\r\nexport default class CountryMultiSelect extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n items: [],\r\n selectedItems: [],\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n this.repository = new AuditRepository();\r\n }\r\n\r\n async componentDidMount() {\r\n this.setState({ loading: true });\r\n const items = await this.getItems();\r\n this.setState({ items, selectedItems: this.props.initialSelectedItems, loading: false });\r\n }\r\n\r\n onChange = (selectedItem) => {\r\n const items = selectedItem ? selectedItem.selectedItems : null;\r\n this.setState({\r\n selectedItems: items,\r\n });\r\n this.props.onChange(items);\r\n };\r\n\r\n getItems = async () => {\r\n let items = [];\r\n try {\r\n items = await this.repository.getCountries();\r\n } catch (error) {\r\n console.error(error);\r\n this.props.onError(error);\r\n }\r\n return items;\r\n };\r\n\r\n render() {\r\n return this.state.loading ? (\r\n \r\n ) : (\r\n elem.name).join(', ')\r\n }\r\n itemToString={(item) => (item ? item && item.name : '')}\r\n items={this.state.items}\r\n light={false}\r\n onChange={this.onChange}\r\n type=\"default\"\r\n initialSelectedItems={this.props.initialSelectedItems}\r\n />\r\n );\r\n }\r\n}\r\n\r\nCountryMultiSelect.propTypes = {\r\n invalid: PropTypes.bool,\r\n invalidText: PropTypes.string,\r\n onChange: PropTypes.func.isRequired,\r\n onError: PropTypes.func.isRequired,\r\n initialSelectedItems: PropTypes.array,\r\n disabled: PropTypes.bool,\r\n};\r\nCountryMultiSelect.defaultProps = {\r\n invalid: false,\r\n invalidText: '',\r\n initialSelectedItems: [],\r\n disabled: true,\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport { MultiSelect, DropdownSkeleton } from 'carbon-components-react';\r\nimport PropTypes from 'prop-types';\r\n// import AuditRepository from '../../../helpers/api/AuditRepository';\r\nimport MeRepository from \"../../../helpers/api/MeRepository\";\r\n\r\nexport default class ProjectAuditeeyMultiSelect extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n items: [],\r\n selectedItems: [],\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n// this.repository = new AuditRepository();\r\n }\r\n\r\n async componentDidMount() {\r\n this.setState({ loading: true });\r\n const items = await this.getItems();\r\n this.setState({ items, selectedItems: this.props.initialSelectedItems, loading: false });\r\n }\r\n\r\n onChange = (selectedItem) => {\r\n const items = selectedItem ? selectedItem.selectedItems : null;\r\n this.setState({\r\n selectedItems: items,\r\n });\r\n this.props.onChange(items);\r\n };\r\n\r\n getItems = async () => {\r\n let items = [];\r\n try {\r\n items = await MeRepository.getProjects(null);\r\n } catch (error) {\r\n console.error(error);\r\n this.props.onError(error);\r\n }\r\n return items;\r\n };\r\n\r\n render() {\r\n return this.state.loading ? (\r\n \r\n ) : (\r\n elem.name).join(', ')\r\n }\r\n itemToString={(item) => (item ? item && item.name : '')}\r\n items={this.state.items}\r\n light={false}\r\n onChange={this.onChange}\r\n type=\"default\"\r\n initialSelectedItems={this.props.initialSelectedItems}\r\n />\r\n );\r\n }\r\n}\r\n\r\nProjectAuditeeyMultiSelect.propTypes = {\r\n invalid: PropTypes.bool,\r\n invalidText: PropTypes.string,\r\n onChange: PropTypes.func.isRequired,\r\n onError: PropTypes.func.isRequired,\r\n initialSelectedItems: PropTypes.array,\r\n disabled: PropTypes.bool,\r\n};\r\nProjectAuditeeyMultiSelect.defaultProps = {\r\n invalid: false,\r\n invalidText: '',\r\n initialSelectedItems: [],\r\n disabled: true,\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport { ComboBox, DropdownSkeleton } from 'carbon-components-react';\r\nimport PropTypes from 'prop-types';\r\nimport AuditRepository from '../../../helpers/api/AuditRepository';\r\n\r\nexport default class AuditRemoteComboBox extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n items: []\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n this.repository = new AuditRepository();\r\n }\r\n\r\n async componentDidMount() {\r\n this.setState({ loading: true });\r\n const items = await this.getItems();\r\n this.setState({ items, loading: false });\r\n }\r\n\r\n onChange = (selectedItem) => {\r\n const item = selectedItem ? selectedItem.selectedItem : null;\r\n this.props.onChange(item);\r\n };\r\n\r\n getItems = async () => {\r\n let items = [{id: 'Yes', name: 'Yes', value: 'true'}, {id: 'No', name: 'No', value: 'false'}];\r\n return items;\r\n };\r\n\r\n render() {\r\n return this.state.loading ? (\r\n \r\n ) : (\r\n \r\n item.name?.toLowerCase().includes(inputValue?.toLowerCase())\r\n }\r\n itemToString={(item) => (item ? item && item.name : '')}\r\n initialSelectedItem={this.props.initialSelectedItem}\r\n />\r\n );\r\n }\r\n}\r\n\r\nAuditRemoteComboBox.propTypes = {\r\n onChange: PropTypes.func.isRequired,\r\n onError: PropTypes.func.isRequired,\r\n initialSelectedItem: PropTypes.object,\r\n disabled: PropTypes.bool\r\n};\r\nAuditRemoteComboBox.defaultProps = {\r\n initialSelectedItem: null,\r\n disabled: true\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport { MultiSelect, DropdownSkeleton } from 'carbon-components-react';\r\nimport PropTypes from 'prop-types';\r\nimport AuditRepository from '../../../helpers/api/AuditRepository';\r\n\r\nexport default class SubContractorMultiSelect extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n items: [],\r\n selectedItems: [],\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n this.repository = new AuditRepository();\r\n }\r\n\r\n async componentDidMount() {\r\n this.setState({ loading: true });\r\n const items = await this.getItems();\r\n this.setState({ items, selectedItems: this.props.initialSelectedItems, loading: false });\r\n }\r\n\r\n onChange = (selectedItem) => {\r\n const items = selectedItem ? selectedItem.selectedItems : null;\r\n this.setState({\r\n selectedItems: items,\r\n });\r\n this.props.onChange(items);\r\n };\r\n\r\n getItems = async () => {\r\n let items = [];\r\n try {\r\n items = await this.repository.getSubcontractors();\r\n } catch (error) {\r\n console.error(error);\r\n this.props.onError(error);\r\n }\r\n return items;\r\n };\r\n\r\n render() {\r\n return this.state.loading ? (\r\n \r\n ) : (\r\n elem.name).join(', ')\r\n }\r\n itemToString={(item) => (item ? item && item.name : '')}\r\n items={this.state.items}\r\n light={false}\r\n onChange={this.onChange}\r\n type=\"default\"\r\n initialSelectedItems={this.props.initialSelectedItems}\r\n />\r\n );\r\n }\r\n}\r\n\r\nSubContractorMultiSelect.propTypes = {\r\n invalid: PropTypes.bool,\r\n invalidText: PropTypes.string,\r\n onChange: PropTypes.func.isRequired,\r\n onError: PropTypes.func.isRequired,\r\n initialSelectedItems: PropTypes.array,\r\n disabled: PropTypes.bool,\r\n};\r\nSubContractorMultiSelect.defaultProps = {\r\n invalid: false,\r\n invalidText: '',\r\n initialSelectedItems: [],\r\n disabled: true,\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport { MultiSelect, DropdownSkeleton } from 'carbon-components-react';\r\nimport PropTypes from 'prop-types';\r\nimport AuditRepository from '../../../helpers/api/AuditRepository';\r\nimport { api } from '../../../helpers/api/api';\r\nimport showNotification from '../../../helpers/notification/BaseNotification';\r\nimport { apioperation, entitiesLabels, getError } from '../../../helpers/Constants';\r\n\r\nexport default class PurchaseOrderMultiSelect extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n items: [],\r\n selectedItems: [],\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n this.repository = new AuditRepository();\r\n }\r\n\r\n componentDidMount = () => { \r\n this.getItems();\r\n }\r\n\r\n onChange = (selectedItem) => {\r\n const items = selectedItem ? selectedItem.selectedItems : null;\r\n this.setState({\r\n selectedItems: items,\r\n });\r\n this.props.onChange(items);\r\n };\r\n\r\n getItems = () => {\r\n this.setState({ loading: true });\r\n\r\n api.getAll('/audit/getpurchaseorders')\r\n .then((response) => {\r\n const { data } = response;\r\n this.setState({\r\n items: data,\r\n selectedItems: this.props.initialSelectedItems,\r\n }); \r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.PURCHASEORDERS, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n loading: false\r\n });\r\n });\r\n }\r\n\r\n render() {\r\n return this.state.loading ? (\r\n \r\n ) : (\r\n elem.name).join(', ')\r\n }\r\n itemToString={(item) => (item ? item && item.name : '')}\r\n items={this.state.items}\r\n light={false}\r\n onChange={this.onChange}\r\n type=\"default\"\r\n initialSelectedItems={this.props.initialSelectedItems}\r\n />\r\n );\r\n }\r\n}\r\n\r\nPurchaseOrderMultiSelect.propTypes = {\r\n invalid: PropTypes.bool,\r\n invalidText: PropTypes.string,\r\n onChange: PropTypes.func.isRequired,\r\n onError: PropTypes.func.isRequired,\r\n initialSelectedItems: PropTypes.array,\r\n disabled: PropTypes.bool,\r\n};\r\nPurchaseOrderMultiSelect.defaultProps = {\r\n invalid: false,\r\n invalidText: '',\r\n initialSelectedItems: [],\r\n disabled: true,\r\n};\r\n","/* eslint-disable react/sort-comp */\r\n/* eslint-disable react/jsx-props-no-spreading */\r\n/* eslint-disable react/forbid-prop-types */\r\n/* eslint-disable jsx-a11y/click-events-have-key-events */\r\nimport React, { Component } from \"react\";\r\nimport {\r\n\tDataTable,\r\n\tTableContainer,\r\n\tTable,\r\n\tTableHead,\r\n\tTableRow,\r\n\tTableBody,\r\n\tTableCell,\r\n\tTableHeader,\r\n\tTableSelectRow,\r\n\tTableToolbar,\r\n\tTableToolbarContent,\r\n\tTableBatchActions,\r\n\tTableBatchAction,\r\n\tLoading,\r\n\tTableSelectAll,\r\n\tButton,\r\n\tFormGroup,\r\n\tFormLabel,\r\n\tTextInput,\r\n\tMultiSelect,\r\n\tDropdownSkeleton,\r\n\tDataTableSkeleton,\r\n\tPagination,\r\n\tTextInputSkeleton,\r\n\tSkeletonPlaceholder,\r\n\tTooltipDefinition,\r\n\tTooltipDefinitionProps\r\n} from \"carbon-components-react\";\r\nimport moment from \"moment\";\r\nimport PropTypes from \"prop-types\";\r\nimport Add16 from \"@carbon/icons-react/lib/add/16\";\r\nimport Edit16 from \"@carbon/icons-react/lib/edit/16\";\r\nimport Error16 from \"@carbon/icons-react/lib/error/16\";\r\nimport Data16 from \"@carbon/icons-react/lib/data--1/16\";\r\nimport Send16 from \"@carbon/icons-react/lib/send/16\";\r\nimport Close16 from \"@carbon/icons-react/lib/close/16\";\r\nimport Delete16 from \"@carbon/icons-react/lib/delete/16\";\r\nimport Task16 from \"@carbon/icons-react/lib/task/16\";\r\nimport Report16 from \"@carbon/icons-react/lib/report/16\";\r\nimport ExportDoc16 from \"@carbon/icons-react/lib/document--export/16\";\r\nimport Archive16 from \"@carbon/icons-react/lib/archive/16\";\r\nimport Download16 from \"@carbon/icons-react/lib/download/16\";\r\nimport DocumentDownload16 from \"@carbon/icons-react/lib/document--download/16\";\r\nimport Printer from \"@carbon/icons-react/lib/printer/16\";\r\n\r\nimport CheckmarkOutline16 from \"@carbon/icons-react/lib/checkmark--outline/16\";\r\nimport SimpleReactValidator from \"simple-react-validator\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { api, me, dynamic } from \"../../../helpers/api/api\"; //RITM0946162\r\nimport AuditTypeComboBox from \"./AuditTypeComboBox\";\r\nimport AuditScopeMultiSelect from \"./AuditScopeMultiSelect\";\r\nimport AuditTargetDropDown from \"./AuditTargetDropDown\";\r\nimport AuditStatusComboBox from \"./AuditStatusComboBox\";\r\nimport WorkSiteMultiSelect from \"./WorkSiteMultiSelect\";\r\nimport { WFActionModal } from \"../../common/WFActionModal\";\r\nimport { showNotification } from \"../../../helpers/notification/BaseNotification\";\r\nimport { CanExecuteAction, IsInRole } from \"../../../helpers/authorization/Policies\";\r\nimport { AppContext } from \"../../../helpers/context/AppContext\";\r\nimport { getError, STATUS, getSuccess, apioperation, entitiesLabels, sizeFormat } from \"../../../helpers/Constants\";\r\nimport DataApproverComboBox from \"./DataApproverComboBox\";\r\nimport { NoRecordsPlaceholder } from \"../../../helpers/jsonschemaform/DataTableExtention\";\r\nimport { StatusTag } from \"../../../helpers/PageBreadCrumb\";\r\nimport { Online, Offline } from \"../../common/OnLineOffLine\";\r\nimport FileDownLoadButton from \"../../common/FileDownloadButton\";\r\nimport { AuditDeleteRequest } from \"./AuditDeleteRequest\";\r\nimport AuditPlanStatusComboBox from \"./AuditPlanStatusComboBox\";\r\nimport SectionComboBox from \"./SectionComboBox\";\r\nimport AuditorComboBox from \"./AuditorComboBox\";\r\nimport OnBehalfDivisionComboBox from \"./OnBehalfDivisionComboBox\";\r\nimport CompanyComboBox from \"./CompanyComboBox\";\r\nimport OnBehalfProjectComboBox from \"./OnBehalfProjectComboBox\";\r\nimport ReasonForSamplingMultiSelect from \"./ReasonForSamplingMultiSelect\";\r\nimport CountryMultiSelect from \"./CountryMultiSelect\";\r\nimport ProjectAuditeeyMultiSelect from \"./ProjectAuditeeMultiSelect\";\r\nimport AuditRemoteComboBox from \"./AuditRemoteComboBox\";\r\nimport SubContractorMultiSelect from \"./SubContractorMultiSelect\";\r\nimport PurchaseOrderMultiSelect from \"./PurchaseOrderMultiSelect\";\r\n\r\nexport default class AuditMultiSelectDataTable extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\tisApprovalModalOpen: false,\r\n\t\t\tisDeleteRequestModalOpen: false,\r\n\t\t\tapprovalModalAction: \"\",\r\n\t\t\tapprover: null,\r\n\r\n\t\t\tisLoadingApproverOptions: true,\r\n\t\t\tapprovalValidationMessages: [],\r\n\t\t\tapprovers: [],\r\n\t\t\tselectedData: [],\r\n\t\t\tapproverRole: \"\",\r\n\t\t\twithApprover: true,\r\n\t\t\tisLoadingWFOperation: false,\r\n\t\t\tapprovalNotesRequired: false,\r\n\t\t\tapprovalNotes: null,\r\n\t\t\t// itemList: this.props.audits,\r\n\t\t\tisLoadingFile: false,\r\n\t\t\t// filteredAudits: props.allYearAudits,\r\n\t\t\t// itemsInMonths: props.itemsInMonths,\r\n\t\t\t// totalItems: props.totalItems,\r\n\t\t\tshowFilters: props.showFilters,\r\n\t\t\t// filteredMonth: null,\r\n\r\n\t\t\tselectedApprover: {},\r\n\t\t\tmodalDeleteVisible: false,\r\n\t\t\tmodalSubmitVisible: false,\r\n\t\t\tisSubmitted: false,\r\n\r\n\t\t\t//#region RITM0646764 Estrazione Massiva Audit\r\n\t\t\tmodalMassiveExtractionVisible: false,\r\n\t\t\tisLoadingModalMassiveExtraction: false,\r\n\t\t\tisLoadingTableMassiveExtraction: false,\r\n\t\t\tisLoadingDownloadMassiveExtraction: false,\r\n\t\t\tselectedCountriesMassiveExtraction: [],\r\n\t\t\tselectedBusinessLinesMassiveExtraction: [],\r\n\t\t\tcountriesMassiveExtraction: [],\r\n\t\t\tbusinessLinesMassiveExtraction: [],\r\n\t\t\tauditsMassiveExtraction: [],\r\n\t\t\tvalidatorCountriesMassiveExtraction: null,\r\n\t\t\tvalidatorBusinessLinesMassiveExtraction: null,\r\n\t\t\tcurrentPageMassiveExtractionTable: 1,\r\n\t\t\ttotalAuditsMassiveExtractionTable: 0,\r\n\t\t\tpageSizeMassiveExtractionTable: 5,\r\n\t\t\treasonForAuditCancellation: [], //RITM0946162\r\n\t\t\tauditCancellationReason: null, //RITM0946162\r\n\t\t\t//#endregion\r\n\t\t};\r\n\t\tthis.showFilters = this.showFilters.bind(this);\r\n\t\tthis.onMonthFilter = this.onMonthFilter.bind(this);\r\n\r\n\t\tthis.onSelectAuditTypeChange = this.onSelectAuditTypeChange.bind(this);\r\n\t\tthis.onSelectStatusChange = this.onSelectStatusChange.bind(this);\r\n\t\tthis.onSelectPlanStatusChange = this.onSelectPlanStatusChange.bind(this);\r\n\t\tthis.onSelectAuditRemoteChange = this.onSelectAuditRemoteChange.bind(this);\r\n\t\tthis.onSelectWorkSiteChange = this.onSelectWorkSiteChange.bind(this);\r\n\t\tthis.onSelectTargetChange = this.onSelectTargetChange.bind(this);\r\n\t\tthis.onSelectScopeChange = this.onSelectScopeChange.bind(this);\r\n\t\tthis.onSelectReasonChange = this.onSelectReasonChange.bind(this);\r\n\t\tthis.onSelectCountryChange = this.onSelectCountryChange.bind(this);\r\n\t\tthis.onSelectProjectAuditeeChange = this.onSelectProjectAuditeeChange.bind(this);\r\n\t\tthis.onSelectSubContractorChange = this.onSelectSubContractorChange.bind(this);\r\n\t\t// this.handleDeleteClose = this.handleDeleteClose.bind(this);\r\n\t\t// this.handleDeleteSubmit = this.handleDeleteSubmit.bind(this);\r\n\t\t// this.batchActionDelete = this.batchActionDelete.bind(this);\r\n\t\t// this.batchActionSubmit = this.batchActionSubmit.bind(this);\r\n\t\t// this.handleStatusSubmitClose = this.handleStatusSubmitClose.bind(this);\r\n\t\t// this.handleStatusSubmit = this.handleStatusSubmit.bind(this);\r\n\t\tthis.onSelectDataApproverChange = this.onSelectDataApproverChange.bind(this);\r\n\t\tthis.renderLoadingModal = this.renderLoadingModal.bind(this);\r\n\t\t// this.isRequestCancellationPending = this.isRequestCancellationPending.bind(this);\r\n\t\tthis.validator = new SimpleReactValidator();\r\n\r\n\t\tthis.validations = {\r\n\t\t\tdataApprover: this.validator.message(\"dataApprover\", this.state.selectedApprover.id, \"required\"),\r\n\t\t};\r\n\t}\r\n\r\n\tDownloadAuditNotification(auditId) {\r\n\t\tthis.setState({ isLoadingFile: true });\r\n\t\tapi.getWithParam(`/audit/${auditId}/export`, { responseType: \"arraybuffer\" })\r\n\t\t\t.then((response) => {\r\n\t\t\t\tconst data = new Blob([response.data], { type: \"application/pdf\" });\r\n\t\t\t\tconst csvURL = window.URL.createObjectURL(data);\r\n\t\t\t\tconst tempLink = document.createElement(\"a\");\r\n\t\t\t\ttempLink.href = csvURL;\r\n\t\t\t\tconst auditCode = this.props.audits.find((i) => i.id === auditId);\r\n\t\t\t\tconst nomefile = `Audit_Notification_${auditCode.auditCode}.zip`;\r\n\t\t\t\ttempLink.setAttribute(\"download\", nomefile);\r\n\t\t\t\tdocument.body.appendChild(tempLink);\r\n\t\t\t\ttempLink.click();\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(getError(error, entitiesLabels.INCIDENT_NOTIFICATION, apioperation.DOWNLOAD));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({ isLoadingFile: false });\r\n\t\t\t});\r\n\t}\r\n\r\n\tDownloadAuditReport(auditId) {\r\n\t\tthis.setState({ isLoadingFile: true });\r\n\t\tapi.getWithParam(`/audit/${auditId}/exportreport`, { responseType: \"arraybuffer\" })\r\n\t\t\t.then((response) => {\r\n\t\t\t\tconst data = new Blob([response.data], { type: \"application/pdf\" });\r\n\t\t\t\tconst csvURL = window.URL.createObjectURL(data);\r\n\t\t\t\tconst tempLink = document.createElement(\"a\");\r\n\t\t\t\ttempLink.href = csvURL;\r\n\t\t\t\tconst auditCode = this.props.audits.find((i) => i.id === auditId);\r\n\t\t\t\tconst nomefile = `Audit_Report_${auditCode.auditCode}.zip`;\r\n\t\t\t\ttempLink.setAttribute(\"download\", nomefile);\r\n\t\t\t\tdocument.body.appendChild(tempLink);\r\n\t\t\t\ttempLink.click();\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(getError(error, entitiesLabels.INCIDENT_NOTIFICATION, apioperation.DOWNLOAD));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({ isLoadingFile: false });\r\n\t\t\t});\r\n\t}\r\n\r\n\t// static getDerivedStateFromProps() {\r\n\t// // Any time the current user changes,\r\n\t// // Reset any parts of state that are tied to that user.\r\n\t// // In this simple example, that's just the email.\r\n\t// // if (props.allYearAudits !== state.filteredAudits) {\r\n\t// // return {\r\n\t// // filteredAudits: props.allYearAudits,\r\n\t// // };\r\n\t// // }\r\n\t// // if (props.itemsInMonths !== state.itemsInMonths) {\r\n\t// // return {\r\n\t// // itemsInMonths: props.itemsInMonths,\r\n\t// // };\r\n\t// // }\r\n\r\n\t// return null;\r\n\t// }\r\n\r\n\trenderFilters = () =>\r\n\t\t//
    \r\n\t\tthis.state.showFilters && (\r\n\t\t\t<>\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{/*RITM0544059*/}\r\n\t\t\t\t\t\tSection\r\n\t\t\t\t\t\t {\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.SECTION, apioperation.GET))}}\r\n\t\t\t\t\t\t\tselectedItem={this.props.selectedSection}\r\n\t\t\t\t\t\t\tdisabled={false}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tAudit Criteria\r\n\t\t\t\t\t\t {}} initialSelectedItems={this.props.selectedScopes} loadAll disabled={false} />\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tTarget\r\n\t\t\t\t\t\t {}} initialSelectedItem={this.props.selectedTarget} loadAll disabled={false} />\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tType\r\n\t\t\t\t\t\t {}} initialSelectedItem={this.props.selectedAuditType} loadAll disabled={false} />\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\tProgram Status\r\n\t\t\t\t\t\t {}} initialSelectedItem={this.props.selectedPlanStatus} loadAll disabled={false} />\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tReport Status\r\n\t\t\t\t\t\t {}} initialSelectedItem={this.props.selectedStatus} loadAll disabled={false} />\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tWorksite\r\n\t\t\t\t\t\t {}} loadAll initialSelectedItems={this.props.selectedWorkSites} disabled={false} />\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tReason for Sampling\r\n\t\t\t\t\t\t {}} initialSelectedItems={this.props.selectedReasons} filter disabled={false} />\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t
    \r\n\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{/*RITM0544059*/}\r\n\t\t\t\t\t\tLead Auditor\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.AUDITOR, apioperation.GET));\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t//userDivision={this.props.userDivision || []} //B1_Audit_Module_Optimization\r\n\t\t\t\t\t\t\tselectedItem={this.props.selectedLeadAuditor}\r\n\t\t\t\t\t\t\tdisabled={false}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{/*RITM0544059*/}\r\n\t\t\t\t\t\t{/* RITM0945977 */}\r\n\t\t\t\t\t\t{/* Division of Lead Auditor */}\r\n\t\t\t\t\t\tBusiness Line of Lead Auditor\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.MAINDIVISION, apioperation.GET));\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tselectedItem={this.props.selectedDivisionLeadAuditor || \"\"}\r\n\t\t\t\t\t\t\tgetMyDivision={true}\r\n\t\t\t\t\t\t\tdisabled={false}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{/*RITM0544059*/}\r\n\t\t\t\t\t\tCompany of Lead Auditor\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.COMPANY, apioperation.GET));\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tselectedItem={this.props.selectedCompanyLeadAuditor}\r\n\t\t\t\t\t\t\tdisabled={false}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{/*RITM0544059*/}\r\n\t\t\t\t\t\tProject of Lead Auditor\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.PROJECT, apioperation.GET));\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tselectedItem={this.props.selectedProjectLeadAuditor}\r\n\t\t\t\t\t\t\tdisabled={false}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\r\n\r\n\t\t\t\t
    \r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tEmail Team Leader\r\n\t\t\t\t\t\t this.props.onCompilerFilter(event.target.value)}\r\n\t\t\t\t\t\t\tplaceholder=\"Input Compiler\"\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\tvalue={this.props.selectedCompiler || \"\"}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tEmail Program Compiler\r\n\t\t\t\t\t\t this.props.onPlanCompilerFilter(event.target.value)}\r\n\t\t\t\t\t\t\tplaceholder=\"Input Plan Compiler\"\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\tvalue={this.props.selectedPlanCompiler || \"\"}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tEmail Data Approver\r\n\t\t\t\t\t\t this.props.onApproverFilter(event.target.value)}\r\n\t\t\t\t\t\t\tplaceholder=\"Input Data Approver\"\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\tvalue={this.props.selectedApprover || \"\"}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tAudit in Remote Mode\r\n\t\t\t\t\t\t {}} initialSelectedItem={this.props.selectedAuditRemote} disabled={false} />\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* \r\n\t\t\t\t\tEmail Consolidator\r\n\t\t\t\t\t this.props.onDivisionManagerFilter(event.target.value)}\r\n\t\t\t\t\tplaceholder=\"Input Consolidator \"\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\tvalue={this.props.selectedDivisionManager || ''}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t */}\r\n\t\t\t\t
    \r\n\r\n\t\t\t\t
    \r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tProject of Auditee\r\n\t\t\t\t\t\t {}} \r\n\t\t\t\t\t\t\tinitialSelectedItems={this.props.selectedProjectsAuditee} \r\n\t\t\t\t\t\t\tdisabled={false} />\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tCountry of Auditee\r\n\t\t\t\t\t\t {}} \r\n\t\t\t\t\t\t\tinitialSelectedItems={this.props.selectedCountries} \r\n\t\t\t\t\t\t\tdisabled={false} />\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tSubContractor/Supplier\r\n\t\t\t\t\t\t this.onSelectSubContractorChange(event.target.value)} \r\n\t\t\t\t\t\t\tplaceholder=\"Insert subcontractor\" \r\n\t\t\t\t\t\t\ttype=\"text\" \r\n\t\t\t\t\t\t\tvalue={this.props.selectedSubContractors || \"\"} />\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tPurchase Order\r\n\t\t\t\t\t\t this.onSelectPurchaseOrderChange(event.target.value)} \r\n\t\t\t\t\t\t\tplaceholder=\"Insert purchase order\" \r\n\t\t\t\t\t\t\ttype=\"text\" \r\n\t\t\t\t\t\t\tvalue={this.props.selectedPurchaseOrder || \"\"} />\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\r\n\t\t\t\t{/* RITM0646764 : Aggiuna filtri */}\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\tAudit Code\r\n\t\t\t\t\t\t this.props.onCodeFilter(event.target.value)} \r\n\t\t\t\t\t\t\tplaceholder=\"Input Audit Code\" \r\n\t\t\t\t\t\t\ttype=\"text\" \r\n\t\t\t\t\t\t\tvalue={this.props.selectedCode || \"\"} />\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tProject Audit Code (manual input)\r\n\t\t\t\t\t\t this.props.onProjectAuditCodeFilter(event.target.value)} \r\n\t\t\t\t\t\t\tplaceholder=\"Input Project Audit Code \" \r\n\t\t\t\t\t\t\ttype=\"text\" \r\n\t\t\t\t\t\t\tvalue={this.props.selectedProjectAuditCode || \"\"} \r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tFinding Code\r\n\t\t\t\t\t\t this.props.onFindingCodeFilter(event.target.value)} \r\n\t\t\t\t\t\t\tplaceholder=\"Input Finding Code\" \r\n\t\t\t\t\t\t\ttype=\"text\" \r\n\t\t\t\t\t\t\tvalue={this.props.selectedFindingCode || \"\"} />\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tProject Finding Code (manual input)\r\n\t\t\t\t\t\t this.props.onProjectFindingCodeFilter(event.target.value)} \r\n\t\t\t\t\t\t\tplaceholder=\"Input Project Finding Code \" \r\n\t\t\t\t\t\t\ttype=\"text\" \r\n\t\t\t\t\t\t\tvalue={this.props.selectedProjectFindingCode || \"\"} \r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t{/* RITM0646764 : FINE */}\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\r\n\t\t);\r\n\r\n\trenderLoadingModal = () => {\r\n\t\tconst show = this.state.isSubmitted;\r\n\t\treturn show && ;\r\n\t};\r\n\r\n\trenderDeleteModal = (totalItems) =>\r\n\t\tthis.state.modalDeleteVisible && (\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t

    Delete draft audits

    \r\n\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\tPress confirm to delete\r\n\t\t\t\t\t\t\t\t{` ${totalItems} `}\r\n\t\t\t\t\t\t\t\taudit/s selected\r\n\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t);\r\n\r\n\trenderSubmitModal = (totalItems) => {\r\n\t\tconst validations = {\r\n\t\t\tdataApprover: this.validator.message(\"dataApprover\", this.state.selectedApprover.id, \"required\"),\r\n\t\t};\r\n\t\treturn (\r\n\t\t\tthis.state.modalSubmitVisible && (\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t

    Submit audits

    \r\n\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\tChoose a Data Approver and than confirm to submit\r\n\t\t\t\t\t\t\t\t\t{` ${totalItems} `}\r\n\t\t\t\t\t\t\t\t\taudit/s selected\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tData Approver\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(getError(error, \"loading data approver\", \"ERROR\"));\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t{validations.dataApprover}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t)\r\n\t\t);\r\n\t};\r\n\r\n\tonSelectAuditTypeChange = (selectedItem) => {\r\n\t\tthis.props.onTypeFilter(selectedItem);\r\n\t};\r\n\r\n\tonSelectReasonChange = (selectedItem) => {\r\n\t\tthis.props.onReasonFilter(selectedItem);\r\n\t};\r\n\r\n\tonSelectCountryChange = (selectedItem) => {\r\n\t\tthis.props.onCountryFilter(selectedItem);\r\n\t};\r\n\r\n\tonSelectProjectAuditeeChange = (selectedItem) => {\r\n\t\tthis.props.onProjectAuditeeFilter(selectedItem);\r\n\t};\r\n\r\n\tonSelectSubContractorChange = (selectedItem) => {\r\n\t\tthis.props.onSubContractorFilter(selectedItem);\r\n\t};\r\n\r\n\tonSelectPurchaseOrderChange = (selectedItem) => { //RITM0646764\r\n\t\tthis.props.onPurchaseOrderFilter(selectedItem);\r\n\t};\r\n\r\n\tonSelectScopeChange = (selectedItem) => {\r\n\t\tthis.props.onScopeFilter(selectedItem);\r\n\t};\r\n\r\n\tonSelectTargetChange = (selectedItem) => {\r\n\t\tthis.props.onTargetFilter(selectedItem);\r\n\t};\r\n\r\n\tonSelectStatusChange = (selectedItem) => {\r\n\t\tthis.props.onStatusFilter(selectedItem);\r\n\t};\r\n\r\n\tonSelectPlanStatusChange = (selectedItem) => {\r\n\t\tthis.props.onPlanStatusFilter(selectedItem);\r\n\t};\r\n\r\n\tonSelectAuditRemoteChange = (selectedItem) => {\r\n\t\tthis.props.onAuditRemoteFilter(selectedItem);\r\n\t};\r\n\r\n\tonSelectWorkSiteChange = (selectedItem) => {\r\n\t\tthis.props.onWorkSiteFilter(selectedItem);\r\n\t};\r\n\r\n\tonSelectDataApproverChange = (selectedItem) => {\r\n\t\tthis.setState({\r\n\t\t\tselectedApprover: selectedItem || {},\r\n\t\t});\r\n\t};\r\n\r\n\t// buildNoMonthFilter = () => {\r\n\t// let { filteredAudits } = this.state;\r\n\t// filteredAudits = this.state.filteredDivision\r\n\t// ? filteredAudits.filter((item) => item.idDivision === this.state.filteredDivision)\r\n\t// : filteredAudits;\r\n\t// return filteredAudits;\r\n\t// };\r\n\r\n\tonMonthFilter = (event) => {\r\n\t\t// this.setState({\r\n\t\t// filteredMonth: event.currentTarget.id > 0 ? parseInt(event.currentTarget.id, 10) : null,\r\n\t\t// // filteredAudits: this.buildNoMonthFilter(),\r\n\t\t// });\r\n\t\tthis.props.onMonthFilter(event.currentTarget.id > 0 ? parseInt(event.currentTarget.id, 10) : null);\r\n\t};\r\n\r\n\thandleApproverSelect = (selectedItem) => {\r\n\t\tthis.setState({ approver: selectedItem });\r\n\t};\r\n\r\n\t//RITM0946162\r\n\thandleReasonForAuditCancellationSelect = (selectedItem) => {\r\n\t\tthis.setState({ auditCancellationReason: selectedItem });\r\n\t};\r\n\t//End\r\n\r\n\thandleCloseApprovalModal = () => {\r\n\t\tthis.setState({ isApprovalModalOpen: false }, this.clearApprovalForm);\r\n\t};\r\n\r\n\thandleCloseDeleteRequestModal = () => {\r\n\t\tthis.setState({ isDeleteRequestModalOpen: false }, this.clearDeleteRequestForm);\r\n\t};\r\n\r\n\thandleApprovalNotesChange = (e) => {\r\n\t\tthis.setState({ approvalNotes: e.target.value });\r\n\t};\r\n\r\n\tclearDeleteRequestForm = () => {\r\n\t\tthis.setState({ approvalNotes: null, approver: null });\r\n\t};\r\n\r\n\thandleConfirmDeleteRequestModal = () => {\r\n\t\tconst data = {\r\n\t\t\tids: this.state.selectedData.map((r) => r.id),\r\n\t\t\towner: this.state.approver,\r\n\t\t\tworkflowNotes: this.state.approvalNotes,\r\n\t\t\tauditCancellationReason: this.state.auditCancellationReason, //RITM0946162\r\n\t\t};\r\n\r\n\t\tthis.setState({\r\n\t\t\tisLoadingWFOperation: true,\r\n\t\t});\r\n\t\tapi.put(\"/audit/deleterequest\", data, \"\")\r\n\t\t\t.then((response) => {\r\n\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\tshowNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.AUDIT, apioperation.PUT));\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tisLoadingWFOperation: false,\r\n\t\t\t\t\t\tisDeleteRequestModalOpen: false,\r\n\t\t\t\t\t\t// isLoading: true,\r\n\t\t\t\t\t\t// itemList: []\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.props.onRefreshData();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tshowNotification.error();\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tisLoadingWFOperation: false,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, error.response.data, \"ERROR\"));\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingWFOperation: false,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => {});\r\n\t};\r\n\r\n\thandleConfirmApprovalModal = () => {\r\n\t\tconst apiEndpoint = this.state.approvalEndpoint;\r\n\t\tconst data = {\r\n\t\t\tids: this.state.selectedData.map((r) => r.id),\r\n\t\t\towner: this.state.approver,\r\n\t\t\tworkflowNotes: this.state.approvalNotes,\r\n\t\t};\r\n\r\n\t\tthis.setState({\r\n\t\t\tisLoadingWFOperation: true,\r\n\t\t});\r\n\t\tapi.put(`/audit/${apiEndpoint}`, data, \"\")\r\n\t\t\t.then((response) => {\r\n\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\tshowNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.AUDIT, apioperation.PUT));\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tisLoadingWFOperation: false,\r\n\t\t\t\t\t\tisApprovalModalOpen: false,\r\n\t\t\t\t\t\t// isLoading: true,\r\n\t\t\t\t\t\t// itemList: []\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.props.onRefreshData();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tshowNotification.error();\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tisLoadingWFOperation: false,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, error.response.data, \"ERROR\"));\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingWFOperation: false,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => {});\r\n\t};\r\n\r\n\tgetUsersInRole = (role, idEntity) => {\r\n\t\tme.getWithParam(\"users\", {\r\n\t\t\tparams: { Role: role, IdEntity: idEntity, includeAdmins: true },\r\n\t\t})\r\n\t\t\t.then((response) => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tapprovers: response.data,\r\n\t\t\t\t\tisLoadingApproverOptions: false,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, \"\", \"ERROR\"));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingApproverOptions: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t};\r\n\r\n\t//RITM0946162\r\n\tgetReasonForAuditCancellation = async () => {\r\n\t\tawait dynamic.getAll(\"reasonforauditcancellation\", {\r\n\t\t\tparams: { page: 0, parent: 'all' },\r\n\t\t})\r\n\t\t\t.then((response) => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\treasonForAuditCancellation: response.data.itemList.filter((c) => c.inUse),\r\n\t\t\t\t\tisLoadingApproverOptions: false,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, \"\", \"ERROR\"));\r\n\t\t\t\tconsole.log(error);\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingApproverOptions: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t};\r\n\r\n\t// eslint-disable-next-line react/sort-comp\r\n\tIsRowSelectable(tableRow, selectedRows) {\r\n\t\tconst row = this.props.audits.find((i) => i.id === tableRow.id);\r\n\t\tif (!row || !row.status) return false;\r\n\t\t// if (row.checkList?.notificationForm?.sendedOn == null && row.checkList != null) return false;\r\n\r\n\t\t// if (row.checkList != null && !row.allQstAnswered) return false;\r\n\r\n\t\tif (row.status.id === STATUS.Consolidated) {\r\n\t\t\tif (row.checkList && row.checkList.idStatus === STATUS.Consolidated) return false;\r\n\t\t}\r\n\r\n\t\tif (selectedRows.length === 0) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tif (selectedRows.length > 0) {\r\n\t\t\tconst selectableAudit = this.props.audits.find((i) => i.id === selectedRows[0].id);\r\n\t\t\tconst selectableState = selectableAudit.idStatus;\r\n\t\t\tconst selectableDivision = selectableAudit.idDivision;\r\n\t\t\tconst selectableWorksite = selectableAudit.idWorksite;\r\n\r\n\t\t\tconst rowStateRep = row.checkList ? row.checkList.idStatus : null;\r\n\t\t\tconst selectableStateRep = selectableAudit.checkList ? selectableAudit.checkList.idStatus : null;\r\n\r\n\t\t\tif (\r\n\t\t\t\tselectableState === 4 &&\r\n\t\t\t\tselectableState === row.idStatus &&\r\n\t\t\t\trowStateRep === selectableStateRep &&\r\n\t\t\t\trow.idDivision === selectableDivision &&\r\n\t\t\t\t((row.deleteRequest != null && selectableAudit.deleteRequest != null) || (row.deleteRequest == null && selectableAudit.deleteRequest == null))\r\n\t\t\t) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\tif (row.idStatus === selectableState && rowStateRep === selectableStateRep && (row.idStatus === STATUS.Draft ? row.idWorksite === selectableWorksite : row.idDivision === selectableDivision)) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t}\r\n\r\n\tbatchActionClick(actionKey, actionName, approverRole, withApprover, approvalNotesRequired, selectedRows) {\r\n\t\tconst audit = this.props.audits.find((i) => i.id === selectedRows[0].id);\r\n\r\n\t\tconst idEntity = audit.idDivision;\r\n\r\n\t\t// actionKey == 'Submit' || actionKey == 'submitreport'\r\n\t\t// ? audit.idWorksite\r\n\t\t// : actionKey == 'Approve' || actionKey == 'approvereport'\r\n\t\t// ? audit.idDivision\r\n\t\t// : null;\r\n\r\n\t\tthis.setState({\r\n\t\t\tapprovalModalAction: actionName,\r\n\t\t\tisApprovalModalOpen: true,\r\n\t\t\tisLoadingApproverOptions: true,\r\n\t\t\twithApprover,\r\n\t\t\tselectedData: selectedRows,\r\n\t\t\tapproverRole,\r\n\t\t\tapprovalEndpoint: actionKey,\r\n\t\t\tapprovalNotesRequired,\r\n\t\t\tstatewf: audit.status.id,\r\n\t\t});\r\n\r\n\t\tif (withApprover) this.getUsersInRole(approverRole, idEntity);\r\n\t}\r\n\r\n\tdeleteActionClick(selectedRows) {\r\n\t\tconst audit = this.props.audits.find((i) => i.id === selectedRows[0].id);\r\n\r\n\t\tconst idEntity = audit.idDivision;\r\n\r\n\t\t// actionKey == 'Submit' || actionKey == 'submitreport'\r\n\t\t// ? audit.idWorksite\r\n\t\t// : actionKey == 'Approve' || actionKey == 'approvereport'\r\n\t\t// ? audit.idDivision\r\n\t\t// : null;\r\n\r\n\t\tthis.setState({\r\n\t\t\tisDeleteRequestModalOpen: true,\r\n\t\t\tisLoadingApproverOptions: true,\r\n\t\t\tselectedData: selectedRows,\r\n\t\t\tstatewf: audit.status.id,\r\n\t\t});\r\n\r\n\t\tthis.getReasonForAuditCancellation();\r\n\t\tthis.getUsersInRole(\"Administrator\", idEntity);\r\n\t\tconsole.log(this.state.reasonForAuditCancellation);\r\n\t\t//this.getReasonForAuditCancellation() //RITM0946162\r\n\t}\r\n\t/** ***********Render******************* */\r\n\r\n\tgetAuditCode = (id) => {\r\n\t\tconst auditCode = this.props.audits.find((el) => el.id === id);\r\n\t\treturn `Audit_Notification_${auditCode.auditCode}.zip`;\r\n\t};\r\n\r\n\tgetAuditReportCode = (id) => {\r\n\t\tconst auditCode = this.props.audits.find((el) => el.id === id);\r\n\t\treturn `Audit_Report_${auditCode.auditCode}.zip`;\r\n\t};\r\n\r\n\tgetAudit = (selectedRows) => {\r\n\t\tif (selectedRows && selectedRows.length > 0) {\r\n\t\t\treturn this.props.audits.find((el) => el.id === selectedRows[0].id);\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\r\n\tgetAuditor = (selectedRows) => {\r\n\t\tif (selectedRows && selectedRows.length > 0) {\r\n\t\t\tconst au = this.props.audits.find((el) => el.id === selectedRows[0].id);\r\n\t\t\treturn au && au.auditors && au.auditors[0] ? { idCompiler: au.auditors[0].id } : null;\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\r\n\tgetAuditReport = (selectedRows) => {\r\n\t\tif (selectedRows && selectedRows.length > 0) {\r\n\t\t\tconst r = this.props.audits.find((el) => el.id === selectedRows[0].id);\r\n\t\t\treturn r && r.checkList;\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\r\n\tgetStatusId = (idRow) => {\r\n\t\tconst r = this.props.audits.find((el) => el.id === idRow);\r\n\t\treturn r && r.idStatus;\r\n\t};\r\n\r\n\tgetReportStatusId = (idRow) => {\r\n\t\tconst r = this.props.audits.find((el) => el.id === idRow);\r\n\t\treturn r && r.checkList && r.checkList.idStatus;\r\n\t};\r\n\r\n\tgetNewCarManagement = (idRow) => {\r\n\t\tconst r = this.props.audits.find((el) => el.id === idRow);\r\n\t\treturn r && r.newCarManagement;\r\n\t};\r\n\r\n\tisRequestCancellationPending = (idRow) => {\r\n\t\tconst r = this.props.audits.find((el) => el.id === idRow);\r\n\t\treturn r && r.deleteRequest != null;\r\n\t};\r\n\r\n\tcanSubmit = (idRow) => {\r\n\t\tconst r = this.props.audits.find((el) => el.id === idRow);\r\n\t\tif (r.checkList?.notificationForm?.sendedOn == null && r.checkList != null) return false;\r\n\t\tif (r.checkList != null && !r.allQstAnswered) return false;\r\n\t};\r\n\r\n\tisAllRequestCancellationPending = (rows) => {\r\n\t\tlet result = true;\r\n\t\tfor (let i = 0; i < rows.length; i += 1) {\r\n\t\t\tconst r = this.props.audits.find((el) => el.id === rows[i].id);\r\n\t\t\tresult = r && r.deleteRequest == null;\r\n\t\t\tif (!result) break;\r\n\t\t}\r\n\t\treturn result;\r\n\t};\r\n\r\n\tisMyRequestCancellationPending = (idRow, user) => {\r\n\t\tconst r = this.props.audits.find((el) => el.id === idRow);\r\n\t\treturn r && r.deleteRequest != null && r.deleteRequest.idUserRequestTo === user.id;\r\n\t};\r\n\r\n\tisAllMyRequestCancellationPending = (rows, user) => {\r\n\t\tfor (let i = 0; i < rows.length; i += 1) {\r\n\t\t\tconst r = this.props.audits.find((el) => el.id === rows[i].id);\r\n\t\t\tif (!(r && r.deleteRequest != null && r.deleteRequest.idUserRequestTo === user.id)) return false;\r\n\t\t}\r\n\t\treturn true;\r\n\t};\r\n\r\n\trenderMonthsHeader = () => {\r\n\t\tconst elements = [\"All\", \"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\r\n\t\tconst items = elements.map((item, index) => (\r\n\t\t\t// eslint-disable-next-line jsx-a11y/interactive-supports-focus\r\n\t\t\t\r\n\t\t\t\t
    {item}
    \r\n\r\n\t\t\t\t
    {index > 0 ? this.props.itemsInMonths.find((elem) => elem.key === index)?.count || 0 : this.props.itemsInMonths.reduce((a, b) => a + b.count, 0)}
    \r\n\t\t\t
    \r\n\t\t));\r\n\r\n\t\treturn
    {items}
    ;\r\n\t};\r\n\r\n\tgetCellValue = (type, value, isLoading = false) => {\r\n\t\tif(isLoading){\r\n\t\t\treturn \r\n\t\t}\r\n\r\n\t\tif (!value) return \"\";\r\n\t\tif (typeof value === \"object\") {\r\n\t\t\tif (type.header.includes(\"auditor\")) {\r\n\t\t\t\treturn value.fullName;\r\n\t\t\t}\r\n\t\t\tif (type.header.includes(\"status\")) {\r\n\t\t\t\treturn ;\r\n\t\t\t}\r\n\t\t\tif (type.header.includes(\"checkList\")) {\r\n\t\t\t\treturn ;\r\n\t\t\t}\r\n\r\n\t\t\tif (value instanceof Array) {\r\n\t\t\t\treturn value.map((elem) => elem.name).join(\", \");\r\n\t\t\t}\r\n\t\t\treturn value.name;\r\n\t\t}\r\n\t\tif (type.header.includes(\"Month\")) {\r\n\t\t\tconst months = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\r\n\t\t\tconst monthToString = (monthNumber) => months[monthNumber - 1] || \"\";\r\n\t\t\treturn monthToString(value);\r\n\t\t}\r\n\t\tif(type.header === \"size\"){\r\n\t\t\treturn sizeFormat(value)\r\n\t\t}\r\n\t\t\r\n\t\treturn value;\r\n\t};\r\n\r\n\tshowFilters() {\r\n\t\tthis.setState((oldState) => ({ showFilters: !oldState.showFilters }));\r\n\t\tthis.props.onShowFilters();\r\n\t}\r\n\r\n\t//#region RITM0646764 Estrazione Massiva Audit\r\n\topenMassiveExtractionModal = () => {\r\n\t\tthis.setState({\r\n\t\t\tmodalMassiveExtractionVisible: true,\r\n\t\t}, () => {\r\n\t\t\tthis.getCountriesBusinessLines();\r\n\t\t})\r\n\t}\r\n\r\n\tcloseMassiveExtractionModal = () => {\r\n\t\tthis.setState({\r\n\t\t\tmodalMassiveExtractionVisible: false,\r\n\t\t\tisLoadingModalMassiveExtraction: false,\r\n\t\t\tisLoadingTableMassiveExtraction: false,\r\n\t\t\tisLoadingDownloadMassiveExtraction: false,\r\n\t\t\tselectedCountriesMassiveExtraction: [],\r\n\t\t\tselectedBusinessLinesMassiveExtraction: [],\r\n\t\t\tcountriesMassiveExtraction: [],\r\n\t\t\tbusinessLinesMassiveExtraction: [],\r\n\t\t\tauditsMassiveExtraction: [],\r\n\t\t\tvalidatorCountriesMassiveExtraction: null,\r\n\t\t\tvalidatorBusinessLinesMassiveExtraction: null,\r\n\t\t\tcurrentPageMassiveExtractionTable: 1,\r\n\t\t\ttotalAuditsMassiveExtractionTable: 0,\r\n\t\t\tpageSizeMassiveExtractionTable: 5\r\n\t\t})\r\n\t}\r\n\r\n\tgetCountriesBusinessLines = () => {\r\n\t\tthis.setState({ isLoadingModalMassiveExtraction: true });\r\n\t\tapi.getAll(`/audit/getcountriesbusinesslines`)\r\n\t\t\t.then((response) => {\r\n\t\t\t\tconst data = response.data;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tcountriesMassiveExtraction: data.countries || [],\r\n\t\t\t\t\tbusinessLinesMassiveExtraction: data.businessLines || []\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(getError(error, entitiesLabels.AUDITMASSIVEEXTRACTION_GETCOUNTRIESBUSINESSLINES, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({ isLoadingModalMassiveExtraction: false });\r\n\t\t\t});\r\n\t}\r\n\r\n\tsearchAuditsForMassiveExtractionModal = () => {\r\n\t\tif(this.checkValidatorMassiveExtraction()){\r\n\t\t\tthis.setState({ \r\n\t\t\t\tisLoadingDownloadMassiveExtraction: true,\r\n\t\t\t\tisLoadingTableMassiveExtraction: true\r\n\t\t\t});\r\n\t\t\tconst skip = (this.state.currentPageMassiveExtractionTable - 1) * this.state.pageSizeMassiveExtractionTable;\r\n\t\t\tapi.post(`/audit/getauditdocuments/skip/${skip}/take/${this.state.pageSizeMassiveExtractionTable}`, \r\n\t\t\t\t{countries: (this.state.selectedCountriesMassiveExtraction || []), businessLines: (this.state.selectedBusinessLinesMassiveExtraction || [])})\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\tconst data = response.data;\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tauditsMassiveExtraction: data.audits,\r\n\t\t\t\t\t\ttotalAuditsMassiveExtractionTable: data.totCount,\r\n\t\t\t\t\t\tcurrentPageMassiveExtractionTable: 1,\r\n\t\t\t\t\t})\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tshowNotification.error(getError(error, entitiesLabels.AUDITMASSIVEEXTRACTION_GETAUDITS, apioperation.GET));\r\n\t\t\t\t})\r\n\t\t\t\t.finally(() => {\r\n\t\t\t\t\tthis.setState({ \r\n\t\t\t\t\t\tisLoadingDownloadMassiveExtraction: false,\r\n\t\t\t\t\t\tisLoadingTableMassiveExtraction: false\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t}\t\t\r\n\t}\r\n\r\n\thanldeChangeMassiveExtraction = (type, items) => {\r\n\t\tif(type === 'countries'){\r\n\t\t\tthis.setState({\r\n\t\t\t\tselectedCountriesMassiveExtraction: items?.selectedItems || [],\r\n\t\t\t\tvalidatorCountriesMassiveExtraction: null,\r\n\t\t\t\tvalidatorBusinessLinesMassiveExtraction: null\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tif(type === 'businessLines'){\r\n\t\t\tthis.setState({\r\n\t\t\t\tselectedBusinessLinesMassiveExtraction: items?.selectedItems || [],\r\n\t\t\t\tvalidatorCountriesMassiveExtraction: null,\r\n\t\t\t\tvalidatorBusinessLinesMassiveExtraction: null\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tcheckValidatorMassiveExtraction = () => {\r\n\t\tvar selectedCountries = this.state.selectedCountriesMassiveExtraction || [];\r\n\t\tvar selectedBusinessLine = this.state.selectedBusinessLinesMassiveExtraction || [];\r\n\t\tif(selectedCountries.length === 0 && selectedBusinessLine.length === 0){\r\n\t\t\tthis.setState({\r\n\t\t\t\tvalidatorCountriesMassiveExtraction: 'Choose at least one country and/or business line',\r\n\t\t\t\tvalidatorBusinessLinesMassiveExtraction: 'Choose at least one country and/or business line'\r\n\t\t\t});\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\t\r\n\t\tthis.setState({\r\n\t\t\tvalidatorCountriesMassiveExtraction: null,\r\n\t\t\tvalidatorBusinessLinesMassiveExtraction: null\r\n\t\t});\r\n\r\n\t\treturn true;\r\n\t}\r\n\r\n\thandleChangePagingMassiveExtractionTable = (page) => {\r\n\t\tthis.setState({\r\n\t\t\tcurrentPageMassiveExtractionTable: page.page,\r\n\t\t\tpageSizeMassiveExtractionTable: page.pageSize\r\n\t\t}, () => {\r\n\t\t\tthis.searchAuditsForMassiveExtractionModal();\r\n\t\t})\r\n\t};\r\n\r\n\tdownloadMassiveExtraction = (selectedRows) => {\r\n\t\tif(!this.ifMaximumLimit(selectedRows)){\t\t\t\t\r\n\t\t\tthis.setState({ \r\n\t\t\t\tisLoadingDownloadMassiveExtraction: true,\r\n\t\t\t\tisLoadingTableMassiveExtraction: true\r\n\t\t\t});\r\n\r\n\t\t\tlet input = {\r\n\t\t\t\tids: selectedRows?.map(x => x['id']),\r\n\t\t\t\tisSingle: false\r\n\t\t\t};\r\n\r\n\t\t\tapi.postBlob(`/audit/downloadzipmassiveextraction`, input)\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\tconst link = document.createElement('a');\r\n\t\t\t\t\t// Browsers that support HTML5 download attribute\r\n\t\t\t\t\tif (link.download !== undefined) {\r\n\t\t\t\t\t\tvar currentdate = new Date(); \r\n\t\t\t\t\t\tvar datetime = (currentdate.getMonth()+1).toString() +\r\n\t\t\t\t\t\t\t\t\t\tcurrentdate.getDate().toString() +\r\n\t\t\t\t\t\t\t\t\t\tcurrentdate.getFullYear().toString() +\r\n\t\t\t\t\t\t\t\t\t\tcurrentdate.getHours().toString() + \r\n\t\t\t\t\t\t\t\t\t\tcurrentdate.getMinutes().toString() + \r\n\t\t\t\t\t\t\t\t\t\tcurrentdate.getSeconds().toString();\r\n\t\t\t\t\t\tvar fileName = 'Audits_' + datetime + '.zip';\r\n\t\r\n\t\t\t\t\t\tconst url = URL.createObjectURL(response.data);\r\n\t\t\t\t\t\tlink.setAttribute('href', url);\r\n\t\t\t\t\t\tlink.setAttribute('download', fileName);\r\n\t\t\t\t\t\tlink.style.visibility = 'hidden';\r\n\t\t\t\t\t\tdocument.body.appendChild(link);\r\n\t\t\t\t\t\tlink.click();\r\n\t\t\t\t\t\tdocument.body.removeChild(link);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tshowNotification.error(getError(error, entitiesLabels.AUDITMASSIVEEXTRACTION_GETAUDITS, apioperation.GET));\r\n\t\t\t\t})\r\n\t\t\t\t.finally(() => {\r\n\t\t\t\t\tthis.setState({ \r\n\t\t\t\t\t\tisLoadingDownloadMassiveExtraction: false,\r\n\t\t\t\t\t\tisLoadingTableMassiveExtraction: false\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t}\r\n\t\telse{\r\n\t\t\tshowNotification.error('Download maximum of 5 audits at a time');\r\n\t\t}\t\t\r\n\t}\r\n\r\n\t// calculateTotalByte = (selectedRows) => {\r\n\t// \tvar total = 0;\r\n\r\n\t// \tif(selectedRows !== null){\r\n\t// \t\tvar sizes = selectedRows?.map(x => x?.cells[3]?.value);\t\t\t\r\n\t\t\t\r\n\t// \t\tif(sizes !== null && sizes !== [] && sizes !== undefined){\r\n\t// \t\t\tsizes.forEach(size => {\r\n\t// \t\t\t\ttotal += parseInt(size);\r\n\t// \t\t\t});\r\n\t// \t\t}\r\n\t// \t}\r\n\r\n\t// \treturn sizeFormat(total);\r\n\t// }\r\n\t\r\n\tifMaximumLimit = (selectedRows) => {\r\n\t\tif(selectedRows?.length <= 5) return false;\r\n\t\t\r\n\t\treturn true\r\n\t}\r\n\r\n\tisRowSelectablemassiveExtractionTable(tableRow) {\r\n\t\tif(tableRow !== null && tableRow !== undefined){\r\n\t\t\tif(tableRow.cells[3].value !== 0 \r\n\t\t\t&& tableRow.cells[3].value !== '' \r\n\t\t\t&& tableRow.cells[3].value !== '0'\r\n\t\t\t&& tableRow.cells[3].value !== undefined\r\n\t\t\t&& tableRow.cells[3].value !== null){\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t}\r\n\r\n\trenderMassiveExtractionModal = () => {\r\n\t\tconst headersMassiveExtractionTable = [\r\n\t\t\t{\r\n\t\t\t\tkey: \"auditCode\",\r\n\t\t\t\theader: \"Audit Code\",\r\n\t\t\t\tisSortable: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tkey: \"country\",\r\n\t\t\t\theader: \"Country\",\r\n\t\t\t\tisSortable: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tkey: \"businessLine\",\r\n\t\t\t\theader: \"Business Line\",\r\n\t\t\t}\t\t\r\n\t\t]\r\n\r\n\t\tconst loadingRows = [\r\n\t\t\t{\r\n\t\t\t\tid: 0,\r\n\t\t\t\tauditCode: '',\r\n\t\t\t\tcountry: '',\r\n\t\t\t\tbusinessLine: ''\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: 1,\r\n\t\t\t\tauditCode: '',\r\n\t\t\t\tcountry: '',\r\n\t\t\t\tbusinessLine: ''\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: 2,\r\n\t\t\t\tauditCode: '',\r\n\t\t\t\tcountry: '',\r\n\t\t\t\tbusinessLine: ''\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: 3,\r\n\t\t\t\tauditCode: '',\r\n\t\t\t\tcountry: '',\r\n\t\t\t\tbusinessLine: ''\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tid: 4,\r\n\t\t\t\tauditCode: '',\r\n\t\t\t\tcountry: '',\r\n\t\t\t\tbusinessLine: ''\r\n\t\t\t},\r\n\t\t]\r\n\r\n\t\tconst paginationMassiveExtractionTableProps = () => ({\r\n\t\t\tpage: this.state.MassiveExtractionTable || 1,\r\n\t\t\ttotalItems: this.state.totalAuditsMassiveExtractionTable || 0,\r\n\t\t\tpageSize: this.state.pageSizeMassiveExtractionTable || 5,\r\n\t\t\tpageSizes: [5, 10, 20, 30, 40, 50],\r\n\t\t\tonChange: this.handleChangePagingMassiveExtractionTable,\r\n\t\t});\r\n\r\n\t\treturn (\r\n\t\t\tthis.state.modalMassiveExtractionVisible && (\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t

    Extract audits

    \r\n\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\tChoose at least one country and/or business line\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\tDownload maximum of 5 audits at a time\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tCountry\r\n\t\t\t\t\t\t\t\t\t\t{this.state.isLoadingModalMassiveExtraction ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t elem.name).join(', ')\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tname=\"countries\"\r\n\t\t\t\t\t\t\t\t\t\t\t\talt=\"Countries\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => this.hanldeChangeMassiveExtraction('countries', e)}\r\n\t\t\t\t\t\t\t\t\t\t\t\titemToString={(item) => (item ? item.name : '')}\r\n\t\t\t\t\t\t\t\t\t\t\t\titems={this.state.countriesMassiveExtraction}\r\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"default\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.countriesMassiveExtraction == [] \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t|| this.state.countriesMassiveExtraction.length <= 0\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabel=\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tinvalid={this.state.validatorCountriesMassiveExtraction !== null}\r\n\t\t\t\t\t\t\t\t\t\t\t\tinvalidText={this.state.validatorCountriesMassiveExtraction}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tBusiness Line\r\n\t\t\t\t\t\t\t\t\t\t{this.state.isLoadingModalMassiveExtraction ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t elem.name).join(', ')\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tmultiCombo={true}\r\n\t\t\t\t\t\t\t\t\t\t\t\tname=\"businesslines\"\r\n\t\t\t\t\t\t\t\t\t\t\t\talt=\"businesslines\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => this.hanldeChangeMassiveExtraction('businessLines', e)}\r\n\t\t\t\t\t\t\t\t\t\t\t\titemToString={(item) => (item ? item.name : '')}\r\n\t\t\t\t\t\t\t\t\t\t\t\titems={this.state.businessLinesMassiveExtraction}\r\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.businessLinesMassiveExtraction == [] \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t|| this.state.businessLinesMassiveExtraction.length <= 0\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabel=\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tinvalid={this.state.validatorBusinessLinesMassiveExtraction !== null}\r\n\t\t\t\t\t\t\t\t\t\t\t\tinvalidText={this.state.validatorBusinessLinesMassiveExtraction}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.downloadMassiveExtraction(selectedRows)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDownload\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{headersMassiveExtractionTable.map((header) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{header.header}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{rows == null || rows.length === 0 ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trows.map((row) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{row.cells.map((cell) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.getCellValue(cell.info, cell.value, this.state.isLoadingTableMassiveExtraction)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t)\r\n\t\t);\r\n\t};\r\n\t//#endregion\r\n\r\n\trender() {\r\n\t\t//costante da aggiornare in seguito all'aggiunta/rimozione dei filtri in AuditList\r\n\t\tconst filter = {\r\n\t\t\tidDivision: this.props.filters?.idDivision || null,\r\n\t\t\tmonth: this.props.filters?.month || null,\r\n\t\t\ttype: this.props.filters?.type !== null ? this.props.filters?.type?.name : null,\r\n\t\t\tscopes: this.props.filters?.scopes || null,\r\n\t\t\treasons: this.props.filters?.reasons || null,\r\n\t\t\tcountriesAuditee: this.props.filters?.countriesAuditee || null,\r\n\t\t\tprojectsAuditee: this.props.filters?.projectsAuditee || null,\r\n\t\t\tsubContractors: this.props.filters?.subContractors || null,\r\n\t\t\tpurchaseOrders: this.props.filters?.purchaseOrders || null, //RITM0646764\r\n\t\t\tidTarget: this.props.filters?.idTarget || null,\r\n\t\t\tidStatus: this.props.filters?.idStatus || null,\r\n\t\t\tidPlanStatus: this.props.filters?.idPlanStatus || null,\r\n\t\t\tworkSites: this.props.filters?.workSites?.length > 0 ? this.props.filters?.workSites : null,\r\n\t\t\tcompiler: this.props.filters?.compiler || null,\r\n\t\t\tplanCompiler: this.props.filters?.planCompiler || null,\r\n\t\t\tapprover: this.props.filters?.approver || null,\r\n\t\t\tdivisionManager: this.props.filters?.divisionManager || null,\r\n\t\t\tauditCode: this.props.filters?.auditCode || null,\r\n\t\t\tfindingCode: this.props.filters?.findingCode || null,\r\n\t\t\tprojectAuditCode: this.props.filters?.projectAuditCode || null,\r\n\t\t\tprojectFindingCode: this.props.filters?.projectFindingCode || null,\r\n\t\t\tauditRemote: this.props.filters?.auditRemote || null,\r\n\t\t\tidSection: this.props.filters?.idSection || null,\r\n\t\t\tidLeadAuditor: this.props.filters?.idLeadAuditor || null,\r\n\t\t\tidDivisionLeadAuditor: this.props.filters?.idDivisionLeadAuditor || null,\r\n\t\t\tidCompanyLeadAuditor: this.props.filters?.idCompanyLeadAuditor || null,\r\n\t\t\tidProjectLeadAuditor: this.props.filters?.idProjectLeadAuditor || null,\r\n\t\t}\r\n\r\n\t\tconst headers = [\r\n\t\t\t{\r\n\t\t\t\tkey: \"auditCode\",\r\n\t\t\t\theader: \"Code\",\r\n\t\t\t\tisSortable: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tkey: \"projectAuditCode\",\r\n\t\t\t\theader: \"Project Audit Code\",\r\n\t\t\t\tisSortable: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tkey: \"referenceMonth\",\r\n\t\t\t\theader: \"Month\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tkey: \"auditType\",\r\n\t\t\t\theader: \"Type\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tkey: \"division\",\r\n\t\t\t\t//RITM0945977\r\n\t\t\t\t// header: \"Division\",\r\n\t\t\t\theader: \"Business Line\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tkey: \"company\",\r\n\t\t\t\theader: \"Company\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tkey: \"scopes\",\r\n\t\t\t\theader: \"Scope\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tkey: \"status\",\r\n\t\t\t\theader: \"Program Status\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tkey: \"checkList\",\r\n\t\t\t\theader: \"Report Status\",\r\n\t\t\t},\r\n\t\t];\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{({ user }) => (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{this.renderFilters()}\r\n\t\t\t\t\t\t{this.state.modalMassiveExtractionVisible && (this.renderMassiveExtractionModal())}\r\n\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{CanExecuteAction(\"Audit\", \"Planning\", user, selectedRows.length > 0 ? this.getStatusId(selectedRows[0].id) : null, \"Submit\", this.getAudit(selectedRows)) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t this.batchActionClick(\"Submit\", \"Submit\", \"Data Approver\", true, false, selectedRows)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tSubmit Program\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t{/* RITM0565449 */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{CanExecuteAction(\"Audit\", \"Planning\", user, selectedRows.length > 0 ? this.getStatusId(selectedRows[0].id) : null, \"Approve\", this.getAudit(selectedRows)) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t this.batchActionClick(\"Approve\", \"Approve\", \"Division Manager\", true, false, selectedRows)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tApprove Program\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t{/* RITM0565449 */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{CanExecuteAction(\"Audit\", \"Planning\", user, selectedRows.length > 0 ? this.getStatusId(selectedRows[0].id) : null, \"Consolidate\", this.getAudit(selectedRows)) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t this.batchActionClick(\"Consolidate\", \"Consolidate\", null, false, false, selectedRows)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tConsolidate Program\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t{/* RITM0565449 */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{CanExecuteAction(\"Audit\", \"Planning\", user, selectedRows.length > 0 ? this.getStatusId(selectedRows[0].id) : null, \"RejectConsolidate\", this.getAudit(selectedRows)) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t this.batchActionClick(\"RejectConsolidate\", \"RejectConsolidate\", null, false, true, selectedRows)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tReject Consolidate\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t{CanExecuteAction(\"Audit\", \"Planning\", user, selectedRows.length > 0 ? this.getStatusId(selectedRows[0].id) : null, \"Reject\", this.getAudit(selectedRows)) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t this.batchActionClick(\"Reject\", \"Reject\", null, false, true, selectedRows)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tReject Program\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t{CanExecuteAction(\"Audit\", \"Planning\", user, selectedRows.length > 0 ? this.getStatusId(selectedRows[0].id) : null, \"Delete\", this.getAudit(selectedRows)) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t this.batchActionClick(\"Delete\", \"Delete\", null, false, false, selectedRows)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tDelete Program\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{selectedRows.length > 0 && this.getStatusId(selectedRows[0].id) === 4 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{CanExecuteAction(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Audit\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getNewCarManagement(selectedRows[0].id) ? \"FindingReporting\": \"Reporting\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(selectedRows.length > 0 ? this.getReportStatusId(selectedRows[0].id) : null) || \"\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Create\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getAuditor(selectedRows) // caso particolare, questa azione la può fare l'auditor indicato nel plan\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.batchActionClick(\"newreport\", \"Assign\", null, false, false, selectedRows)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAssign Report\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{CanExecuteAction(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Audit\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getNewCarManagement(selectedRows[0].id) ? \"FindingReporting\": \"Reporting\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedRows.length > 0 ? this.getReportStatusId(selectedRows[0].id) : null,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Submit\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getAuditReport(selectedRows)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) && this.canSubmit(selectedRows[0].id) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.batchActionClick(\"submitreport\", \"Submit\", \"Data Approver\", true, false, selectedRows)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSubmit Report\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{selectedRows.length > 0 && this.getStatusId(selectedRows[0].id) === 4 && this.isAllRequestCancellationPending(selectedRows) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.deleteActionClick(selectedRows)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tRequest Audit Cancellation\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{selectedRows.length > 0 && IsInRole(user, \"Administrator\") && this.isAllMyRequestCancellationPending(selectedRows, user) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.batchActionClick(\"ConfirmCancellationRequest\", \"Confirm cancellation of \", null, false, false, selectedRows)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tConfirm Cancellation Request\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* {CanExecuteAction(\r\n 'Audit',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getReportStatusId(selectedRows[0].id)\r\n : null,\r\n 'Delete',\r\n this.getAuditReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'deletereport',\r\n 'Delete',\r\n null,\r\n false,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Delete\r\n \r\n ) : null} */}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{CanExecuteAction(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Audit\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getNewCarManagement(selectedRows[0].id) ? \"FindingReporting\": \"Reporting\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedRows.length > 0 ? this.getReportStatusId(selectedRows[0].id) : null,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Approve\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getAuditReport(selectedRows)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.batchActionClick(\"approvereport\", \"Approve\", null, false, false, selectedRows)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tApprove Report\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{CanExecuteAction(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Audit\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getNewCarManagement(selectedRows[0].id) ? \"FindingReporting\": \"Reporting\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedRows.length > 0 ? this.getReportStatusId(selectedRows[0].id) : null,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Consolidate\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getAuditReport(selectedRows)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.batchActionClick(\"consolidatereport\", \"Consolidate\", null, false, false, selectedRows)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tConsolidate Report\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{CanExecuteAction(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Audit\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getNewCarManagement(selectedRows[0].id) ? \"FindingReporting\": \"Reporting\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedRows.length > 0 ? this.getReportStatusId(selectedRows[0].id) : null,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Reject\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getAuditReport(selectedRows)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.batchActionClick(\"rejectreport\", \"Reject\", null, false, true, selectedRows)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tReject Report\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{CanExecuteAction(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Audit\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getNewCarManagement(selectedRows[0].id) ? \"FindingReporting\": \"Reporting\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedRows.length > 0 ? this.getReportStatusId(selectedRows[0].id) : null,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"RejectConsolidate\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getAuditReport(selectedRows)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.batchActionClick(\"rejectconsolidatereport\", \"Reject\", null, false, true, selectedRows)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tReject Report\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{/* */}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n \r\n\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.EXPORTAUDITS, apioperation.DOWNLOAD));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLoadingFile: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trenderIcon={Download16}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticonDescription=\"Download Audits List\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"buttonPaddingIcon\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tapiUrl={`/audit/${this.props.selectedYear === null || this.props.selectedYear === undefined ? new Date().getFullYear() : this.props.selectedYear}/excel`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmethod=\"post\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpostBody={filter}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfileName={`${\"Export_Audits_\"}${moment().format(\"YYYYMMDDHHmmSS\")}.xlsx`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonDownLoadStart={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLoadingFile: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonDownLoadEnd={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLoadingFile: false,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* Download Audits List */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.EXPORTAUDITS, apioperation.DOWNLOAD));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLoadingFile: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trenderIcon={DocumentDownload16}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticonDescription=\"Download Audit Programs\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"buttonPaddingIcon\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tapiUrl={`/audit/${this.props.selectedYear === null || this.props.selectedYear === undefined ? new Date().getFullYear() : this.props.selectedYear}/exportplans`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmethod=\"post\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpostBody={filter}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfileName={`${\"Export_Audits_Programme_\"}${moment().format(\"YYYYMMDDHHmmSS\")}.zip`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonDownLoadStart={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLoadingFile: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonDownLoadEnd={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLoadingFile: false,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* Download Audit Programs */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t{IsInRole(user, \"Administrator\") || IsInRole(user, \"Compiler\") ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{this.renderMonthsHeader()}\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{headers.map((header) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{header.header}\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\tActions\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{rows == null || rows.length === 0 ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\trows.map((row) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.IsRowSelectable(row, selectedRows) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{row.cells.map((cell) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.getCellValue(cell.info, cell.value)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.getReportStatusId(row.id) && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(getError(error, entitiesLabels.AUDIT_NOTIFICATION, apioperation.DOWNLOAD));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"bx--export-form\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trenderIcon={ExportDoc16}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticonDescription=\"Download Notification\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Download Notification\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkind=\"ghost\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tapiUrl={`/audit/${row.id}/export`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// fileName={`Audit_Notification_${row.auditCode}.pdf`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfileName={this.getAuditCode(row.id)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonDownLoadStart={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLoadingFile: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonDownLoadEnd={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLoadingFile: false,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.getReportStatusId(row.id) && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(getError(error, entitiesLabels.AUDIT_REPORT, apioperation.DOWNLOAD));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\" bx--export-tab-form\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trenderIcon={ExportDoc16}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticonDescription=\"Download Report\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Download Report\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkind=\"ghost\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tapiUrl={`/audit/${row.id}/exportreport`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// fileName={`Audit_Report_${row.auditCode}.pdf`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfileName={this.getAuditReportCode(row.id)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonDownLoadStart={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLoadingFile: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonDownLoadEnd={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLoadingFile: false,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.getReportStatusId(row.id) && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.getReportStatusId(row.id) && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{(this.getReportStatusId(row.id) == null || IsInRole(user, \"Administrator\")) && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.props.onEditAudit(row)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trenderIcon={Edit16}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Edit Audit Plan\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticonDescription=\"Edit Audit Plan\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkind=\"ghost\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.getReportStatusId(row.id) && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t))\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
    \r\n\t\t);\r\n\t}\r\n}\r\n\r\nAuditMultiSelectDataTable.propTypes = {\r\n\taudits: PropTypes.array.isRequired,\r\n\titemsInMonths: PropTypes.array.isRequired,\r\n\ttotalItems: PropTypes.string.isRequired,\r\n\tshowFilters: PropTypes.bool.isRequired,\r\n\tonShowFilters: PropTypes.func.isRequired,\r\n\tonNewAudit: PropTypes.func.isRequired,\r\n\tonEditAudit: PropTypes.func.isRequired,\r\n\tonItemDelete: PropTypes.func,\r\n\tonMonthFilter: PropTypes.func.isRequired,\r\n\tonTypeFilter: PropTypes.func.isRequired,\r\n\tonScopeFilter: PropTypes.func.isRequired,\r\n\tonReasonFilter: PropTypes.func.isRequired,\r\n\tonCountryFilter: PropTypes.func.isRequired,\r\n\tonProjectAuditeeFilter: PropTypes.func.isRequired,\r\n\tonSubContractorFilter: PropTypes.func.isRequired,\r\n\tonRefreshData: PropTypes.func.isRequired,\r\n\tonTargetFilter: PropTypes.func.isRequired,\r\n\tonStatusFilter: PropTypes.func.isRequired,\r\n\tonPlanStatusFilter: PropTypes.func.isRequired,\r\n\tonAuditRemoteFilter: PropTypes.func.isRequired,\r\n\tonWorkSiteFilter: PropTypes.func.isRequired,\r\n\tonDelete: PropTypes.func.isRequired,\r\n\tonSearch: PropTypes.func.isRequired,\r\n\tonSearchClear: PropTypes.func.isRequired,\r\n\tselectedAuditType: PropTypes.object,\r\n\tselectedScopes: PropTypes.array,\r\n\tselectedReasons: PropTypes.array,\r\n\tselectedCountries: PropTypes.array,\r\n\tselectedProjectsAuditee: PropTypes.array,\r\n\tselectedTarget: PropTypes.object,\r\n\tselectedStatus: PropTypes.object,\r\n\tselectedPlanStatus: PropTypes.object,\r\n\tselectedAuditRemote: PropTypes.object,\r\n\tselectedWorkSites: PropTypes.array,\r\n\tselectedCompiler: PropTypes.string,\r\n\tselectedPlanCompiler: PropTypes.string,\r\n\tselectedApprover: PropTypes.string,\r\n\tselectedDivisionManager: PropTypes.string,\r\n\tselectedMonth: PropTypes.string,\r\n\tselectedCode: PropTypes.string,\r\n\tselectedProjectAuditCode: PropTypes.string,\r\n\tselectedFindingCode: PropTypes.string,\r\n\tselectedProjectFindingCode: PropTypes.string,\r\n\tselectedSubContractors: PropTypes.string, //RITM0964998 - Download Audit Programs Fix\r\n\tselectedPurchaseOrder: PropTypes.string, //RITM0964998 - Download Audit Programs Fix\r\n\tonCompilerFilter: PropTypes.func.isRequired,\r\n\tonPlanCompilerFilter: PropTypes.func.isRequired,\r\n\tonPurchaseOrderFilter: PropTypes.func.isRequired,\r\n\tonApproverFilter: PropTypes.func.isRequired,\r\n\tonDivisionManagerFilter: PropTypes.func.isRequired,\r\n\tonCodeFilter: PropTypes.func.isRequired,\r\n};\r\nAuditMultiSelectDataTable.defaultProps = {\r\n\tselectedAuditType: null,\r\n\tselectedScopes: null,\r\n\tselectedReasons: null,\r\n\tselectedCountries: null,\r\n\tselectedProjectsAuditee: null,\r\n\tselectedTarget: null,\r\n\tselectedStatus: null,\r\n\tselectedPlanStatus: null,\r\n\tselectedAuditRemote: null,\r\n\tonItemDelete: null,\r\n\tselectedWorkSites: null,\r\n\tselectedCompiler: null,\r\n\tselectedPlanCompiler: null,\r\n\tselectedApprover: null,\r\n\tselectedDivisionManager: null,\r\n\tselectedCode: null,\r\n\tselectedProjectAuditCode: null,\r\n\tselectedFindingCode: null,\r\n\tselectedProjectFindingCode: null,\r\n\tselectedMonth: null,\r\n\tselectedSubContractors: null, //RITM0964998 - Download Audit Programs Fix\r\n\tselectedPurchaseOrder: null, //RITM0964998 - Download Audit Programs Fix\r\n};\r\n","/* eslint-disable jsx-a11y/click-events-have-key-events */\r\nimport React, { Component } from \"react\";\r\nimport \"../../scss/custom.scss\";\r\nimport { Dropdown, DataTableSkeleton, Pagination } from \"carbon-components-react\";\r\nimport AuditDetails from \"./AuditDetails\";\r\nimport DivisionsTab from \"./common/DivisionsTab\";\r\nimport AuditMultiSelectDataTable from \"./common/AuditMultiSelectDataTable\";\r\nimport { showNotification } from \"../../helpers/notification/BaseNotification\";\r\nimport { getError, apioperation, entitiesLabels } from \"../../helpers/Constants\";\r\nimport { AppContext } from \"../../helpers/context/AppContext\";\r\nimport { IsEnabled } from \"../../helpers/authorization/Policies\";\r\nimport PageBreadCrumb from \"../../helpers/PageBreadCrumb\";\r\nimport AuditRepository from \"../../helpers/api/AuditRepository\";\r\nimport MeRepository from \"../../helpers/api/MeRepository\";\r\n\r\nexport default class AuditList extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.year = new Date().getFullYear();\r\n\t\tthis.showAddAudit = this.showAddAudit.bind(this);\r\n\t\tthis.showEditAudit = this.showEditAudit.bind(this);\r\n\t\tthis.onDivisionTabSelected = this.onDivisionTabSelected.bind(this);\r\n\t\tthis.onMonthFilter = this.onMonthFilter.bind(this);\r\n\t\tthis.newAuditAdded = this.newAuditAdded.bind(this);\r\n\t\tthis.auditUpdated = this.auditUpdated.bind(this);\r\n\t\tthis.onYearChange = this.onYearChange.bind(this);\r\n\t\tthis.onAuditTypeFilter = this.onAuditTypeFilter.bind(this);\r\n\t\tthis.onAuditScopeFilter = this.onAuditScopeFilter.bind(this);\r\n\t\tthis.onAuditReasonFilter = this.onAuditReasonFilter.bind(this);\r\n\t\tthis.onAuditCountryFilter = this.onAuditCountryFilter.bind(this);\r\n\t\tthis.onAuditProjectAuditeeFilter = this.onAuditProjectAuditeeFilter.bind(this);\r\n\t\tthis.onAuditSubContractorFilter = this.onAuditSubContractorFilter.bind(this);\r\n\t\tthis.onTargetFilter = this.onTargetFilter.bind(this);\r\n\t\tthis.onStatusFilter = this.onStatusFilter.bind(this);\r\n\t\tthis.onWorkSiteFilter = this.onWorkSiteFilter.bind(this);\r\n\t\tthis.refreshData = this.refreshData.bind(this);\r\n\t\tthis.repository = new AuditRepository();\r\n\t\tthis.handleChangePaging = this.handleChangePaging.bind(this);\r\n\t\tthis.onCompilerFilter = this.onCompilerFilter.bind(this);\r\n\t\tthis.onPlanCompilerFilter = this.onPlanCompilerFilter.bind(this);\r\n\t\tthis.onPurchaseOrderFilter = this.onPurchaseOrderFilter.bind(this);\r\n\t\tthis.onDivisionManagerFilter = this.onDivisionManagerFilter.bind(this);\r\n\t\tthis.onApproverFilter = this.onApproverFilter.bind(this);\r\n\t\tthis.onCodeFilter = this.onCodeFilter.bind(this);\r\n\t\tthis.onFindingCodeFilter = this.onFindingCodeFilter.bind(this);\r\n\t\tthis.onProjectAuditCodeFilter = this.onProjectAuditCodeFilter.bind(this);\r\n\t\tthis.onProjectFindingCodeFilter = this.onProjectFindingCodeFilter.bind(this);\r\n\r\n\t\t// this.getAuditCountByMonth = this.getAuditCountByMonth.bind(this);\r\n\t\tthis.handleSearchClear = this.handleSearchClear.bind(this);\r\n\t\tthis.onShowFilters = this.onShowFilters.bind(this);\r\n\r\n\t\tthis.state = {\r\n\t\t\tidAudit: null,\r\n\t\t\tauditToModify: null,\r\n\t\t\tloading: false,\r\n\t\t\titems: [],\r\n\t\t\titemsInMonths: [],\r\n\t\t\tallYearFilteredItems: [],\r\n\t\t\toriginalItems: [],\r\n\t\t\tfilteredMonth: null,\r\n\t\t\tfilteredTab: null,\r\n\t\t\tfilteredAuditScopes: [],\r\n\t\t\tfilteredAuditReasons: [],\r\n\t\t\tfilteredAuditCountries: [],\r\n\t\t\tfilteredAuditProjectsAuditee: [],\r\n\t\t\t//filteredAuditSubContractors: [],\r\n\t\t\tfilteredAuditSubContractors: null, //RITM0964998 - Download Audit Programs Fix\r\n\t\t\tfilteredYear: this.getHashtagYear(),\r\n\t\t\tmodalAuditVisible: false,\r\n\t\t\tfilteredDivision: null,\r\n\t\t\tfilteredAuditType: null,\r\n\t\t\tfilteredTarget: null,\r\n\t\t\tfilteredStatus: null,\r\n\t\t\tfilteredPlanStatus: null,\r\n\t\t\tfilteredAuditRemote: null,\r\n\t\t\tfilteredWorkSites: [],\r\n\t\t\tfilteredPlanCompiler: null,\r\n\t\t\t//filteredPurchaseOrder: [], //RITM0646764\r\n\t\t\tfilteredPurchaseOrder: null, //RITM0964998 - Download Audit Programs Fix\r\n\t\t\tfilteredApprover: null,\r\n\t\t\tfilteredManager: null,\r\n\t\t\tfilteredCompiler: null,\r\n\t\t\tfilteredPlanCompiler: null,\r\n\t\t\tfilteredCode: this.getHashtag(),\r\n\t\t\tfilteredFindingCode: this.getHashtag(),\r\n\t\t\tfilteredProjectAuditCode: this.getHashtag(),\r\n\t\t\tfilteredProjectFindingCode: this.getHashtag(),\r\n\t\t\tcurrentPage: 1,\r\n\t\t\ttotalAudits: 0,\r\n\t\t\tpageSize: 10,\r\n\t\t\tshowFilters: false,\r\n\t\t\t//userDivision: [], //B1_Audit_Module_Optimization\r\n\t\t\tisBack: this.props.history.action === \"POP\" || this.props.location.search === \"?isBack\" ? true : false,\r\n\t\t\t\r\n\t\t\t//RITM0574613\r\n\t\t\tyearsList: Array.from(new Array(5), (val, index) => (index + (this.year - 2)).toString())\r\n\t\t};\r\n\r\n\t}\r\n\r\n\tasync componentDidMount() {\r\n\t\tthis.setState({ loading: true });\r\n\t\t//let userDivision = await this.repository.getAuditors(); //B1_Audit_Module_Optimization\r\n\t\tlet filter = await this.getFilters();\r\n\t\t// Rimosse chiamate Count e implementati i count nella chiamata principale (getItems)\r\n\t\t// const totAudits = await this.getAuditCount(filter?.params?.year ? filter?.params?.year : this.year);\r\n\t\t// const itemsInMonths = await this.getAuditCountByMonth(filter?.params?.year ? filter?.params?.year : this.year);\r\n\t\tlet itemsObj = await this.getItems(filter?.params?.year ? filter?.params?.year : this.year);\r\n\t\tlet yearsArray = await this.repository.getAuditYearAsync();\r\n\t\t// if (yearsArray.length > this.years.length) this.years = yearsArray;\r\n\t\t//if (this.state.filteredCode != null) items = this.buildFilter(items);\r\n\r\n\t\t//RITM0574613\r\n\t\tconst years = Array.from(new Array(6), (val, index) => (index + (yearsArray[0])).toString())\r\n\t\t\r\n\t\tthis.setState({\r\n\t\t\ttotalAudits: itemsObj.totCount,\r\n\t\t\titemsInMonths: itemsObj.monthsCount,\r\n\t\t\titems: itemsObj.audits,\r\n\t\t\tloading: false,\r\n\t\t\t//userDivision, //B1_Audit_Module_Optimization\r\n\t\t\tfilter,\r\n\t\t\tyearsList: years\r\n\t\t});\r\n\t}\r\n\r\n\tonDivisionTabSelected(item, index) {\r\n\t\tthis.setState({ filteredDivision: item, filteredTab: index, currentPage: 1, loading: true, isBack: false }, async () => {\r\n\t\t\tthis.refreshData();\r\n\t\t});\r\n\t}\r\n\r\n\tasync onYearChange(selectedItem) {\r\n\t\tlet year;\r\n\t\ttry {\r\n\t\t\tyear = selectedItem.selectedItem;\r\n\t\t} catch (error) {\r\n\t\t\tyear = this.year;\r\n\t\t}\r\n\t\tthis.setState({ filteredYear: year, filteredMonth: null, currentPage: 1, loading: true, isBack: false }, () => {\r\n\t\t\tthis.refreshData();\r\n\t\t});\r\n\t}\r\n\r\n\tgetHashtagYear = () => {\r\n\t\tif (this.props.location?.hash != null && this.props.location.hash.length > 1) {\r\n\t\t\tvar code = decodeURIComponent(this.props.location.hash.substring(1));\r\n\t\t\tvar year = code.substring(code.length - 4);\r\n\t\t\tif (year) return year;\r\n\t\t\treturn this.year;\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\r\n\tgetHashtag = () => {\r\n\t\tif (this.props.location?.hash != null && this.props.location.hash.length > 1) {\r\n\t\t\treturn decodeURIComponent(this.props.location.hash.substring(1));\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\r\n\t// getAuditCount = async (year) => {\r\n\t// \tlet totalAudits = 0;\r\n\t// \ttry {\r\n\t// \t\ttotalAudits = await this.repository.getAuditCount(year, await this.getFilters());\r\n\t// \t} catch (error) {\r\n\t// \t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, \"loading audits\", apioperation.GET));\r\n\t// \t}\r\n\t// \treturn totalAudits;\r\n\t// };\r\n\r\n\t// getAuditCountByMonth = async (year) => {\r\n\t// \tlet items = [];\r\n\t// \ttry {\r\n\t// \t\titems = await this.repository.getAuditCountByMonth(year, await this.getFilters());\r\n\t// \t} catch (error) {\r\n\t// \t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, \"loading audits\", apioperation.GET));\r\n\t// \t}\r\n\t// \treturn items;\r\n\t// };\r\n\r\n\tgetItems = async (year, renewFilter = true) => {\r\n\t\ttry {\r\n\t\t\tconst skip = (this.state.currentPage - 1) * this.state.pageSize;\r\n\t\t\tconst audits = await this.repository.getAudits(year, skip, this.state.pageSize, await this.getFilters(renewFilter));\r\n\t\t\tif (!this.state.isBack) {\r\n\t\t\t\tawait this.repository.updateCachedAuditFilter(await this.getFilters(renewFilter));\r\n\t\t\t}\r\n\t\t\treturn audits;\r\n\t\t} catch (error) {\r\n\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, \"loading audits\", apioperation.GET));\r\n\t\t\treturn [];\r\n\t\t}\r\n\t};\r\n\r\n\tgetItemsFromCache = async (year) => {\r\n\t\tlet items = [];\r\n\r\n\t\ttry {\r\n\t\t\titems = await this.repository.getCachedAudits(year);\r\n\t\t} catch (error) {\r\n\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, \"loading audits\", \"ERROR\"));\r\n\t\t}\r\n\t\treturn items;\r\n\t};\r\n\r\n\thandleSearchClear = async () => {\r\n\t\tawait this.setState(() => ({\r\n\t\t\tshowFilters: false,\r\n\t\t\tfilteredAuditScopes: [],\r\n\t\t\tfilteredAuditReasons: [],\r\n\t\t\tfilteredAuditCountries: [],\r\n\t\t\tfilteredAuditProjectsAuditee: [],\r\n\t\t\t//filteredAuditSubContractors: [],\r\n\t\t\tfilteredAuditSubContractors: null, //RITM0964998 - Download Audit Programs Fix\r\n\t\t\tfilteredAuditType: null,\r\n\t\t\tfilteredMonth: null,\r\n\t\t\tfilteredTarget: null,\r\n\t\t\tfilteredStatus: null,\r\n\t\t\tfilteredPlanStatus: null,\r\n\t\t\tfilteredAuditRemote: null,\r\n\t\t\tfilteredWorkSites: [],\r\n\t\t\tfilteredPlanCompiler: null,\r\n\t\t\t//filteredPurchaseOrder: [], //RITM0646764\r\n\t\t\tfilteredPurchaseOrder: null, //RITM0964998 - Download Audit Programs Fix\r\n\t\t\tfilteredApprover: null,\r\n\t\t\tfilteredManager: null,\r\n\t\t\tfilteredCompiler: null,\r\n\t\t\tfilteredPlanCompiler: null,\r\n\t\t\tfilteredTab: null,\r\n\t\t\tfilteredDivision: null,\r\n\t\t\t//RITM0544059\r\n\t\t\tfilteredSection: null,\r\n\t\t\tfilteredAuditor: null,\r\n\t\t\tfilteredDivisionAuditor: null,\r\n\t\t\tfilteredCompanyAuditor: null,\r\n\t\t\tfilteredProjectAuditor: null,\r\n\r\n\t\t\t// filteredYear : null,\r\n\t\t\tfilteredCode: this.getHashtag(),\r\n\t\t\tfilteredFindingCode: this.getHashtag(),\r\n\t\t\tfilteredProjectAuditCode: this.getHashtag(),\r\n\t\t\tfilteredProjectFindingCode: this.getHashtag(),\r\n\t\t\tisBack: false,\r\n\t\t}));\r\n\t\tthis.refreshData();\r\n\t};\r\n\r\n\tonShowFilters = () => {\r\n\t\tthis.setState((oldState) => ({ showFilters: !oldState.showFilters }));\r\n\t};\r\n\r\n\thandleChangePaging = async (page) => {\r\n\t\t//RITM0549692\r\n\t\tconst lastFilter = { ...this.state.lastFilter, params: { ...this.state.lastFilter.params, page: page.page, pageSize: page.pageSize } };\r\n\r\n\t\tawait new Promise((resolve) => {\r\n\t\t\tthis.setState({ currentPage: page.page, pageSize: page.pageSize, lastFilter: lastFilter, loading: true }, resolve);\r\n\t\t});\r\n\r\n\t\tawait this.repository.updateCachedAuditFilter(lastFilter);\r\n\t\tconst itemsObj = await this.getItems(this.state.filteredYear || this.year, false);\r\n\t\tthis.setState(() => ({\r\n\t\t\titems: itemsObj.audits,\r\n\t\t\tloading: false,\r\n\t\t}));\r\n\t};\r\n\r\n\tonDelete = async () => {\r\n\t\tthis.refreshData();\r\n\t};\r\n\r\n\tgetFilters = async (renew = true) => {\r\n\t\tif (renew) {\r\n\t\t\tlet data = null;\r\n\t\t\tif (!this.state.isBack || this.state.filteredCode) {\r\n\t\t\t\tconst filter = {\r\n\t\t\t\t\ttab: this.state.filteredTab || null,\r\n\t\t\t\t\tyear: this.state.filteredYear || null,\r\n\t\t\t\t\tidDivision: this.state.filteredDivision || null,\r\n\t\t\t\t\ttype: this.state.filteredAuditType || null,\r\n\t\t\t\t\tscopes: this.state.filteredAuditScopes.length > 0 ? this.state.filteredAuditScopes.map((f) => f.id).join(\"|\") : null,\r\n\t\t\t\t\treasons: this.state.filteredAuditReasons.length > 0 ? this.state.filteredAuditReasons.map((f) => f.id).join(\"|\") : null,\r\n\t\t\t\t\tcountriesAuditee: this.state.filteredAuditCountries.length > 0 ? this.state.filteredAuditCountries.map((f) => f.id).join(\"|\") : null,\r\n\t\t\t\t\tprojectsAuditee: this.state.filteredAuditProjectsAuditee.length > 0 ? this.state.filteredAuditProjectsAuditee.map((f) => f.id).join(\"|\") : null,\r\n\t\t\t\t\tsubContractors: this.state.filteredAuditSubContractors || null,\r\n\t\t\t\t\tidTarget: this.state.filteredTarget?.id || null,\r\n\t\t\t\t\tmonth: this.state.filteredMonth || null,\r\n\t\t\t\t\tidStatus: this.state.filteredStatus?.id || null,\r\n\t\t\t\t\tidPlanStatus: this.state.filteredPlanStatus?.id || null,\r\n\t\t\t\t\tauditRemote: this.state.filteredAuditRemote?.value || null,\r\n\t\t\t\t\tworkSites: this.state.filteredWorkSites.length > 0 ? this.state.filteredWorkSites?.map((f) => f.id).join(\"|\") : [],\r\n\t\t\t\t\tcompiler: this.state.filteredCompiler || null,\r\n\t\t\t\t\tplanCompiler: this.state.filteredPlanCompiler || null,\r\n\t\t\t\t\tpurchaseOrders: this.state.filteredPurchaseOrder || null, //RITM0646764\r\n\t\t\t\t\tapprover: this.state.filteredApprover || null,\r\n\t\t\t\t\tdivisionManager: this.state.filteredManager || null,\r\n\t\t\t\t\tauditCode: this.state.filteredCode || null,\r\n\t\t\t\t\tfindingCode: this.state.filteredFindingCode || null,\r\n\t\t\t\t\tprojectAuditCode: this.state.filteredProjectAuditCode || null,\r\n\t\t\t\t\tprojectFindingCode: this.state.filteredProjectFindingCode || null,\r\n\t\t\t\t\t//RITM0549692\r\n\t\t\t\t\tpageSize: this.state.pageSize,\r\n\t\t\t\t\tpage: this.state.currentPage,\r\n\t\t\t\t\t//RITM0544059\r\n\t\t\t\t\tidSection: this.state.filteredSection?.id,\r\n\t\t\t\t\tidLeadAuditor: this.state.filteredAuditor?.id,\r\n\t\t\t\t\tidDivisionLeadAuditor: this.state.filteredDivisionAuditor?.id,\r\n\t\t\t\t\tidCompanyLeadAuditor: this.state.filteredCompanyAuditor?.id,\r\n\t\t\t\t\tidProjectLeadAuditor: this.state.filteredProjectAuditor?.id,\r\n\t\t\t\t};\r\n\t\t\t\tdata = {\r\n\t\t\t\t\tparams: {\r\n\t\t\t\t\t\t...filter,\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\t\tthis.setState(() => ({\r\n\t\t\t\t\tlastFilter: data,\r\n\t\t\t\t}));\r\n\t\t\t} else {\r\n\t\t\t\tlet filter = await this.repository.getCachedAuditsFilter();\r\n\t\t\t\tdata = {\r\n\t\t\t\t\tparams: Object.assign({},filter?.params ?? {}), //RITM0709290\r\n\t\t\t\t};\r\n\t\t\t\tdata.params.page = 1; //RITM0549692\r\n\t\t\t\t//RITM0709290 - rimosso reset anno\r\n\t\t\t\tlet status = await this.repository.getCachedStatuses();\r\n\t\t\t\tlet targert = await this.repository.getCachedTargets();\r\n\t\t\t\tlet worksites = await this.repository.getCachedWorkSites();\r\n\t\t\t\t//let scopes = await this.repository.getScopes(); //B1_Audit_Module_Optimization\r\n\t\t\t\tlet scopes = await this.repository.getCachedScopes();\r\n\t\t\t\t//let reasons = await this.repository.getReasonForSampling(); //B1_Audit_Module_Optimization\r\n\t\t\t\tlet reasons = await this.repository.getCachedReasonForSampling();\r\n\t\t\t\t//let countriesAuditee = await this.repository.getCountries(); //B1_Audit_Module_Optimization\r\n\t\t\t\tlet countriesAuditee = await this.repository.getCachedCountries();\r\n\t\t\t\t//let projectsAuditee = await MeRepository.getProjects(null); //B1_Audit_Module_Optimization\r\n\t\t\t\tlet projectsAuditee = await this.repository.getCachedProjects();\r\n\t\t\t\t//RITM0544059\r\n\t\t\t\t//let section = await this.repository.getSections(); //B1_Audit_Module_Optimization\r\n\t\t\t\tlet section = await this.repository.getCachedSection();\r\n\t\t\t\t//let division = await MeRepository.getDivisions(); //B1_Audit_Module_Optimization\r\n\t\t\t\tlet division = await this.repository.getCachedDivisions();\r\n\t\t\t\t//let companies = await MeRepository.getCompanies(); //B1_Audit_Module_Optimization\r\n\t\t\t\tlet companies = await this.repository.getCachedCompanies();\r\n\t\t\t\t//let project = await MeRepository.getProjects(null); //B1_Audit_Module_Optimization\r\n\t\t\t\t//let userDivision = await this.repository.getAuditors(); //B1_Audit_Module_Optimization\r\n\t\t\t\tlet userDivision = await this.repository.getCachedAuditor();\r\n\r\n\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisOpenSearchForm: true,\r\n\t\t\t\t\tlastFilter: data,\r\n\t\t\t\t\tfilteredMonth: filter?.params?.month || null,\r\n\t\t\t\t\tfilteredTab: filter?.params?.tab || null,\r\n\t\t\t\t\tfilteredStatus: status?.find((el) => el.id === filter?.params?.idStatus) || null,\r\n\t\t\t\t\tfilteredPlanStatus: status?.find((el) => el.id === filter?.params?.idPlanStatus) || null,\r\n\t\t\t\t\tfilteredAuditRemote: status?.find((el) => el.id === filter?.params?.name) || null,\r\n\t\t\t\t\tfilteredTarget: targert?.find((el) => el.id === filter?.params?.idTarget) || null,\r\n\t\t\t\t\tfilteredDivision: filter?.params?.idDivision || null,\r\n\t\t\t\t\tfilteredAuditType: filter?.params?.type || null,\r\n\t\t\t\t\tfilteredCompiler: filter?.params?.compiler || null,\r\n\t\t\t\t\tfilteredPlanCompiler: filter?.params?.planCompiler || null,\r\n\t\t\t\t\tfilteredPurchaseOrder: filter?.params?.purchaseOrders || null, //RITM0646764\r\n\t\t\t\t\tfilteredApprover: filter?.params?.approver || null,\r\n\t\t\t\t\tfilteredManager: filter?.params?.divisionManager || null,\r\n\t\t\t\t\tfilteredCode: filter?.params?.auditCode || null,\r\n\t\t\t\t\tfilteredFindingCode: filter?.params?.findingCode || null,\r\n\t\t\t\t\tfilteredProjectAuditCode: filter?.params?.projectAuditCode || null,\r\n\t\t\t\t\tfilteredProjectFindingCode: filter?.params?.projectFindingCode || null,\r\n\t\t\t\t\tfilteredYear: filter.params?.year || null,\r\n\t\t\t\t\t//multiple\r\n\t\t\t\t\tfilteredAuditScopes: filter?.params?.scopes != null ? scopes?.filter((s) => filter?.params?.scopes.includes(s.id)) || [] : [], //B1_Audit_Module_Optimization\r\n\t\t\t\t\tfilteredAuditReasons: filter?.params?.reasons != null ? reasons?.filter((s) => filter?.params?.reasons.includes(s.id)) || [] : [], //B1_Audit_Module_Optimization\r\n\t\t\t\t\tfilteredAuditCountries: filter?.params?.countriesAuditee != null ? countriesAuditee?.filter((s) => filter?.params?.countriesAuditee.includes(s.id)) || [] : [], //B1_Audit_Module_Optimization\r\n\t\t\t\t\tfilteredAuditProjectsAuditee: filter?.params?.projectsAuditee != null ? projectsAuditee?.filter((s) => filter?.params?.projectsAuditee.includes(s.id)) || [] : [], //B1_Audit_Module_Optimization\r\n\t\t\t\t\tfilteredAuditSubContractors: filter?.params?.subContractors || null ,\r\n\t\t\t\t\tfilteredWorkSites: worksites?.filter((w) => filter?.params?.workSites.includes(w.id)) || [],\r\n\t\t\t\t\t//RITM0549692\r\n\t\t\t\t\tpageSize: filter?.params?.pageSize ?? 10,\r\n\t\t\t\t\tcurrentPage: 1,\r\n\t\t\t\t\t//RITM0544059\r\n\t\t\t\t\tfilteredSection: filter.params?.idSection !=null ? section?.find((el) => el.id === filter.params?.idSection) || null : null, //B1_Audit_Module_Optimization\r\n\t\t\t\t\tfilteredAuditor: filter.params?.idLeadAuditor != null ? userDivision?.find((el) => el.id === filter.params?.idLeadAuditor) || null : null, //B1_Audit_Module_Optimization\r\n\t\t\t\t\tfilteredDivisionAuditor: filter.params?.idDivisionLeadAuditor != null ? division?.find((el) => el.id === filter.params?.idDivisionLeadAuditor) || null : null, //B1_Audit_Module_Optimization\r\n\t\t\t\t\tfilteredCompanyAuditor: filter.params?.idCompanyLeadAuditor != null ? companies?.find((el) => el.id === filter.params?.idCompanyLeadAuditor) || null : null, //B1_Audit_Module_Optimization\r\n\t\t\t\t\tfilteredProjectAuditor: filter.params?.idProjectLeadAuditor != null ? projectsAuditee?.find((el) => el.id === filter.params?.idProjectLeadAuditor) || null : null,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif (\r\n\t\t\t\tthis.state.filteredStatus == undefined &&\r\n\t\t\t\tthis.state.filteredPlanStatus == undefined &&\r\n\t\t\t\tthis.state.filteredAuditRemote == undefined &&\r\n\t\t\t\tthis.state.filteredTarget == undefined &&\r\n\t\t\t\tthis.state.filteredAuditType == undefined &&\r\n\t\t\t\tthis.state.filteredCompiler == undefined &&\r\n\t\t\t\tthis.state.filteredPlanCompiler == undefined &&\r\n\t\t\t\tthis.state.filteredPurchaseOrder == undefined && //RITM0646764\r\n\t\t\t\tthis.state.filteredApprover == undefined &&\r\n\t\t\t\tthis.state.filteredManager == undefined &&\r\n\t\t\t\tthis.state.filteredCode == undefined &&\r\n\t\t\t\tthis.state.filteredFindingCode == undefined &&\r\n\t\t\t\tthis.state.filteredProjectAuditCode == undefined &&\r\n\t\t\t\tthis.state.filteredProjectFindingCode == undefined &&\r\n\t\t\t\t//RITM0544059\r\n\t\t\t\tthis.state.filteredSection == undefined &&\r\n\t\t\t\tthis.state.filteredAuditor == undefined &&\r\n\t\t\t\tthis.state.filteredDivisionAuditor == undefined &&\r\n\t\t\t\tthis.state.filteredCompanyAuditor == undefined &&\r\n\t\t\t\tthis.state.filteredProjectAuditor == undefined &&\r\n\t\t\t\t//\r\n\t\t\t\t(this.state.filteredAuditScopes == undefined || this.state.filteredAuditScopes.length == 0) &&\r\n\t\t\t\t(this.state.filteredAuditReasons == undefined || this.state.filteredAuditReasons.length == 0) &&\r\n\t\t\t\t(this.state.filteredAuditCountries == undefined || this.state.filteredAuditCountries.length == 0) &&\r\n\t\t\t\t(this.state.filteredAuditProjectsAuditee == undefined || this.state.filteredAuditProjectsAuditee.length == 0) &&\r\n\t\t\t\tthis.state.filteredAuditSubContractors == undefined &&\r\n\t\t\t\t(this.state.filteredWorkSites == undefined || this.state.filteredWorkSites.length == 0)\r\n\t\t\t) {\r\n\t\t\t\tthis.setState({ showFilters: false });\r\n\t\t\t} else {\r\n\t\t\t\tthis.setState({ showFilters: true });\r\n\t\t\t}\r\n\t\t\treturn data;\r\n\t\t}\r\n\t\treturn { ...this.state.lastFilter, currentPage: 1 /*RITM0549692*/ };\r\n\t};\r\n\r\n\tonMonthFilter = (month) => {\r\n\t\tthis.setState({ filteredMonth: month > 0 ? month : null, currentPage: 1, loading: true, isBack: false }, () => {\r\n\t\t\tthis.refreshData();\r\n\t\t});\r\n\t};\r\n\r\n\tonAuditTypeFilter = (type) => {\r\n\t\tthis.setState({ filteredAuditType: type, isBack: false });\r\n\t};\r\n\r\n\tonTargetFilter = (target) => {\r\n\t\tthis.setState({ filteredTarget: target, isBack: false });\r\n\t};\r\n\r\n\tonStatusFilter = (status) => {\r\n\t\tthis.setState({ filteredStatus: status, isBack: false });\r\n\t};\r\n\r\n\tonPlanStatusFilter = (status) => {\r\n\t\tthis.setState({ filteredPlanStatus: status, isBack: false });\r\n\t};\r\n\r\n\tonAuditRemoteFilter = (remote) => {\r\n\t\tthis.setState({ filteredAuditRemote: remote, isBack: false });\r\n\t};\r\n\r\n\tonAuditScopeFilter = (scopes) => {\r\n\t\tthis.setState({ filteredAuditScopes: scopes, isBack: false });\r\n\t};\r\n\r\n\tonAuditReasonFilter = (reasons) => {\r\n\t\tthis.setState({ filteredAuditReasons: reasons, isBack: false });\r\n\t};\r\n\r\n\tonAuditCountryFilter = (countries) => {\r\n\t\tthis.setState({ filteredAuditCountries: countries, isBack: false });\r\n\t};\r\n\r\n\tonAuditProjectAuditeeFilter = (projectsAuditee) => {\r\n\t\tthis.setState({ filteredAuditProjectsAuditee: projectsAuditee, isBack: false });\r\n\t};\r\n\r\n\tonAuditSubContractorFilter = (subContractors) => {\r\n\t\tthis.setState({ filteredAuditSubContractors: subContractors, isBack: false });\r\n\t};\r\n\r\n\tonWorkSiteFilter = (worksites) => {\r\n\t\tthis.setState({ filteredWorkSites: worksites, isBack: false });\r\n\t};\r\n\r\n\tonCompilerFilter = (compiler) => {\r\n\t\tthis.setState({ filteredCompiler: compiler, isBack: false });\r\n\t};\r\n\r\n\tonPlanCompilerFilter = (compiler) => {\r\n\t\tthis.setState({ filteredPlanCompiler: compiler, isBack: false });\r\n\t};\r\n\r\n\tonPurchaseOrderFilter = (purchaseOrder) => {\r\n\t\tthis.setState({ filteredPurchaseOrder: purchaseOrder, isBack: false });\r\n\t};\r\n\r\n\tonApproverFilter = (approver) => {\r\n\t\tthis.setState({ filteredApprover: approver, isBack: false });\r\n\t};\r\n\r\n\tonDivisionManagerFilter = (manager) => {\r\n\t\tthis.setState({ filteredManager: manager, isBack: false });\r\n\t};\r\n\r\n\tonCodeFilter = (code) => {\r\n\t\tthis.setState({ filteredCode: code, isBack: false });\r\n\t};\r\n\r\n\tonFindingCodeFilter = (findingCode) => {\r\n\t\tthis.setState({ filteredFindingCode: findingCode, isBack: false });\r\n\t};\r\n\r\n\tonProjectAuditCodeFilter = (projectAuditCode) => {\r\n\t\tthis.setState({ filteredProjectAuditCode: projectAuditCode, isBack: false });\r\n\t};\r\n\r\n\tonProjectFindingCodeFilter = (projectFindingCode) => {\r\n\t\tthis.setState({ filteredProjectFindingCode: projectFindingCode, isBack: false });\r\n\t};\r\n\r\n\t//RITM0544059\r\n\tonChangeSectionFilter = (section) => {\r\n\t\tthis.setState({ filteredSection: section, isBack: false });\r\n\t};\r\n\tonChangeLeadAuditorFilter = (auditor) => {\r\n\t\tthis.setState({ filteredAuditor: auditor, isBack: false });\r\n\t};\r\n\tonChangeDivisionLeadAuditorFilter = (divisionAuditor) => {\r\n\t\tthis.setState({ filteredDivisionAuditor: divisionAuditor, isBack: false });\r\n\t};\r\n\tonChangeCompanyLeadAuditorFilter = (companyAuditor) => {\r\n\t\tthis.setState({ filteredCompanyAuditor: companyAuditor, isBack: false });\r\n\t};\r\n\tonChangeProjectLeadAuditorFilter = (projectAuditor) => {\r\n\t\tthis.setState({ filteredProjectAuditor: projectAuditor, isBack: false });\r\n\t};\r\n\r\n\tshowAddAudit() {\r\n\t\tthis.setState((oldState) => ({\r\n\t\t\tmodalAuditVisible: !oldState.modalAuditVisible,\r\n\t\t\tauditToModify: null,\r\n\t\t}));\r\n\t}\r\n\r\n\tshowEditAudit(row) {\r\n\t\tthis.setState((oldState) => ({\r\n\t\t\tmodalAuditVisible: !oldState.modalAuditVisible,\r\n\t\t\tauditToModify: oldState.items.find((item) => item.id === row.id),\r\n\t\t}));\r\n\t}\r\n\r\n\tnewAuditAdded = async (item) => {\r\n\t\tthis.repository.updateCachedAuditList(item, item.referenceYear);\r\n\t\tawait new Promise((resolve) => {\r\n\t\t\tthis.setState(\r\n\t\t\t\t{\r\n\t\t\t\t\tcurrentPage: 1,\r\n\t\t\t\t\tfilteredMonth: null,\r\n\t\t\t\t\tfilteredYear: item.referenceYear,\r\n\t\t\t\t\tloading: true,\r\n\t\t\t\t\tmodalAuditVisible: false,\r\n\t\t\t\t},\r\n\t\t\t\tresolve\r\n\t\t\t);\r\n\t\t});\r\n\t\tthis.handleSearchClear();\r\n\t};\r\n\r\n\tasync refreshData() {\r\n\t\tthis.setState({ loading: true });\r\n\t\t// Rimosse chiamate e implementati i count nella chiamata principale (getItems)\r\n\t\t//const totAudits = await this.getAuditCount(this.state.filteredYear ? this.state.filteredYear : this.year);\r\n\t\t//const itemsInMonths = await this.getAuditCountByMonth(this.state.filteredYear ? this.state.filteredYear : this.year);\r\n\t\tconst itemsObj = await this.getItems(this.state.filteredYear ? this.state.filteredYear : this.year);\r\n\t\t// if (this.state.filteredCode != null) items = this.buildFilter(items);\r\n\t\tthis.setState({\r\n\t\t\ttotalAudits: itemsObj.totCount,\r\n\t\t\titemsInMonths: itemsObj.monthsCount,\r\n\t\t\titems: itemsObj.audits,\r\n\t\t\tloading: false,\r\n\t\t});\r\n\t}\r\n\r\n\tauditUpdated = async (auditPlan) => {\r\n\t\tawait new Promise((resolve) => {\r\n\t\t\tthis.setState(\r\n\t\t\t\t{\r\n\t\t\t\t\tcurrentPage: 1,\r\n\t\t\t\t\tfilteredMonth: null,\r\n\t\t\t\t\tfilteredYear: auditPlan.referenceYear,\r\n\t\t\t\t\tloading: true,\r\n\t\t\t\t\tmodalAuditVisible: false,\r\n\t\t\t\t},\r\n\t\t\t\tresolve\r\n\t\t\t);\r\n\t\t});\r\n\t\tawait this.repository.updateCachedAuditList(auditPlan, auditPlan.referenceYear);\r\n\t\tthis.handleSearchClear();\r\n\t};\r\n\r\n\trender() {\r\n\t\tconst paginationProps = () => ({\r\n\t\t\tpage: this.state.currentPage || 1,\r\n\t\t\ttotalItems: this.state.totalAudits || 0,\r\n\t\t\tpageSize: this.state.pageSize || 10,\r\n\t\t\tpageSizes: [5, 10, 20, 30, 40, 50],\r\n\t\t\tonChange: this.handleChangePaging,\r\n\t\t});\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{({ user }) =>\r\n\t\t\t\t\tIsEnabled(user, \"Audit\") ? (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t// showNotification.error(`${entitiesLabels.ERROR}`, getError(error, \"loading division\", apioperation.GET)); //RITM0945977\r\n\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, \"loading business line\", apioperation.GET));\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t\tCurrent year\r\n\t\t\t\t\t\t\t\t\t\t\t item || \"\"}\r\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"inline\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabel=\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t\t{this.state.modalAuditVisible ? (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t\t{this.state.loading ? (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t this.refreshData()}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonDelete={this.onDelete}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonMonthFilter={this.onMonthFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonTypeFilter={this.onAuditTypeFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonScopeFilter={this.onAuditScopeFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonReasonFilter={this.onAuditReasonFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonCountryFilter={this.onAuditCountryFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonProjectAuditeeFilter={this.onAuditProjectAuditeeFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonSubContractorFilter={this.onAuditSubContractorFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonTargetFilter={this.onTargetFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonStatusFilter={this.onStatusFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonPlanStatusFilter={this.onPlanStatusFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonAuditRemoteFilter={this.onAuditRemoteFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonWorkSiteFilter={this.onWorkSiteFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonSearchClear={this.handleSearchClear}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonSearch={() => this.refreshData()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t//RITM0544059\r\n\t\t\t\t\t\t\t\t\t\t\t\tonChangeSectionFilter={this.onChangeSectionFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonChangeLeadAuditorFilter={this.onChangeLeadAuditorFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonChangeDivisionLeadAuditorFilter={this.onChangeDivisionLeadAuditorFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonChangeCompanyLeadAuditorFilter={this.onChangeCompanyLeadAuditorFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonChangeProjectLeadAuditorFilter={this.onChangeProjectLeadAuditorFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\t//\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedAuditType={this.state.filteredAuditType}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedScopes={this.state.filteredAuditScopes}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedReasons={this.state.filteredAuditReasons}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedCountries={this.state.filteredAuditCountries}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedProjectsAuditee={this.state.filteredAuditProjectsAuditee}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedSubContractors={this.state.filteredAuditSubContractors}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedTarget={this.state.filteredTarget}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedYear={this.state.filteredYear}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedStatus={this.state.filteredStatus}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedPlanStatus={this.state.filteredPlanStatus}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedAuditRemote={this.state.filteredAuditRemote}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedWorkSites={this.state.filteredWorkSites}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedCompiler={this.state.filteredCompiler}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedPlanCompiler={this.state.filteredPlanCompiler}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedPurchaseOrder={this.state.filteredPurchaseOrder}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedApprover={this.state.filteredApprover}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedDivisionManager={this.state.filteredManager}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedMonth={this.state.filteredMonth}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedCode={this.state.filteredCode}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedFindingCode={this.state.filteredFindingCode}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedProjectAuditCode={this.state.filteredProjectAuditCode}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedProjectFindingCode={this.state.filteredProjectFindingCode}\r\n\t\t\t\t\t\t\t\t\t\t\t\t//RITM0544059\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedSection={this.state.filteredSection}\r\n\t\t\t\t\t\t\t\t\t\t\t\t//userDivision={this.state.userDivision} //B1_Audit_Module_Optimization\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedLeadAuditor={this.state.filteredAuditor}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedDivisionLeadAuditor={this.state.filteredDivisionAuditor}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedCompanyLeadAuditor={this.state.filteredCompanyAuditor}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedProjectLeadAuditor={this.state.filteredProjectAuditor}\r\n\t\t\t\t\t\t\t\t\t\t\t\t//\r\n\t\t\t\t\t\t\t\t\t\t\t\tonCompilerFilter={this.onCompilerFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonPlanCompilerFilter={this.onPlanCompilerFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonPurchaseOrderFilter={this.onPurchaseOrderFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonApproverFilter={this.onApproverFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonDivisionManagerFilter={this.onDivisionManagerFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonCodeFilter={this.onCodeFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonFindingCodeFilter={this.onFindingCodeFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonProjectAuditCodeFilter={this.onProjectAuditCodeFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonProjectFindingCodeFilter={this.onProjectFindingCodeFilter}\r\n\t\t\t\t\t\t\t\t\t\t\t\tfilters={this.state.lastFilter?.params || []}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : null\r\n\t\t\t\t}\r\n\t\t\t
    \r\n\t\t);\r\n\t}\r\n}\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { entitiesLabels } from '../../helpers/Constants';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport {\r\n Button,\r\n ComposedModal,\r\n FormGroup,\r\n ModalBody,\r\n ModalFooter,\r\n ModalHeader,\r\n TextInput\r\n} from 'carbon-components-react';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\n\r\nexport class CAROwnerManualInputModal extends Component {\r\n genericOwnerTemplate = {\r\n id: null,\r\n name: '',\r\n surname: '',\r\n email: '',\r\n badgeNumber: ''\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator({ autoForceUpdate: this, locale: 'en' });\r\n const model = props.editModal ? props.editModel : this.genericOwnerTemplate;\r\n this.state = {\r\n model\r\n };\r\n }\r\n\r\n onSave = () => {\r\n if (this.validator.allValid()) {\r\n this.props.onOk(this.state.model);\r\n // showNotification.success(`${entitiesLabels.SUCCESS}`, \"Team Member created successfully\");\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`, entitiesLabels.GENERICOWNER + \" fields are invalid.\");\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n let stateCopy = Object.assign({}, this.state);\r\n stateCopy[objName][inputName] = inputValue;\r\n this.setState(stateCopy);\r\n };\r\n\r\n handleChangeModel = el => {\r\n let inputName = el.target.name;\r\n let inputValue = el.target.value;\r\n let objName = el.target.alt;\r\n this.updateState(inputName, inputValue, objName);\r\n };\r\n\r\n render() {\r\n this.validator.purgeFields();\r\n const validations = {\r\n name: this.validator.message('name', this.state.model.name, 'required'),\r\n surname: this.validator.message('surname', this.state.model.surname, 'required'),\r\n email: this.validator.message('email', this.state.model.email, 'required|email')\r\n };\r\n const modalHeader = {\r\n title: this.props.isEditModal ? 'Edit ' : 'Add new ',\r\n iconDescription: 'Close',\r\n buttonOnClick: this.props.onCancel\r\n };\r\n\r\n return (\r\n (false)}\r\n >\r\n \r\n

    Insert CAR Owner

    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n {validations.name}\r\n \r\n \r\n \r\n {validations.surname}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {validations.email}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n\r\nCAROwnerManualInputModal.propTypes = {\r\n onCancel: PropTypes.func.isRequired,\r\n onOk: PropTypes.func.isRequired\r\n}","/* eslint-disable react/no-access-state-in-setstate */\r\n/* eslint-disable react/sort-comp */\r\nimport React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n TextInput,\r\n Button,\r\n FormGroup,\r\n ComposedModal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n DropdownSkeleton,\r\n TextArea\r\n} from 'carbon-components-react';\r\nimport moment from 'moment';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { v4 as uuid } from 'uuid';\r\nimport _sortBy from 'lodash/sortBy';\r\nimport { switchDateFormat } from '../../helpers/jsonschemaform/customwidget/utils';\r\nimport { FindGHRSEmployer } from '../common/FindGHRSEmployer';\r\nimport { ComboBox } from '../../helpers/ComboBox';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport {\r\n DateFormat,\r\n entitiesLabels,\r\n getError,\r\n apioperation,\r\n CarType,\r\n GetCarTypeByCode,\r\n} from '../../helpers/Constants';\r\nimport DateTimePicker from '../../helpers/DateTimePicker';\r\nimport AuditRepository from '../../helpers/api/AuditRepository';\r\nimport FindSaipemCompilers from '../common/FindSaipemCompilers';\r\nimport { CAROwnerManualInputModal } from '../functions/CAROwnerManualInputModal';\r\n\r\nexport default class AuditCARModal extends Component {\r\n auditCARModel = (props) => {\r\n if (props.isEditModal) {\r\n const { editModel } = props;\r\n\r\n return { ...editModel };\r\n }\r\n\r\n return {\r\n id: undefined, // guid\r\n idAudit: null, // guid\r\n idAnswer: null, // guid\r\n idStatus: 0, // int\r\n status: null,\r\n dueDate: null,\r\n idOwner: null, // idEmployer: null, //guid\r\n owner: null,\r\n // {\r\n // // employer: {\r\n // // id: null, // guid\r\n // // name: '',\r\n // // surname: '',\r\n // // email: '',\r\n // },\r\n idOwnerSaipem: null, // idEmployer: null, //guid\r\n ownerSaipem: null,\r\n idGenericOwner: null,\r\n genericOwner: null,\r\n // {\r\n // // employer: {\r\n // // id: null, // guid\r\n // // name: '',\r\n // // surname: '',\r\n // // email: '',\r\n // },\r\n findingsCode: null,\r\n findingsLevel1: null,\r\n findingsLevel2: null,\r\n findingsLevel3: null,\r\n findingsLevel4: null,\r\n inefficiency: null,\r\n referenceDocuments: null,\r\n type: null,\r\n carType: props.carType,\r\n };\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n const owner = props.isEditModal\r\n ? props.editModel.owner || props.editModel.ownerSaipem || props.editModel.genericOwner\r\n : { id: null };\r\n this.validator = new SimpleReactValidator();\r\n this.state = {\r\n model: {\r\n ...this.auditCARModel(props),\r\n },\r\n owner,\r\n mode: props.mode || 0,\r\n appACTList1: null,\r\n appACTList2: null,\r\n appACTList3: null,\r\n appACTList4: null,\r\n };\r\n this.repository = new AuditRepository();\r\n this.renderCAR = this.renderCAR.bind(this);\r\n }\r\n\r\n async componentDidMount() {\r\n let types = null;\r\n let nccList1 = null;\r\n let nccList2 = null;\r\n let nccList3 = null;\r\n let nccList4 = null;\r\n try {\r\n types = (await this.repository.getNCClassificationTypes()).itemList;\r\n nccList1 = _sortBy(\r\n types.filter((el) => el.idParent == null && (el.inUse || this.state.model.findingsLevel1 == el.name)),\r\n 'name'\r\n );\r\n if (this.state.model.findingsLevel1) {\r\n const idLevel1 = types.find((a) => a.name === this.state.model.findingsLevel1)?.id;\r\n nccList2 = _sortBy(\r\n types.filter((el) => el.idParent === idLevel1 && (el.inUse || this.state.model.findingsLevel2 == el.name)),\r\n 'name'\r\n );\r\n }\r\n if (this.state.model.findingsLevel2) {\r\n const idLevel2 = types.find((a) => a.name === this.state.model.findingsLevel2)?.id;\r\n nccList3 = _sortBy(\r\n types.filter((el) => el.idParent === idLevel2 && (el.inUse || this.state.model.findingsLevel3 == el.name)),\r\n 'name'\r\n );\r\n }\r\n if (this.state.model.findingsLevel3) {\r\n const idLevel3 = types.find((a) => a.name === this.state.model.findingsLevel3)?.id;\r\n nccList4 = _sortBy(\r\n types.filter((el) => el.idParent === idLevel3 && (el.inUse || this.state.model.findingsLevel4 == el.name)),\r\n 'name'\r\n );\r\n }\r\n this.getLevel();\r\n this.setState({\r\n types,\r\n appACTList1: nccList1,\r\n appACTList2: nccList2,\r\n appACTList3: nccList3,\r\n appACTList4: nccList4,\r\n });\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.AuditNCClassificationType, apioperation.GET));\r\n }\r\n }\r\n \r\n \r\n getLevel = async () => {\r\n const levels = await this.repository.getLevels();\r\n const appTypes = levels.itemList.filter((lv) => lv.inUse || lv.name == this.state.model.type).map((l) => l.name);\r\n this.setState({\r\n appType: appTypes,\r\n });\r\n };\r\n getNCClassificationTypesByParent(idParent) {\r\n const { types } = this.state;\r\n return _sortBy(\r\n types.filter((el) => el.idParent === idParent),\r\n 'name'\r\n );\r\n }\r\n\r\n handleChangeMode = (m) => {\r\n this.setState({ mode: m });\r\n };\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n\r\n this.setState(statusCopy);\r\n };\r\n\r\n handleChangeModel = (el) => {\r\n const inputName = el.target.name;\r\n const inputValue = el.target.value;\r\n const objName = el.target.alt;\r\n this.updateState(inputName, inputValue, objName);\r\n };\r\n\r\n handleChangeDP = (value, text, event) => {\r\n const inputName = event.element.name;\r\n const objName = event.element.alt;\r\n\r\n if (value == null || value[0] == null) {\r\n this.updateState(inputName, null, objName);\r\n return;\r\n }\r\n\r\n let date = value[0];\r\n if (typeof date === 'object') {\r\n date = switchDateFormat(date, 'JSdate');\r\n }\r\n\r\n this.updateState(inputName, date, objName);\r\n };\r\n\r\n handleChangeDPInput = (event) => {\r\n if (event == null || event.target == null) return null;\r\n const inputName = event.target.name;\r\n const objName = event.target.alt;\r\n if (event.target.value == null) {\r\n return this.updateState(inputName, null, objName);\r\n }\r\n try {\r\n let date = event.target.value;\r\n const s = date.split('/');\r\n if (s.length < 3) return null;\r\n\r\n const dd = s[0];\r\n const mm = s[1];\r\n const yy = s[2];\r\n if (dd.length < 2 || mm.length < 2 || yy.length < 4) return null;\r\n\r\n date = `${yy}-${mm}-${dd}`;\r\n\r\n return this.updateState(inputName, date, objName);\r\n } catch (error) {\r\n console.error(error);\r\n return null;\r\n }\r\n };\r\n\r\n handleChangeCombo = (inputName, selectedItem, objName) => {\r\n const inputValue = selectedItem ? selectedItem.id : null;\r\n const statusCopy = { ...this.state };\r\n\r\n statusCopy[objName][inputName] = inputValue;\r\n\r\n this.setState(statusCopy);\r\n };\r\n\r\n handleChangeComboName = (inputName, selectedItem, objName) => {\r\n if (selectedItem != null) {\r\n selectedItem.id = selectedItem.name;\r\n }\r\n this.handleChangeCombo(inputName, selectedItem, objName);\r\n };\r\n\r\n handleChangeComboType = (inputName, selectedItem, objName) => {\r\n const inputValue = selectedItem ? selectedItem.name : null;\r\n\r\n const statusCopy = { ...this.state[objName] };\r\n statusCopy[inputName] = inputValue;\r\n\r\n if (inputName == 'findingsLevel1') {\r\n statusCopy.findingsLevel2 = null;\r\n statusCopy.findingsLevel3 = null;\r\n statusCopy.findingsLevel4 = null;\r\n }\r\n\r\n if (inputName == 'findingsLevel2') {\r\n statusCopy.findingsLevel3 = null;\r\n statusCopy.findingsLevel4 = null;\r\n }\r\n\r\n if (inputName == 'findingsLevel3') {\r\n statusCopy.findingsLevel4 = null;\r\n }\r\n\r\n this.setState({ [objName]: statusCopy }, () => {\r\n this.loadRelatedProperties(inputName, inputValue, selectedItem);\r\n });\r\n };\r\n\r\n loadRelatedProperties = (inputName, inputValue, selectedItem) => {\r\n if (inputName === 'findingsLevel1') {\r\n if (selectedItem) {\r\n this.setState({\r\n appACTList2: this.getNCClassificationTypesByParent(selectedItem.id).filter((c) => c.inUse),\r\n });\r\n } else {\r\n this.setState({\r\n appACTList2: null,\r\n appACTList3: null,\r\n appACTList4: null,\r\n });\r\n }\r\n }\r\n if (inputName === 'findingsLevel2') {\r\n if (selectedItem) {\r\n this.setState({\r\n appACTList3: this.getNCClassificationTypesByParent(selectedItem.id).filter((c) => c.inUse),\r\n });\r\n } else {\r\n this.setState({\r\n appACTList3: null,\r\n appACTList4: null,\r\n });\r\n }\r\n }\r\n if (inputName === 'findingsLevel3') {\r\n if (selectedItem) {\r\n this.setState({\r\n appACTList4: this.getNCClassificationTypesByParent(selectedItem.id).filter((c) => c.inUse),\r\n });\r\n } else {\r\n this.setState({\r\n appACTList4: null,\r\n });\r\n }\r\n }\r\n };\r\n\r\n setEmployer = (employer) => {\r\n if (employer && employer.id) {\r\n const statusCopy = { ...this.state.model };\r\n statusCopy.idOwner = employer.id;\r\n statusCopy.owner = employer;\r\n statusCopy.idOwnerSaipem = null;\r\n statusCopy.ownerSaipem = null;\r\n this.setState({ model: statusCopy, mode: 0, owner: employer });\r\n }\r\n };\r\n\r\n setSaipemOwner = (employer) => {\r\n if (employer && employer.id) {\r\n const statusCopy = { ...this.state.model };\r\n statusCopy.idOwnerSaipem = employer.id;\r\n statusCopy.ownerSaipem = employer;\r\n statusCopy.idOwner = null;\r\n statusCopy.owner = null;\r\n\r\n this.setState({ model: statusCopy, mode: 0, owner: employer });\r\n }\r\n };\r\n\r\n setGenericOwner = (genericOwner) => {\r\n if(genericOwner){\r\n const statusCopy = { ...this.state.model };\r\n statusCopy.idOwnerSaipem = null;\r\n statusCopy.ownerSaipem = null;\r\n statusCopy.idOwner = null;\r\n statusCopy.owner = null;\r\n if(genericOwner.id != null){\r\n statusCopy.idGenericOwner = genericOwner.id;\r\n }else{\r\n statusCopy.idGenericOwner = genericOwner.id = uuid();\r\n }\r\n statusCopy.genericOwner = genericOwner;\r\n this.setState({ model: statusCopy, mode: 0, owner: genericOwner });\r\n } \r\n\t};\r\n\r\n save = () => {\r\n if (this.validator.allValid()) {\r\n const { model } = this.state;\r\n if (!this.props.isEditModal) {\r\n model.id = uuid();\r\n }\r\n this.props.save(model);\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.FINDING} required fields are missing `\r\n );\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n clearAttachment = () => ({\r\n\t\tid: null, // guid\r\n\t\tfileIdentifier: null,\r\n\t\tname: null,\r\n\t\tcontentType: null,\r\n\t\tsize: null,\r\n\t\ttype: null,\r\n\t});\r\n\r\n onUploadFiles = (fileIdentifier, fileName, fileType, size) => {\r\n const attachment = { ...this.state.attachment };\r\n\r\n attachment.id = uuid();\r\n attachment.fileIdentifier = fileIdentifier.blobName;\r\n attachment.name = fileName;\r\n attachment.contentType = fileType;\r\n attachment.size = size;\r\n // attachment.filePath = file.localPath;\r\n\r\n this.setState({\r\n attachment: this.clearAttachment(),\r\n });\r\n\r\n try {\r\n if (attachment == null) return;\r\n // insert\r\n const oldattachment = this.state.model.attachment || [];\r\n\r\n const newItem = {\r\n id: uuid(), // guid\r\n\r\n idAttachment: attachment.id, // guid\r\n attachment,\r\n };\r\n\r\n const newattachment = oldattachment.concat([newItem]);\r\n this.setState({model: {...this.state.model, attachment: newattachment}})\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n onRemoveFile = (id) => {\r\n if (!id) return;\r\n const statusCopy = { ...this.state.model };\r\n statusCopy.attachment = statusCopy.attachment.filter((el) => el.id !== id);\r\n this.setState({model: statusCopy});\r\n };\r\n\r\n\r\n render() {\r\n return this.renderCAR();\r\n }\r\n\r\n renderCAR() {\r\n var diffduedate;\r\n if (this.state.model.dueDate != null) {\r\n diffduedate =\r\n !this.state.model.dueDate ||\r\n moment(this.state.model.dueDate).isSameOrAfter(moment(this.props.audit?.startDate), 'day');\r\n } else {\r\n diffduedate = true;\r\n }\r\n\r\n const dueDateIsValid =\r\n this.state.model.type != null && this.state.model.type.includes('Strength')\r\n ? true\r\n : this.state.model.dueDate != null;\r\n\r\n const validations = {\r\n inefficiency: this.validator.message('details', this.state.model.inefficiency, 'required'),\r\n referenceDocuments: this.validator.message(\r\n 'referenceDocuments',\r\n this.state.model.referenceDocuments,\r\n 'required'\r\n ),\r\n type: this.validator.message(\r\n 'type',\r\n this.props.carType == CarType.NC.Code ? this.state.model.type : true,\r\n 'required'\r\n ),\r\n\r\n findingsLevel1: this.validator.message(\r\n 'Classification Type - List 1',\r\n this.state.model.findingsLevel1,\r\n 'required'\r\n ),\r\n\r\n findingsLevel2: this.validator.message(\r\n 'Classification Type - List 2',\r\n this.state.model.findingsLevel2,\r\n 'required'\r\n ),\r\n\r\n findingsLevel3: this.validator.message(\r\n 'Classification Type - List 3',\r\n this.state.model.findingsLevel3,\r\n 'required'\r\n ),\r\n\r\n dueDate: this.validator.message(\r\n 'dueDate',\r\n this.props.carType == CarType.NC.Code || this.props.carType == CarType.OBS.Code\r\n ? dueDateIsValid\r\n : true,\r\n 'accepted'\r\n ),\r\n duedate: this.validator.message(\r\n 'Due Date ',\r\n this.props.carType == CarType.NC.Code || this.props.carType == CarType.OBS.Code\r\n ? diffduedate\r\n : true,\r\n 'accepted'\r\n ),\r\n idOwner: this.validator.message(\r\n 'Owner',\r\n this.props.carType == CarType.NC.Code || this.props.carType == CarType.OBS.Code\r\n ? this.state.owner?.id\r\n : true,\r\n 'required'\r\n ),\r\n };\r\n const modalHeader = {\r\n title: this.props.isEditModal\r\n ? `Edit ${GetCarTypeByCode(this.props.carType).Name}`\r\n : `Add new ${GetCarTypeByCode(this.props.carType).Name}` + (this.props.carType == CarType.SFI.Code ? ' (Not applicable for HSE Audit)' : ''),\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.props.toggleModal(false),\r\n };\r\n const { title, isOpenModal } = this.props;\r\n\r\n const selectedItemCombo = {\r\n idStatus: (this.props.appStatus || []).find(\r\n (el) => el.id == (this.state.model.idStatus > 0 ? this.state.model.idStatus : 1)\r\n ),\r\n type: this.state.model.type,\r\n findingsLevel1: (this.state.appACTList1 || []).find(\r\n (el) => el.name == this.state.model.findingsLevel1\r\n ),\r\n findingsLevel2: (this.state.appACTList2 || []).find(\r\n (el) => el.name == this.state.model.findingsLevel2\r\n ),\r\n findingsLevel3: (this.state.appACTList3 || []).find(\r\n (el) => el.name == this.state.model.findingsLevel3\r\n ),\r\n findingsLevel4: (this.state.appACTList4 || []).find(\r\n (el) => el.name == this.state.model.findingsLevel4\r\n ),\r\n };\r\n\r\n if (this.state.mode === 1) {\r\n return (\r\n this.handleChangeMode(0)}\r\n onOk={this.setEmployer}\r\n />\r\n );\r\n }\r\n if (this.state.mode === 2) {\r\n return (\r\n this.handleChangeMode(0)}\r\n onOk={this.setSaipemOwner}\r\n />\r\n );\r\n }\r\n if(this.state.mode === 3){\r\n return(\r\n this.handleChangeMode(0)}\r\n onOk={this.setGenericOwner}\r\n />\r\n );\r\n }\r\n return (\r\n false}\r\n >\r\n \r\n {/* RITM0646764: rimosso titolo */}\r\n {/*

    {title || ''}

    */}\r\n {/* RITM0646764: FINE */}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n this.updateState('inefficiency', el.target.value, 'model')}\r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={225}\r\n invalid={validations.inefficiency != null}\r\n />\r\n {validations.inefficiency}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.updateState('referenceDocuments', el.target.value, 'model')\r\n }\r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={225}\r\n invalid={validations.referenceDocuments != null}\r\n />\r\n {validations.referenceDocuments}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n this.updateState('findingCode', el.target.value, 'model')\r\n }\r\n type=\"text\"\r\n />\r\n \r\n
    \r\n {this.props.carType == CarType.NC.Code ? (\r\n
    \r\n \r\n {this.state.appType == null ? (\r\n \r\n ) : (\r\n item || ''}\r\n initialSelectedItem={selectedItemCombo.type}\r\n items={this.state.appType}\r\n invalid={validations.type != null}\r\n />\r\n )}\r\n {validations.type}\r\n \r\n
    \r\n ) : (\r\n ''\r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n {this.state.appACTList1 == null ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.findingsLevel1}\r\n items={this.state.appACTList1}\r\n direction={\r\n this.props.carType == CarType.Strength.Code ||\r\n this.props.carType == CarType.SFI.Code\r\n ? 'top'\r\n : 'bottom'\r\n }\r\n />\r\n )}\r\n {validations.findingsLevel1}\r\n \r\n
    \r\n
    \r\n \r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.findingsLevel2}\r\n items={this.state.appACTList2}\r\n disabled={this.state.appACTList2 == null}\r\n key={this.state.appACTList2}\r\n direction={\r\n this.props.carType == CarType.Strength.Code ||\r\n this.props.carType == CarType.SFI.Code\r\n ? 'top'\r\n : 'bottom'\r\n }\r\n />\r\n {validations.findingsLevel2}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.findingsLevel3}\r\n items={this.state.appACTList3}\r\n disabled={this.state.appACTList3 == null}\r\n key={this.state.appACTList3}\r\n direction={\r\n this.props.carType == CarType.Strength.Code ||\r\n this.props.carType == CarType.SFI.Code\r\n ? 'top'\r\n : 'bottom'\r\n }\r\n />\r\n {validations.findingsLevel3}\r\n \r\n
    \r\n
    \r\n \r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.findingsLevel4}\r\n items={this.state.appACTList4}\r\n disabled={this.state.appACTList4 == null}\r\n key={this.state.appACTList4}\r\n direction={\r\n this.props.carType == CarType.Strength.Code ||\r\n this.props.carType == CarType.SFI.Code\r\n ? 'top'\r\n : 'bottom'\r\n }\r\n />\r\n \r\n
    \r\n
    \r\n\r\n {this.props.carType == CarType.NC.Code || this.props.carType == CarType.OBS.Code ? (\r\n
    \r\n
    \r\n \r\n \r\n\r\n {validations.dueDate}\r\n {validations.duedate ? (\r\n
    \r\n {' '}\r\n due dates less than the audit start date{' '}\r\n
    \r\n ) : null}\r\n \r\n
    \r\n\r\n {/*
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    */}\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n this.handleChangeMode(1)}\r\n >\r\n GHRS research\r\n \r\n
    \r\n
    \r\n this.handleChangeMode(2)}\r\n >\r\n Saipem research\r\n \r\n { \r\n this.handleChangeMode(3)}\r\n >\r\n Manual input\r\n \r\n } \r\n
    \r\n
    \r\n {validations.idOwner}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n ) : (\r\n ''\r\n )}\r\n\r\n {/*
    \r\n \r\n
    */}\r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nAuditCARModal.propTypes = {\r\n save: PropTypes.func.isRequired,\r\n toggleModal: PropTypes.func.isRequired,\r\n isEditModal: PropTypes.bool,\r\n isOpenModal: PropTypes.bool,\r\n mode: PropTypes.number,\r\n title: PropTypes.string,\r\n appStatus: PropTypes.array,\r\n};\r\n","/* eslint-disable no-param-reassign */\r\n/* eslint-disable react/sort-comp */\r\nimport React, { Component } from \"react\";\r\nimport {\r\n\tButton,\r\n\tTable,\r\n\tTableContainer,\r\n\tTableHead,\r\n\tTableHeader,\r\n\tTableBody,\r\n\tTableRow,\r\n\tPagination,\r\n\tLoading,\r\n\tFileUploader,\r\n\tComposedModal,\r\n\tModalHeader,\r\n\tModalBody,\r\n\tModalFooter,\r\n\tTableCell,\r\n\tTableToolbar,\r\n\tDataTableSkeleton,\r\n\tTableSelectRow,\r\n\tDataTable,\r\n\tTableToolbarContent,\r\n\tTableBatchActions,\r\n\tTableBatchAction,\r\n\tTabs,\r\n\tTab,\r\n} from \"carbon-components-react\";\r\nimport moment from \"moment\";\r\nimport { Link } from \"react-router-dom\";\r\nimport View16 from \"@carbon/icons-react/lib/view--filled/16\";\r\nimport Add16 from \"@carbon/icons-react/lib/add/16\";\r\nimport Delete16 from \"@carbon/icons-react/lib/delete/16\";\r\nimport \"../../scss/custom.scss\";\r\nimport Edit16 from \"@carbon/icons-react/lib/edit/16\";\r\nimport Send16 from \"@carbon/icons-react/lib/send/16\";\r\nimport { CheckmarkOutline16, Error16, Export16, Download16 } from \"@carbon/icons-react/lib/\";\r\nimport { switchDateFormat } from \"../../helpers/jsonschemaform/customwidget/utils\";\r\nimport { showNotification } from \"../../helpers/notification/BaseNotification\";\r\nimport { getError, STATUS, getSuccess, apioperation, entitiesLabels, CarType, GetCarTypeByCode } from \"../../helpers/Constants\";\r\nimport { api, registry, audit } from \"../../helpers/api/api\";\r\nimport { RenderDataTableCell, NoRecordsPlaceholder } from \"../../helpers/jsonschemaform/DataTableExtention\";\r\nimport AuditCARModal from \"./AuditCARModal\";\r\nimport { ConfirmAlertCustom } from \"../../helpers/ConfirmAlertCustom\";\r\nimport { CanExecuteAction, IsEditable } from \"../../helpers/authorization/Policies\";\r\nimport { AppContext } from \"../../helpers/context/AppContext\";\r\nimport { WFActionModal } from \"../common/WFActionModal\";\r\nimport PageBreadCrumb from \"../../helpers/PageBreadCrumb\";\r\nimport AuditRepository from \"../../helpers/api/AuditRepository\";\r\nimport { Online, Offline } from \"../common/OnLineOffLine\";\r\nimport ExportDoc16 from \"@carbon/icons-react/lib/document--export/16\";\r\nimport FileDownLoadButton from \"../common/FileDownloadButton\";\r\n\r\nexport default class AuditCARList extends Component {\r\n\tinitialState = (props) => {\r\n\t\tconst idAuditEdit = props ? props.match.params.id : \"\";\r\n\t\tconst idAnswer = props ? props.match.params.idAnswer : \"\";\r\n\t\tconst isNewCarManagement = props ? Number(props.match.params.newMng) : 0;\r\n\r\n\t\tconst initialState = {\r\n\t\t\tisApprovalModalOpen: false,\r\n\t\t\tapprovalModalAction: \"\",\r\n\t\t\tapprover: null,\r\n\t\t\tapprovalStartDate: null,\r\n\t\t\tapprovalEndDate: null,\r\n\t\t\tisLoadingApproverOptions: true,\r\n\t\t\tapprovalValidationMessages: [],\r\n\t\t\tapprovers: [],\r\n\t\t\tselectedData: [],\r\n\t\t\tapproverRole: \"\",\r\n\t\t\twithApprover: true,\r\n\t\t\tisLoadingWFOperation: false,\r\n\t\t\tapprovalNotesRequired: false,\r\n\t\t\tidAuditEdit,\r\n\t\t\tidAnswer,\r\n\t\t isNewCarManagement,\r\n\t\t\tisLoading: true,\r\n\t\t\tauditEditModel: null,\r\n\t\t\tisSubmitted: false,\r\n\t\t\tisLoadingFindingFile: false,\r\n\r\n\t\t\t// modal insert/edit\r\n\t\t\tkeyModalCAR: `modalCAR_${new Date().getTime()}`,\r\n\t\t\teditModelCAR: null,\r\n\t\t\tisEditModalCAR: false,\r\n\t\t\tisOpenModalCAR: false,\r\n\t\t\tisOpenDeleteModal: false,\r\n\t\t\tisDeleting: false,\r\n\t\t\tidToDelete: false,\r\n\t\t\t// ---import/export----\r\n\t\t\tisOpenModalUploadTemplate: false,\r\n\t\t\t//--------------------\r\n\t\t\tauditModel: {\r\n\t\t\t\tid: null,\r\n\t\t\t\tidAnswer: null,\r\n\t\t\t\tauditCAR: [],\r\n\t\t\t},\r\n\t\t\tsearchModel: {\r\n\t\t\t\tcarType: CarType.NC.Code,\r\n\t\t\t},\r\n\t\t\tappStatus: null,\r\n\t\t\tappType: null,\r\n\r\n\t\t\tcurrentPage: 1,\r\n\t\t\t//pageSize: 10,\r\n\t\t\t//RITM0549692\r\n\t\t\tpageSize: 20,\r\n\t\t\trowCount: 0,\r\n\t\t};\r\n\t\treturn initialState;\r\n\t};\r\n\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\r\n\t\tthis.updateState = this.updateState.bind(this);\r\n\t\t// this.handleChangeCombo = this.handleChangeCombo.bind(this);\r\n\t\tthis.state = {\r\n\t\t\t...this.initialState(props),\r\n\t\t};\r\n\t\t\r\n\t\tthis.baseUrl = this.state.idAnswer ? `${this.state.idAuditEdit}/answer/${this.state.idAnswer}/car/` : `${this.state.idAuditEdit}/car/`;\r\n\t\tthis.repository = new AuditRepository();\r\n\t}\r\n\r\n\tbaseUrl;\r\n\r\n\tcomponentDidMount() {\r\n\t\tthis.getStatus();\r\n\t\tthis.getCARs();\r\n\t\tthis.getLevel();\r\n\t}\r\n\r\n\tshowLoading() {\r\n\t\tconst show = (this.state.isEdit && this.state.isLoading) || this.state.isSubmitted;\r\n\t\tconst descr = this.state.isSubmitted ? \"Saving...\" : \"Loading data...\";\r\n\t\treturn show && ;\r\n\t\t// return ()\r\n\t}\r\n\r\n\tgetCARs() {\r\n\t\tthis.setState({\r\n\t\t\tisLoading: true,\r\n\t\t});\r\n\r\n\t\tlet data = {\r\n\t\t\tparams: {\r\n\t\t\t\tpage: this.state.currentPage,\r\n\t\t\t\tpageSize: this.state.pageSize,\r\n\t\t\t\t...this.state.searchModel,\r\n\t\t\t},\r\n\t\t};\r\n\t\taudit.getWithParam(this.baseUrl, data)\r\n\t\t\t.then((response) => {\r\n\t\t\t\tconst { data } = response;\r\n\t\t\t\tif (data) {\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tauditModel: {\r\n\t\t\t\t\t\t\tauditCode: data.auditCode,\r\n\t\t\t\t\t\t\tid: data.id,\r\n\t\t\t\t\t\t\tidAnswer: data.idAnswer,\r\n\t\t\t\t\t\t\taudit: data.audit,\r\n\t\t\t\t\t\t\tauditCAR: data.auditCAR.itemList,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tcurrentPage: data.auditCAR.currentPage,\r\n\t\t\t\t\t\tpageSize: data.auditCAR.pageSize,\r\n\t\t\t\t\t\tpageCount: data.auditCAR.pageCount,\r\n\t\t\t\t\t\trowCount: data.auditCAR.rowCount,\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, \"CARs not found\");\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.STATUS, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoading: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\tgetLevel = async () => {\r\n\t\tconst levels = await this.repository.getLevels();\r\n\t\tconst appTypes = levels.itemList?.filter((lv) => lv.inUse).map((l) => l.name);\r\n\t\tthis.setState({\r\n\t\t\tappType: appTypes,\r\n\t\t});\r\n\t};\r\n\r\n\tgetStatus = () => {\r\n\t\tregistry\r\n\t\t\t.getAll(\"status\")\r\n\t\t\t.then((response) => {\r\n\t\t\t\tconst { data } = response;\r\n\t\t\t\t// data = data != null ? data.filter(item => (item.id == 1 || item.id == 4)) : [];\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tappStatus: data,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.STATUS, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {});\r\n\t};\r\n\r\n\tupdateState = (inputName, inputValue, objName) => {\r\n\t\tconst statusCopy = { ...this.state };\r\n\t\tstatusCopy[objName][inputName] = inputValue;\r\n\r\n\t\tthis.setState(statusCopy);\r\n\t};\r\n\r\n\thandleChangeDP = (value, text, event) => {\r\n\t\tconst inputName = event.element.name;\r\n\t\tconst objName = event.element.alt;\r\n\r\n\t\tif (value == null || value[0] == null) {\r\n\t\t\tthis.updateState(inputName, null, objName);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tlet date = value[0];\r\n\t\tif (typeof date === \"object\") {\r\n\t\t\tdate = switchDateFormat(date, \"JSdate\");\r\n\t\t}\r\n\r\n\t\tthis.updateState(inputName, date, objName);\r\n\t};\r\n\r\n\thandleChangeDPInput = (event) => {\r\n\t\ttry {\r\n\t\t\tif (event == null || event.target == null) return null;\r\n\t\t\tconst inputName = event.target.name;\r\n\t\t\tconst objName = event.target.alt;\r\n\t\t\tif (event.target.value == null) {\r\n\t\t\t\tthis.updateState(inputName, null, objName);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tlet date = event.target.value;\r\n\t\t\tconst s = date.split(\"/\");\r\n\t\t\tif (s.length < 3) return;\r\n\r\n\t\t\tconst dd = s[0];\r\n\t\t\tconst mm = s[1];\r\n\t\t\tconst yy = s[2];\r\n\t\t\tif (dd.length < 2 || mm.length < 2 || yy.length < 4) return;\r\n\r\n\t\t\tdate = `${yy}-${mm}-${dd}`;\r\n\r\n\t\t\tthis.updateState(inputName, date, objName);\r\n\t\t\treturn;\r\n\t\t} catch (error) {\r\n\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.CAR, apioperation.UPLOAD));\r\n\t\t\treturn null;\r\n\t\t}\r\n\t};\r\n\r\n\t/** ********CAR******************* */\r\n\r\n\ttoggleModalCAR = (open) => {\r\n\t\tthis.setState({ isOpenModalCAR: open });\r\n\t};\r\n\r\n\taddCar = () => {\r\n\t\tthis.setState({ keyModalCAR: `modalCAR_${new Date().getTime()}` });\r\n\t\tthis.setState({ isEditModalCAR: false, isOpenModalCAR: true, editModelCAR: null });\r\n\t};\r\n\r\n\teditModalCAR = (id) => {\r\n\t\tthis.setState({ keyModalCAR: `modalCAR_${new Date().getTime()}` });\r\n\t\tconst item = this.state.auditModel.auditCAR.find((el) => el.id == id);\r\n\t\tthis.setState({ editModelCAR: item, isEditModalCAR: true, isOpenModalCAR: true });\r\n\t};\r\n\r\n\thandleSaveModalCAR = (datiForm) => {\r\n\t\t// showNotification.warning(\"TODO Validazione su CARModal.js\");\r\n\r\n\t\tif (!datiForm) return;\r\n\r\n\t\tthis.setState({\r\n\t\t\tisSubmitted: true,\r\n\t\t});\r\n\r\n\t\tif (!this.state.isEditModalCAR) {\r\n\t\t\tdatiForm.idAudit = this.state.idAuditEdit;\r\n\t\t\tdatiForm.idAnswer = this.state.idAnswer;\r\n\t\t}\r\n\t\tconst postBackUrl = `${datiForm.idAudit}/answer/${datiForm.idAnswer}/car/`;\r\n\t\tconst method = this.state.isEditModalCAR ? audit.put(postBackUrl, datiForm, datiForm.id) : audit.post(postBackUrl, datiForm);\r\n\r\n\t\tmethod\r\n\t\t\t.then((response) => {\r\n\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\tlet answerSection = null;\r\n\t\t\t\t\tif (this.state.isEditModalCAR) {\r\n\t\t\t\t\t\tanswerSection = this.state.auditModel.auditCAR[0].audit.checkList.answers;\r\n\t\t\t\t\t} else if (this.state.auditModel.auditCAR.length > 0) {\r\n\t\t\t\t\t\tanswerSection = this.state.auditModel.audit.checkList.answers;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tanswerSection = this.state.auditModel.audit.checkList.answers;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tconst section = answerSection.find((el) => el.id === datiForm.idAnswer);\r\n\r\n\t\t\t\t\t// let answerCar = answerSection.find((el) => el.id === datiForm.idAnswer && el.cars != [] );\r\n\t\t\t\t\tlet items = this.state.auditModel.auditCAR;\r\n\t\t\t\t\tconst element = items.find((el) => el.id === datiForm.id);\r\n\r\n\t\t\t\t\tif (element == null) {\r\n\t\t\t\t\t\tdatiForm.enabled = true;\r\n\t\t\t\t\t\tdatiForm.idStatus = 1;\r\n\t\t\t\t\t\tdatiForm.status = {\r\n\t\t\t\t\t\t\tid: 1,\r\n\t\t\t\t\t\t\tname: \"Draft\",\r\n\t\t\t\t\t\t\tplanningName: \"Draft\",\r\n\t\t\t\t\t\t\treportingName: \"Opened\",\r\n\t\t\t\t\t\t\tcarManagementName: \"Assigned\",\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\tvar carType = 'NC';\r\n\t\t\t\t\t\tswitch (response.carType) {\r\n\t\t\t\t\t\t\tcase 'Non Conformity':\r\n\t\t\t\t\t\t\t\tcarType = 'NC';\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'Observation':\r\n\t\t\t\t\t\t\t\tcarType = 'OBS';\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'Suggestion For improvment':\r\n\t\t\t\t\t\t\t\tcarType = 'SFI';\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'Strength':\r\n\t\t\t\t\t\t\t\tcarType = 'STR';\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tdatiForm.auditCARCode =\r\n\t\t\t\t\t\t\tresponse.data.auditCARCode != undefined\r\n\t\t\t\t\t\t\t\t? response.data.auditCARCode\r\n\t\t\t\t\t\t\t\t: \"AUD_\" +\r\n\t\t\t\t\t\t\t\t this.state.auditModel?.audit?.sequence +\r\n\t\t\t\t\t\t\t\t \"_\" +\r\n\t\t\t\t\t\t\t\t moment.utc(this.state.auditModel.audit.createdOn, \"YYYY-MM-DD HH:mm\").local().format(\"YYYY\") +\r\n\t\t\t\t\t\t\t\t \"_\"+ carType +\"_\" +\r\n\t\t\t\t\t\t\t\t moment.utc(datiForm.dueDate, \"YYYY-MM-DD HH:mm\").local().format(\"YYYY\");\r\n\r\n\t\t\t\t\t\tconsole.log(datiForm.auditCARCode);\r\n\t\t\t\t\t\tconsole.log(response.data);\r\n\t\t\t\t\t\tdatiForm.findingCode = response.data.findingCode ? response.data.findingCode : '';\r\n\t\t\t\t\t\tdatiForm.ca = [];\r\n\t\t\t\t\t\tdatiForm.section = `${section.section.code} ${section.section.name}`;\r\n\t\t\t\t\t\titems = items.concat([datiForm]);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\titems[items.indexOf(element)] = datiForm;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.repository.updateCachedCarList(datiForm, false);\r\n\t\t\t\t\tthis.setState((state) => {\r\n\t\t\t\t\t\tconst { auditModel } = state;\r\n\t\t\t\t\t\tauditModel.auditCAR = items;\r\n\t\t\t\t\t\tstate.isOpenModalCAR = false;\r\n\r\n\t\t\t\t\t\treturn state;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\trowCount: this.state.rowCount + 1,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tshowNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.FINDING, this.state.isEditModalCAR ? apioperation.PUT : apioperation.POST));\r\n\t\t\t\t\tthis.getCARs();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tshowNotification.error();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.FINDING, this.state.isEditModalCAR ? apioperation.PUT : apioperation.POST));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisSubmitted: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t};\r\n\r\n\tconfirmDeleteCAR = (id) => {\r\n\t\tthis.setState({\r\n\t\t\tidToDelete: id,\r\n\t\t\tisOpenDeleteModal: true,\r\n\t\t\tisDeleting: false,\r\n\t\t});\r\n\t};\r\n\r\n\tonCloseConfirm = () => {\r\n\t\tthis.setState({\r\n\t\t\tisOpenDeleteModal: false,\r\n\t\t});\r\n\t};\r\n\r\n\tdeleteItemCAR = () => {\r\n\t\tconst id = this.state.idToDelete;\r\n\r\n\t\tthis.setState({\r\n\t\t\tisDeleting: true,\r\n\t\t});\r\n\r\n\t\tapi.delete(this.baseUrl, id)\r\n\t\t\t.then((response) => {\r\n\t\t\t\tif (response.status == 200) {\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tidToDelete: null,\r\n\t\t\t\t\t\tisOpenDeleteModal: false,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.onCloseConfirm();\r\n\t\t\t\t\tthis.getCARs();\r\n\t\t\t\t\tshowNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.FINDING, apioperation.DELETE));\r\n\t\t\t\t} else {\r\n\t\t\t\t\tshowNotification.error();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.FINDING, apioperation.DELETE));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisDeleting: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t};\r\n\r\n\t/** ********Fine CAR******************* */\r\n\t/** ********Import/Export CAR******************* */\r\n\tdownloadCARTemplate = () => {\r\n\t\tthis.setState({\r\n\t\t\tisSubmitted: true,\r\n\t\t});\r\n\t\tapi.getWithParam(`/audit/${this.state.auditModel.id}/car/template`, {\r\n\t\t\tresponseType: \"arraybuffer\",\r\n\t\t})\r\n\t\t\t.then((response) => {\r\n\t\t\t\tconst data = new Blob([response.data], {\r\n\t\t\t\t\ttype: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\r\n\t\t\t\t});\r\n\t\t\t\tconst csvURL = window.URL.createObjectURL(data);\r\n\t\t\t\tconst tempLink = document.createElement(\"a\");\r\n\t\t\t\ttempLink.href = csvURL;\r\n\t\t\t\tconst nomefile = \"AuditFindingTemplate.xlsx\";\r\n\t\t\t\ttempLink.setAttribute(\"download\", nomefile);\r\n\t\t\t\tdocument.body.appendChild(tempLink);\r\n\t\t\t\ttempLink.click();\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.CARTEMPLATE, apioperation.DOWNLOAD));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisSubmitted: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t};\r\n\r\n\tuploadCARTemplate = (event) => {\r\n\t\tif (this.state.statusUpload != null) {\r\n\t\t\tthis.setState({\r\n\t\t\t\tisImportfunction: true,\r\n\t\t\t\tisImportCAR: true,\r\n\t\t\t\tmessage: [],\r\n\t\t\t});\r\n\t\t\tevent.preventDefault();\r\n\t\t\tthis.setState(() => ({\r\n\t\t\t\tcanUpload: true,\r\n\t\t\t\tisFileValid: true,\r\n\t\t\t\tvalidationErrorTitle: \"\",\r\n\t\t\t\tvalidationErrorSubTitle: \"\",\r\n\t\t\t\tstatusUpload: \"uploading\",\r\n\t\t\t\t// isImportCAR: true,\r\n\t\t\t}));\r\n\t\t\tconst formData = new FormData();\r\n\t\t\tformData.append(\"FileUploaded\", event.target.inputFile.files[0]);\r\n\r\n\t\t\tapi.upload(`/audit/${this.state.auditModel.id}/car/template`, formData)\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\tthis.setState(() => ({\r\n\t\t\t\t\t\tcanUpload: false,\r\n\t\t\t\t\t\tisFileValid: true,\r\n\t\t\t\t\t\tvalidationErrorTitle: \"\",\r\n\t\t\t\t\t\tvalidationErrorSubTitle: \"\",\r\n\t\t\t\t\t\tstatusUpload: \"complete\",\r\n\t\t\t\t\t\tmessage: response.data,\r\n\r\n\t\t\t\t\t\tisImportCAR: false,\r\n\t\t\t\t\t\tisImportfunction: false,\r\n\t\t\t\t\t}));\r\n\r\n\t\t\t\t\tif (response.data && response.data[0] == \"Success\") {\r\n\t\t\t\t\t\tthis.getCARs();\r\n\t\t\t\t\t\tshowNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.CARTEMPLATE, apioperation.UPLOAD));\r\n\t\t\t\t\t\tthis.setState(() => ({\r\n\t\t\t\t\t\t\tisOpenModalUploadTemplate: false,\r\n\t\t\t\t\t\t}));\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tthis.setState(() => ({\r\n\t\t\t\t\t\tcanUpload: true,\r\n\t\t\t\t\t\tisFileValid: false,\r\n\r\n\t\t\t\t\t\tstatusUpload: \"edit\",\r\n\t\t\t\t\t\tisImportCAR: false,\r\n\t\t\t\t\t\tisImportfunction: false,\r\n\t\t\t\t\t\timportDanger: true,\r\n\t\t\t\t\t}));\r\n\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.CARTEMPLATE, apioperation.UPLOAD));\r\n\t\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tonFileUploadChange = (evt) => {\r\n\t\tthis.setState(() => ({ statusUpload: \"edit\" }));\r\n\t\tif (evt.target.files[0] && evt.target.files[0].size >= 4194304) {\r\n\t\t\tconst nome = evt.target.files[0].name;\r\n\t\t\tthis.fileUploader.clearFiles();\r\n\t\t\tthis.setState(() => ({\r\n\t\t\t\tcanUpload: false,\r\n\t\t\t\tmessage: [],\r\n\t\t\t\tisFileValid: false,\r\n\t\t\t\tisImportCAR: false,\r\n\t\t\t\tvalidationErrorTitle: `${nome} exceeds size limit`,\r\n\t\t\t\tvalidationErrorSubTitle: \"4mb max file size. Please select a new file and try again\",\r\n\t\t\t}));\r\n\t\t} else {\r\n\t\t\t// this.fileUploader.clearFiles();\r\n\t\t\tthis.setState(() => ({\r\n\t\t\t\tcanUpload: true,\r\n\t\t\t\tisFileValid: true,\r\n\t\t\t\tvalidationErrorTitle: \"\",\r\n\t\t\t\tvalidationErrorSubTitle: \"\",\r\n\t\t\t\tmessage: [],\r\n\t\t\t}));\r\n\t\t}\r\n\t};\r\n\r\n\ttoggleModalUploadTemplate = (open) => {\r\n\t\tthis.fileUploader.clearFiles();\r\n\t\tthis.setState({\r\n\t\t\tisOpenModalUploadTemplate: open,\r\n\t\t\tisImportHC: true,\r\n\t\t\tmessage: [],\r\n\t\t\tstatusUpload: null,\r\n\t\t\tcanUpload: false,\r\n\t\t\tisFileValid: true,\r\n\t\t\tvalidationErrorTitle: \"\",\r\n\t\t\tvalidationErrorSubTitle: \"\",\r\n\t\t\t__filename: null,\r\n\t\t});\r\n\t};\r\n\r\n\tclearFiles = () => {\r\n\t\tthis.fileUploader.clearFiles();\r\n\t\tthis.setState(() => ({\r\n\t\t\tcanUpload: false,\r\n\t\t\tisFileValid: true,\r\n\t\t\tvalidationErrorTitle: \"\",\r\n\t\t\tvalidationErrorSubTitle: \"\",\r\n\t\t}));\r\n\t};\r\n\r\n\tdivMessaggImportHC() {\r\n\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t{!this.state.isImportCAR ? \"\" : }\r\n\r\n\t\t\t\t{this.state.message[0] == \"Success\" ? (\r\n\t\t\t\t\t
    \r\n\t\t\t\t) : (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{this.state.message.map((x) => (\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    {x}
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t
    \r\n\t\t\t\t)}\r\n\t\t\t
    \r\n\t\t);\r\n\t}\r\n\r\n\trenderUploadModal = () => (\r\n\t\t
    \r\n\t\t\t false}>\r\n\t\t\t\t this.toggleModalUploadTemplate(false)}>\r\n\t\t\t\t\t

    Import Findings

    \r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t (this.fileUploader = node)}\r\n\t\t\t\t\t\t\taccept={[\".xlsx\"]}\r\n\t\t\t\t\t\t\tbuttonKind=\"primary\"\r\n\t\t\t\t\t\t\tbuttonLabel=\"Choose a file\"\r\n\t\t\t\t\t\t\tfilenameStatus={this.state.statusUpload}\r\n\t\t\t\t\t\t\ticonDescription=\"Choose\"\r\n\t\t\t\t\t\t\tlabelTitle=\"Upload\"\r\n\t\t\t\t\t\t\tmultiple={false}\r\n\t\t\t\t\t\t\tname=\"inputFile\"\r\n\t\t\t\t\t\t\tonClick={this.clearFiles}\r\n\t\t\t\t\t\t\tonChange={this.onFileUploadChange}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{this.state.isImportHC ? this.divMessaggImportHC() : \"\"}\r\n\t\t\t\t\t\t{this.state.isImportfunction ? : \"\"}\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n\t/** ********Fine Import/Export CAR******************* */\r\n\r\n\thandleApproverSelect = (selectedItem) => {\r\n\t\tthis.setState({ approver: selectedItem });\r\n\t};\r\n\r\n\thandleCloseApprovalModal = () => {\r\n\t\tthis.setState({ isApprovalModalOpen: false }, this.clearApprovalForm);\r\n\t};\r\n\r\n\thandleApprovalNotesChange = (e) => {\r\n\t\tthis.setState({ approvalNotes: e.target.value });\r\n\t};\r\n\r\n\thandleConfirmApprovalModal = () => {\r\n\t\tconst apiEndpoint = this.state.approvalEndpoint;\r\n\r\n\t\tconst data = {\r\n\t\t\tids: this.state.selectedData.map((r) => r.id),\r\n\t\t\towner: this.state.approver,\r\n\t\t\tworkflowNotes: this.state.approvalNotes,\r\n\t\t};\r\n\r\n\t\tthis.setState({\r\n\t\t\tisLoadingWFOperation: true,\r\n\t\t});\r\n\r\n\t\tlet { idAnswer } = this.state;\r\n\t\tif (this.state.idAnswer == null) {\r\n\t\t\tconst item = this.state.auditModel.auditCAR.find((el) => el.id == data.ids[0]);\r\n\t\t\tidAnswer = item.idAnswer;\r\n\t\t}\r\n\r\n\t\tapi.put(`/audit/${this.state.auditModel.id}/answer/${idAnswer}/car/${apiEndpoint}`, data, \"\")\r\n\t\t\t.then((response) => {\r\n\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\tshowNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.AUDIT, apioperation.PUT));\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tisLoadingWFOperation: false,\r\n\t\t\t\t\t\tisApprovalModalOpen: false,\r\n\t\t\t\t\t\tisLoading: true,\r\n\t\t\t\t\t\tauditModel: {\r\n\t\t\t\t\t\t\tauditCAR: [],\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.getCARs();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tshowNotification.error();\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tisLoadingWFOperation: false,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.AUDIT, apioperation.PUT));\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingWFOperation: false,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => {});\r\n\t};\r\n\thandleChangePaging = async (page) => {\r\n\t\tawait new Promise((resolve) => {\r\n\t\t\tthis.setState({ currentPage: page.page, pageSize: page.pageSize, loading: true, isBack: false }, resolve);\r\n\t\t});\r\n\t\tthis.getCARs();\r\n\t};\r\n\tIsRowSelectable(row, selectedRows) {\r\n\t\t// if (!this.state.idAnswer) return false;\r\n\r\n\t\tvar row = this.state.auditModel.auditCAR.find((i) => i.id == row.id);\r\n\r\n\t\t// if (row.status.id == STATUS.Consolidated) return false; //i FINDING possono essere riaperte\r\n\r\n\t\tif (selectedRows.length == 0) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tif (selectedRows.length > 0) {\r\n\t\t\tconst selectableAudit = this.state.auditModel.auditCAR.find((i) => i.id == selectedRows[0].id);\r\n\t\t\tconst selectableState = selectableAudit.status.id;\r\n\t\t\tconst selectableAnswer = selectableAudit.idAnswer;\r\n\r\n\t\t\tif (this.state.idAnswer == null) {\r\n\t\t\t\tif (row.status.id == selectableState && row.idAnswer == selectableAnswer) return true;\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\t// solo per la chiusura dei FINDING\r\n\t\t\tif (selectableState == STATUS.Approved) {\r\n\t\t\t\treturn this.canCloseCAR(selectedRows[0].id) ? row.status.id == STATUS.Approved && this.canCloseCAR(row.id) : false;\r\n\t\t\t}\r\n\t\t\t// per il submit dei FINDING\r\n\t\t\tif (selectableState == STATUS.Draft) {\r\n\t\t\t\treturn this.canSubmitCAR(selectedRows[0].id) ? row.status.id == STATUS.Draft && this.canSubmitCAR(row.id) : false;\r\n\t\t\t}\r\n\r\n\t\t\tif (row.status.id == selectableState) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t}\r\n\r\n\tbatchActionClick(actionKey, actionName, approverRole, withApprover, approvalNotesRequired, selectedRows) {\r\n\t\tthis.setState({\r\n\t\t\tapprovalModalAction: actionName,\r\n\t\t\tisApprovalModalOpen: true,\r\n\t\t\tisLoadingApproverOptions: true,\r\n\t\t\twithApprover,\r\n\t\t\tselectedData: selectedRows,\r\n\t\t\tapproverRole,\r\n\t\t\tapprovalEndpoint: actionKey,\r\n\t\t\tapprovalNotesRequired,\r\n\t\t});\r\n\t}\r\n\r\n\tgetCanEditResourceId = (selectedRows) => {\r\n\t\tlet canEditResource = this.state.auditModel &&\r\n\t\t\tthis.state.auditModel.audit &&\r\n\t\t\tthis.state.auditModel.audit.checkList && {\r\n\t\t\t\tidCompiler: this.state.auditModel.audit.checkList.idCompiler,\r\n\t\t\t\tidDataApprover: this.state.auditModel.audit.checkList.idDataApprover,\r\n\t\t\t\tidDivisionManager: this.state.auditModel.audit.checkList.idDivisionManager,\r\n\t\t\t\temail: this.state.isNewCarManagement !== 0 ? this.state.auditModel.audit.auditors.map(el => el.email) : \"\",\r\n\t\t\t};\r\n\t\tif (selectedRows && selectedRows.length > 0 && this.state.idAnswer == null) {\r\n\t\t\tconst item = this.state.auditModel.auditCAR.find((el) => el.id == selectedRows[0].id);\r\n\t\t\tconst { audit } = item;\r\n\t\t\tcanEditResource = this.state.auditModel &&\r\n\t\t\t\taudit &&\r\n\t\t\t\taudit.checkList && {\r\n\t\t\t\t\tidCompiler: audit.checkList.idCompiler,\r\n\t\t\t\t\tidDataApprover: audit.checkList.idDataApprover,\r\n\t\t\t\t\tidDivisionManager: audit.checkList.idDivisionManager,\r\n\t\t\t\t\temail: \"\",\r\n\t\t\t\t};\r\n\t\t}\r\n\t\tif (selectedRows && selectedRows.length > 0 && canEditResource != null) {\r\n\t\t\tconst car = this.state.auditModel.auditCAR.find((el) => el.id == selectedRows[0].id);\r\n\t\t\tcanEditResource.email = car.owner != null ? car.owner.email : car.ownerSaipem != null ? car.ownerSaipem.email : null;\r\n\t\t}\r\n\t\treturn canEditResource;\r\n\t};\r\n\r\n\tgetStatusId = (idRow) => {\r\n\t\tconst r = this.state.auditModel.auditCAR.find((el) => el.id == idRow);\r\n\t\treturn r && r.idStatus;\r\n\t};\r\n\r\n\tcanApproveCAR = (idRow) => {\r\n\t\tconst item = this.state.auditModel.auditCAR.find((el) => el.id == idRow);\r\n\t\tconst itemCa = item?.ca?.filter((x) => x.enabled);\r\n\t\treturn item && itemCa && itemCa.length > 0;\r\n\t};\r\n\r\n\tcanSubmitCAR = (idRow) => {\r\n\t\tconst item = this.state.auditModel.auditCAR.find((el) => el.id == idRow);\r\n\t\tconst itemCa = item?.ca?.filter((x) => x.enabled);\r\n\t\treturn item && itemCa && itemCa.length > 0;\r\n\t};\r\n\r\n\tcanCloseCAR = (idRow) => {\r\n\t\tconst item = this.state.auditModel.auditCAR.find((el) => el.id == idRow);\r\n\t\treturn item && item.ca && item.ca.length > 0 ? item.ca.filter((el) => el.idStatus == 4).length == item.ca.length : false;\r\n\t};\r\n\r\n\tcanSubmitFinding = (idRow) => {\r\n\t\tconst item = this.state.auditModel.auditCAR.find((el) => el.id == idRow);\r\n\t\tif ((item.carType === CarType.NC.Code) || (item.carType ===CarType.OBS.Code))\r\n\t\t\treturn (item.ca.length > 0 ? (item.ca[0].causeOfInefficiency != null && item.ca[0].caImplemented != null && item.ca[0].dueDate != null) : false);\r\n\t\telse\r\n\t\t\treturn false;\r\n\t}\r\n\r\n\tcanOpenFinding = (idRow) => {\r\n\t\tconst item = this.state.auditModel.auditCAR.find((el) => el.id == idRow);\r\n\t\tif ((item.carType === CarType.NC.Code) || (item.carType ===CarType.OBS.Code))\r\n\t\t\treturn (item.ca.length > 0 ? (item.ca[0].causeOfInefficiency != null && item.ca[0].caImplemented != null && item.ca[0].dueDate != null) : false);\r\n\t\telse\r\n\t\t\treturn false;\r\n\t}\r\n\r\n\tcanCloseFinding = (idRow) => {\r\n\t\tconst item = this.state.auditModel.auditCAR.find((el) => el.id == idRow);\r\n\t\tif ((item.carType === CarType.NC.Code) || (item.carType ===CarType.OBS.Code))\r\n\t\t\treturn (item.ca.length > 0 ? (item.ca[0].immediateThreatment != null && item.ca[0].explain != null) : false);\r\n\t\telse\r\n\t\t\treturn false;\r\n\t}\r\n\r\n\tcanCompleteFinding = (idRow) => {\r\n\t\tconst item = this.state.auditModel.auditCAR.find((el) => el.id == idRow);\r\n\t\tif ((item.carType === CarType.NC.Code) || (item.carType ===CarType.OBS.Code))\r\n\t\t\treturn (item.ca.length > 0 ? (item.ca[0].immediateThreatment != null && item.ca[0].explain != null) : false);\r\n\t\telse\r\n\t\t\treturn false;\r\n\t}\r\n\r\n\tgetUrlDetailCar = (id) => {\r\n\t\tif (id == null) return \"#\";\r\n\t\tif (this.state.idAnswer) return `/audit/${this.state.idAuditEdit}/${this.state.isNewCarManagement}/answer/${this.state.idAnswer}/car/${id}`; //this.baseUrl + id;\r\n\t\tif (!this.state.auditModel || !this.state.auditModel.auditCAR) return \"#\";\r\n\t\tconst item = this.state.auditModel.auditCAR.find((el) => el.id == id);\r\n\t\treturn `/audit/${this.state.idAuditEdit}/${this.state.isNewCarManagement}/answer/${item.idAnswer}/car/${id}#all`;\r\n\t};\r\n\r\n\tgetUrlExportCar = (id) => {\r\n\t\tconst item = this.state.auditModel.auditCAR.find((el) => el.id == id)\r\n\t\treturn `/audit/${this.state.idAuditEdit}/answer/${item.idAnswer}/exportcar/${id}`;\r\n\t}\r\n\r\n\tsetCarType = (carType) => {\r\n\t\tthis.setState((prevState) => ({\r\n\t\t\tsearchModel: { ...prevState.searchModel, carType: carType },\r\n\t\t}));\r\n\t};\r\n\r\n\tgetCloseCaValue = (carItem) => {\r\n\t\tif (this.state.isNewCarManagement === 0) {\r\n\t\t\treturn carItem.ca && carItem.ca.filter((el) => el.enabled == true).length > 0 ? `${carItem.ca.filter((el) => el.idStatus == 4 && el.enabled).length}/${carItem.ca.filter((el) => el.enabled == true).length}` : \"\";\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn carItem ? `${carItem.idStatus >= 6 ? '1' : '0'}/1` : \"\";\r\n\t\t}\r\n\t};\r\n\r\n\trender() {\r\n\t\tlet headersDataTable = [\r\n\t\t\t{ key: \"auditCARCode\", header: \"Code\" },\r\n\t\t\t{ key: \"findingCode\", header: \"Project Finding Code\" },\r\n\t\t\t{ key: \"section\", header: \"Section\" },\r\n\t\t\t{ key: \"type\", header: \"Finding Level\" },\r\n\t\t\t{ key: \"status\", header: \"Status\", type: \"status\" },\r\n\t\t\t{ key: \"closedCa\", header: \"Closed CA\" },\r\n\t\t];\r\n\r\n\t\tif (this.state.searchModel.carType === CarType.OBS.Code) {\r\n\t\t\theadersDataTable = [\r\n\t\t\t\t{ key: \"auditCARCode\", header: \"Code\" },\r\n\t\t\t\t{ key: \"findingCode\", header: \"Project Finding Code\" },\r\n\t\t\t\t{ key: \"section\", header: \"Section\" },\r\n\t\t\t\t{ key: \"status\", header: \"Status\", type: \"status\" },\r\n\t\t\t\t{ key: \"closedCa\", header: \"Closed CA\" },\r\n\t\t\t];\r\n\t\t}\r\n\r\n\t\tif (this.state.searchModel.carType === CarType.SFI.Code || this.state.searchModel.carType === CarType.Strength.Code) {\r\n\t\t\theadersDataTable = [\r\n\t\t\t\t{ key: \"auditCARCode\", header: \"Code\" },\r\n\t\t\t\t{ key: \"findingCode\", header: \"Project Finding Code\" },\r\n\t\t\t\t{ key: \"section\", header: \"Section\" },\r\n\t\t\t];\r\n\t\t}\r\n\r\n\t\tif (this.state.isNewCarManagement !== 0) {\r\n\t\t\theadersDataTable.filter(obj => obj.key === \"closedCa\").forEach(item => item.header = \"Finding Completed\")\r\n\t\t}\r\n\r\n\t\tconst skeletonRowCount = 10;\r\n\r\n\t\tconst rows = [];\r\n\r\n\t\tif (this.state.auditModel.auditCAR) {\r\n\t\t\t// Create Ad Hoc DTO\r\n\t\t\tconst cars = this.state.auditModel.auditCAR.sort((a, b) => {\r\n\t\t\t\tconst sequenceA = new Date(a.progressiveId);\r\n\t\t\t\tconst sequenceB = new Date(b.progressiveId);\r\n\t\t\t\treturn sequenceA - sequenceB;\r\n\t\t\t});\r\n\t\t\tcars.filter((x) => x.carType == this.state.searchModel.carType).forEach((item) => {\r\n\t\t\t\trows.push({\r\n\t\t\t\t\tid: item.id,\r\n\t\t\t\t\tauditCARCode: item.auditCARCode,\r\n\t\t\t\t\tfindingCode: item.findingCode,\r\n\t\t\t\t\ttype: item.type,\r\n\t\t\t\t\tstatus: this.state.isNewCarManagement ? item.status.findingName : item.status.carManagementName,\r\n\t\t\t\t\towner: item.owner != null ? `${item.owner.name} ${item.owner.surname}` : `${item.ownerSaipem?.name} ${item.ownerSaipem?.surname}`,\r\n\t\t\t\t\tduedate: switchDateFormat(item.dueDate, \"date\"),\r\n\t\t\t\t\tsection: item.section,\r\n\t\t\t\t\tclosedCa: this.getCloseCaValue(item),\r\n\t\t\t\t\trecommendedAction: item.recommendedAction,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tconst CARModalProps = {\r\n\t\t\tkey: this.state.keyModalCAR,\r\n\t\t\ttitle: \"Finding\" ,\r\n\t\t\taudit: this.state.auditModel?.audit,\r\n\t\t\teditModel: this.state.editModelCAR,\r\n\t\t\tisOpenModal: this.state.isOpenModalCAR,\r\n\t\t\tisEditModal: this.state.isEditModalCAR,\r\n\t\t\ttoggleModal: this.toggleModalCAR,\r\n\t\t\tsave: this.handleSaveModalCAR,\r\n\t\t\tappStatus: this.state.appStatus,\r\n\t\t\tappType: this.state.appType,\r\n\t\t\tcarType: this.state.searchModel.carType,\r\n\t\t\tisNewCarManagement : this.state.isNewCarManagement,\r\n\t\t};\r\n\r\n\t\tconst getNameCARById = (id) => {\r\n\t\t\tif (id == null) return \"\";\r\n\t\t\tconst element = rows.find((el) => el.id == id);\r\n\t\t\treturn element && element.owner && element.status ? `${element.owner} - ${element.duedate} - ${element.status}` : \"\";\r\n\t\t};\r\n\r\n\t\tconst confirmDelProps = () => ({\r\n\t\t\tidToDelete: this.state.idToDelete,\r\n\t\t\tnameItem: getNameCARById(this.state.idToDelete),\r\n\t\t\tisDeleting: this.state.isDeleting,\r\n\t\t\topen: this.state.isOpenDeleteModal, // open state\r\n\t\t\tonCloseConfirm: this.onCloseConfirm, // no click\r\n\t\t\tdeleteItem: this.deleteItemCAR, // yes click fn()\r\n\t\t});\r\n\t\tconst paginationProps = () => ({\r\n\t\t\tpage: this.state.currentPage || 1,\r\n\t\t\ttotalItems: this.state.rowCount || 0,\r\n\t\t\t// pageSize: this.state.pageSize || 10,\r\n\t\t\t//RITM0549692\r\n\t\t\tpageSize: this.state.pageSize || 20,\r\n\t\t\tpageSizes: [10, 20, 30, 40, 50],\r\n\t\t\tonChange: this.handleChangePaging,\r\n\t\t});\r\n\t\t// const audit = this.state.auditModel && this.state.auditModel.audit ? this.state.auditModel.audit : null;\r\n\t\t//RITM0945989\r\n\t\tconst buttonTextSFI = this.state.searchModel.carType === CarType.SFI.Code ? '(Not applicable for HSE Audit)' : '';\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{({ user }) => (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{this.showLoading()}\r\n\t\t\t\t\t\t\t{this.renderUploadModal()}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t {}}\r\n\t\t\t\t\t\t\t\trole=\"navigation\"\r\n\t\t\t\t\t\t\t\tselected={0}\r\n\t\t\t\t\t\t\t\ttabContentClassName=\"auditReportTab\"\r\n\t\t\t\t\t\t\t\ttriggerHref=\"#\"\r\n\t\t\t\t\t\t\t\ttype=\"default\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\tthis.updateState(\"carType\", CarType.NC.Code, \"searchModel\");\r\n\t\t\t\t\t\t\t\t\t\tthis.getCARs();\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tonKeyDown={() => {}}\r\n\t\t\t\t\t\t\t\t\trole=\"presentation\"\r\n\t\t\t\t\t\t\t\t\tselected={false}\r\n\t\t\t\t\t\t\t\t\ttabIndex={0}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\tthis.updateState(\"carType\", CarType.OBS.Code, \"searchModel\");\r\n\t\t\t\t\t\t\t\t\t\tthis.getCARs();\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tonKeyDown={() => {}}\r\n\t\t\t\t\t\t\t\t\trole=\"presentation\"\r\n\t\t\t\t\t\t\t\t\tselected={false}\r\n\t\t\t\t\t\t\t\t\ttabIndex={1}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\tthis.updateState(\"carType\", CarType.SFI.Code, \"searchModel\");\r\n\t\t\t\t\t\t\t\t\t\tthis.getCARs();\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tonKeyDown={() => {}}\r\n\t\t\t\t\t\t\t\t\trole=\"presentation\"\r\n\t\t\t\t\t\t\t\t\tselected={false}\r\n\t\t\t\t\t\t\t\t\ttabIndex={2}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\tthis.updateState(\"carType\", CarType.Strength.Code, \"searchModel\");\r\n\t\t\t\t\t\t\t\t\t\tthis.getCARs();\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tonKeyDown={() => {}}\r\n\t\t\t\t\t\t\t\t\trole=\"presentation\"\r\n\t\t\t\t\t\t\t\t\tselected={false}\r\n\t\t\t\t\t\t\t\t\ttabIndex={3}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t{this.state.idAnswer ? (\r\n\t\t\t\t\t\t\t\t\tCanExecuteAction(\"Audit\", this.state.isNewCarManagement === 0 ? \"CARManagement\" : \"FindingManagement\", user, \"\", \"Create\", this.getCanEditResourceId(null)) && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.EXPORTFINDINGS, apioperation.DOWNLOAD));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\trenderIcon={Download16}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tapiUrl={`/audit/${this.state.auditModel.id}/car/excel`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tfileName={`${\"Export_Findings_\"}${moment().format(\"YYYYMMDDHHmmSS\")}.xlsx`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tonDownLoadStart={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisSubmitted: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tonDownLoadEnd={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisSubmitted: false,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tDownload Findings List\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.CARTEMPLATE, apioperation.DOWNLOAD));\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\trenderIcon={Download16}\r\n\t\t\t\t\t\t\t\t\t\t\t\tapiUrl={`/audit/${this.state.auditModel.id}/car/template`}\r\n\t\t\t\t\t\t\t\t\t\t\t\tfileName=\"AuditFindingTemplate.xlsx\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tonDownLoadStart={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisSubmitted: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonDownLoadEnd={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisSubmitted: false,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\tDownload Template\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tDownload Template\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{selectedRows.length > 0 ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.isNewCarManagement === 0 && this.canSubmitCAR(selectedRows[0].id) &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCanExecuteAction(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Audit\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'CARManagement',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedRows.length > 0 //&& selectedRows[0].carType == CarType.NC\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? this.getStatusId(selectedRows[0].id)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: null,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Submit\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getCanEditResourceId(selectedRows)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.idAnswer != null ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.batchActionClick('Submit', 'Submit', null, false, false, selectedRows)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\"Submit FINDING\" }\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.isNewCarManagement !== 0 && CanExecuteAction(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Audit\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'FindingManagement',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedRows.length > 0 //&& selectedRows[0].carType == CarType.NC\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? this.getStatusId(selectedRows[0].id)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: null,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Submit\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getCanEditResourceId(selectedRows)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) && this.canSubmitFinding(selectedRows[0].id) &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.batchActionClick('SubmitFinding', 'SubmitFinding', null, false, false, selectedRows)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\"Submit FINDING\"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* RITM1004125 */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.isNewCarManagement !== 0 && CanExecuteAction(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Audit\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'FindingManagement',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedRows.length > 0 //&& selectedRows[0].carType == CarType.NC\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? this.getStatusId(selectedRows[0].id)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: null,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Open\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getCanEditResourceId(selectedRows)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) && this.canOpenFinding(selectedRows[0].id) && this.getStatusId(selectedRows[0].id) === 3 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.batchActionClick('OpenFinding', 'OpenFinding', null, false, false, selectedRows)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\"Approve FINDING\"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.isNewCarManagement !== 0 && CanExecuteAction(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Audit\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'FindingManagement',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedRows.length > 0 //&& selectedRows[0].carType == CarType.NC\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? this.getStatusId(selectedRows[0].id)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: null,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Open\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getCanEditResourceId(selectedRows)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) && this.canOpenFinding(selectedRows[0].id) && this.getStatusId(selectedRows[0].id) === 5 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.batchActionClick('OpenFinding', 'OpenFinding', null, false, false, selectedRows)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\"Open FINDING\"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* End */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.isNewCarManagement === 0 && this.canApproveCAR(selectedRows[0].id) &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCanExecuteAction(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Audit\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'CARManagement',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedRows.length > 0 ? this.getStatusId(selectedRows[0].id) : null,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Approve\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getCanEditResourceId(selectedRows)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.idAnswer != null ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.batchActionClick(\"Approve\", \"Approve\", null, false, false, selectedRows)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\"Approve FINDING\"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.isNewCarManagement === 0 && this.canCloseCAR(selectedRows[0].id) &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCanExecuteAction(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Audit\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'CARManagement',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedRows.length > 0 ? this.getStatusId(selectedRows[0].id) : null,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Consolidate\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getCanEditResourceId(selectedRows)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.idAnswer != null ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.batchActionClick(\"Close\", \"Close\", null, false, false, selectedRows)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\"Close FINDING\"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.isNewCarManagement !== 0 && CanExecuteAction(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Audit\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"FindingManagement\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedRows.length > 0 ? this.getStatusId(selectedRows[0].id) : null,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Close\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getCanEditResourceId(selectedRows)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) && \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.batchActionClick(\"CloseFinding\", \"CloseFinding\", null, false, false, selectedRows)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\"Close FINDING\"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{CanExecuteAction(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Audit\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.isNewCarManagement === 0 ? 'CARManagement' : 'FindingManagement',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedRows.length > 0 ? this.getStatusId(selectedRows[0].id) : null,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Reject\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getCanEditResourceId(selectedRows)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) && this.state.idAnswer != null ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.isNewCarManagement === 0 ? this.batchActionClick(\"Reject\", \"Reject\", null, false, true, selectedRows) : this.batchActionClick(\"RejectFinding\", \"RejectFinding\", null, false, true, selectedRows)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.isNewCarManagement === 0 ? \"Reject FINDING\" : \"Reject\"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.isNewCarManagement !== 0 && CanExecuteAction(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Audit',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'FindingManagement',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedRows.length > 0 ? this.getStatusId(selectedRows[0].id) : null,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Complete',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getCanEditResourceId(selectedRows) && this.canCloseFinding(selectedRows[0].id)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.batchActionClick('CompleteFinding', 'CompleteFinding', null, false, false, selectedRows)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\"Complete FINDING\"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{CanExecuteAction(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Audit\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.isNewCarManagement === 0 ? 'CARManagement' : 'FindingManagement',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuser,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedRows.length > 0 ? this.getStatusId(selectedRows[0].id) : null,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"Delete\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.getCanEditResourceId(selectedRows)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.batchActionClick(\"Delete\", \"Delete\", null, false, false, selectedRows)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDelete\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\t\t{this.state.isLoading ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{headers.map((header) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{header.header}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tActions\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{rows == null || rows.length == 0 ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trows.map((row) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.IsRowSelectable(row, selectedRows) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.IsRowSelectable(row, selectedRows) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{row.cells.map((cell) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t x.key === cell.info.header)} />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{IsEditable(\"Audit\", this.state.isNewCarManagement === 0 ? \"CARManagement\" : \"FindingManagement\", user, this.getStatusId(row.id), \"All\", this.getCanEditResourceId(null)) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t))\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t

    \r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
    \r\n\t\t);\r\n\t}\r\n}\r\n","/* eslint-disable react/sort-comp */\r\n/* eslint-disable react/jsx-props-no-spreading */\r\n/* eslint-disable react/prop-types */\r\n/* eslint-disable react/no-access-state-in-setstate */\r\nimport React, { Component } from 'react';\r\nimport {\r\n TextInput,\r\n Button,\r\n FormGroup,\r\n ComposedModal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Checkbox,\r\n DropdownSkeleton,\r\n TextArea,\r\n} from 'carbon-components-react';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { FindGHRSEmployer } from '../common/FindGHRSEmployer';\r\nimport { ComboBox } from '../../helpers/ComboBox';\r\nimport { CarType, DateFormat, entitiesLabels } from '../../helpers/Constants';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport DateTimePicker from '../../helpers/DateTimePicker';\r\nimport moment from 'moment';\r\nimport Close16 from '@carbon/icons-react/lib/close/16';\r\n\r\nexport default class AuditCAModal extends Component {\r\n auditCARModel = (props) => {\r\n if (props.isEditModal) {\r\n const { editModel } = props;\r\n return { ...editModel };\r\n }\r\n\r\n return {\r\n id: undefined, // guid\r\n idAuditCAR: undefined, // guid\r\n caImplemented: null, // ''\r\n idOwner: null, // idInvolvedPerson: null, //guid\r\n owner: {\r\n // InvolvedPerson: {\r\n id: null, // guid\r\n type: '',\r\n badgeNumber: '',\r\n fullname: '',\r\n nationality: '',\r\n email: '',\r\n position: '',\r\n idEmployer: null, // guid\r\n },\r\n dueDate: null,\r\n dueDateChangeNotes: null, // ''\r\n immediateThreatment: null,\r\n immediateTreatmentNC: null,\r\n idStatus: 1,\r\n causeOfInefficiency: null, // ''\r\n explain: null, // ''\r\n isAdequate: undefined, // bool\r\n evidencesAttached: undefined, // bool\r\n checkEffectiveness: null, // ''\r\n dateCheck: null, // date\r\n isCorrectiveActionsSuitable: null, //RITM0945960\r\n };\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator();\r\n this.validatorReminder = new SimpleReactValidator(); //RITM1010580/RITM1010550\r\n this.state = {\r\n model: {\r\n ...this.auditCARModel(props),\r\n },\r\n mode: 0,\r\n\r\n appType: props.appType,\r\n appNationality: props.appNationality,\r\n appRecommendation: props.appRecommendation,\r\n appCorrectiveActionsSuitable: [ //RITM0945960\r\n { id: 'option-1', text: 'Yes' },\r\n { id: 'option-2', text: 'No' },\r\n\r\n ],\r\n };\r\n }\r\n\r\n componentDidMount() {}\r\n\r\n handleChangeMode = (m) => {\r\n this.setState({ mode: m });\r\n };\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state.model };\r\n if (objName && objName != 'model') statusCopy[objName][inputName] = inputValue;\r\n else statusCopy[inputName] = inputValue;\r\n\r\n this.setState({ model: statusCopy });\r\n };\r\n\r\n handleChangeModel = (el) => {\r\n const inputName = el.target.name;\r\n const inputValue = el.target.value;\r\n const objName = el.target.alt;\r\n\r\n this.updateState(inputName, inputValue, objName);\r\n };\r\n\r\n handleChangeCombo = (inputName, selectedItem, objName) => {\r\n const inputValue = selectedItem ? selectedItem.id : null;\r\n this.updateState(inputName, inputValue, objName);\r\n };\r\n\r\n handleChangeComboName = (inputName, selectedItem, objName) => {\r\n if (selectedItem != null) {\r\n selectedItem.id = selectedItem.name;\r\n }\r\n this.handleChangeCombo(inputName, selectedItem, objName);\r\n };\r\n\r\n setEmployer = (employer) => {\r\n if (employer && employer.id) {\r\n const statusCopy = { ...this.state.model };\r\n\r\n statusCopy.owner.idEmployer = employer.id;\r\n statusCopy.owner.badgeNumber = employer.ghrS_ID;\r\n statusCopy.owner.fullname = employer.fullname;\r\n statusCopy.owner.email = employer.email;\r\n statusCopy.owner.type = 'Saipem';\r\n const country = (this.state.appNationality || []).find((el) => el.id == employer.countryId);\r\n statusCopy.owner.nationality = country ? country.name : '';\r\n\r\n this.setState({ model: statusCopy, mode: 2 });\r\n }\r\n };\r\n\r\n save = () => {\r\n //RITM1010580/RITM1010550 – Audit CA Mandatory Fields Fix\r\n if (this.props.car.idStatus === 4) {\r\n if (this.validatorReminder.allValid() && this.validator.allValid()) {\r\n const { model } = this.state;\r\n if (!this.props.isEditModal) {\r\n model.id = uuid();\r\n model.idOwner = uuid();\r\n model.owner.id = model.idOwner;\r\n }\r\n this.props.save(model);\r\n }\r\n else {\r\n if (!this.validatorReminder.allValid()) {\r\n this.validatorReminder.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`, `${entitiesLabels.CA} required fields are missing `);\r\n this.forceUpdate();\r\n } \r\n else {\r\n if (this.validator.fieldValid('duedate') == false) {\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n `The Due Date must be less than or equal to the Due Date of the Finding `\r\n );\r\n } else {\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n ` ${entitiesLabels.CA} required fields are missing `\r\n );\r\n }\r\n this.validator.showMessages();\r\n \r\n this.forceUpdate();\r\n }\r\n } \r\n }\r\n else {\r\n if (this.validator.allValid()) {\r\n const { model } = this.state;\r\n if (!this.props.isEditModal) {\r\n model.id = uuid();\r\n model.idOwner = uuid();\r\n model.owner.id = model.idOwner;\r\n }\r\n this.props.save(model);\r\n } else {\r\n if (this.validator.fieldValid('duedate') == false) {\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n `The Due Date must be less than or equal to the Due Date of the Finding `\r\n );\r\n } else {\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n ` ${entitiesLabels.CA} required fields are missing `\r\n );\r\n }\r\n this.validator.showMessages();\r\n \r\n this.forceUpdate();\r\n }\r\n }\r\n //End\r\n };\r\n\r\n deleteEmployer = () => {\r\n let statusCopy = Object.assign({}, this.state.model);\r\n statusCopy.owner.idEmployer = null;\r\n statusCopy.owner.type = null;\r\n statusCopy.owner.badgeNumber = null;\r\n statusCopy.owner.fullname = null;\r\n statusCopy.owner.nationality = null;\r\n statusCopy.owner.email = null;\r\n this.setState({ model: statusCopy });\r\n };\r\n\r\n render() {\r\n if (this.state.model.dueDate != null) {\r\n var diffduedate =\r\n !this.props.car.dueDate ||\r\n moment(this.props.car.dueDate).isSameOrAfter(moment(this.state.model.dueDate), 'day');\r\n } else {\r\n var diffduedate = true;\r\n }\r\n const validations = {\r\n type: this.validator.message('type', this.props.isNewCarManagement === 0 ? this.state.model.owner.type : true, 'required'),\r\n fullname: this.validator.message('fullname', this.props.isNewCarManagement === 0 ? this.state.model.owner.fullname : true, 'required'),\r\n badgeNumber: this.validator.message(\r\n 'badgeNumber',\r\n this.props.isNewCarManagement === 0 ? this.state.model.owner.badgeNumber : true,\r\n 'required'\r\n ),\r\n email: this.validator.message('email', this.props.isNewCarManagement === 0 ? this.state.model.owner.email : 'xxx@yyy.com', 'required|email' ),\r\n // nationality: this.validator.message('nationality', this.state.model.owner.nationality, 'required'),\r\n position: this.validator.message('position', this.props.isNewCarManagement === 0 ? this.state.model.owner.position : true, 'required'),\r\n duedate: this.validator.message('duedate', diffduedate, 'accepted'),\r\n dueDate: this.validator.message('dueDate', this.state.model.dueDate, 'required'),\r\n immediateTreatmentNC: this.validator.message(\r\n 'immediateTreatmentnc',\r\n this.props.car.carType == CarType.NC.Code ? this.state.model.immediateThreatmentNC : true,\r\n 'required'\r\n ),\r\n causeOfInefficiency: this.validator.message(\r\n 'causeOfInefficiency',\r\n this.state.model.causeOfInefficiency,\r\n 'required'\r\n ),\r\n caImplemented: this.validator.message(\r\n 'caImplemented',\r\n this.state.model.caImplemented,\r\n 'required'\r\n ), \r\n };\r\n //RITM1010580/RITM1010550 – Audit CA Mandatory Fields Fix\r\n const validationsReminder = {\r\n checkEffectiveness: this.validatorReminder.message(\r\n 'checkEffectiveness',\r\n (this.props.car.carType === CarType.NC.Code || \r\n this.props.car.carType === CarType.OBS.Code) ? \r\n this.state.model.checkEffectiveness : true,\r\n 'required'),\r\n dateCheck: this.validatorReminder.message(\r\n 'dateCheck', \r\n (this.props.car.carType === CarType.NC.Code || \r\n this.props.car.carType === CarType.OBS.Code) ? \r\n this.state.model.dateCheck : true, \r\n 'required'),\r\n //RITM0945960 - Effectiveness Check Modification\r\n isCorrectiveActionsSuitable: this.validatorReminder.message( \r\n 'isCorrectiveActionsSuitable',\r\n (this.props.car.carType === CarType.NC.Code ||\r\n this.props.car.carType === CarType.OBS.Code) ?\r\n this.state.model.isCorrectiveActionsSuitable : true,\r\n 'required'),\r\n //End\r\n };\r\n //End\r\n \r\n const modalHeader = {\r\n title: this.props.isEditModal ? 'Edit ' : 'Add new ',\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.props.toggleModal(false),\r\n };\r\n const { title, isOpenModal } = this.props;\r\n\r\n const selectedItemCombo = {\r\n nationality: (this.state.appNationality || []).find(\r\n (el) => el.name == this.state.model.owner.nationality\r\n ),\r\n type: (this.state.appType || []).find((el) => el.id == this.state.model.owner.type),\r\n idStatus: (this.props.appStatus || []).find((el) => el.id == this.state.model.idStatus),\r\n isCorrectiveActionsSuitable: (this.state.appCorrectiveActionsSuitable || []).find( //RITM0945960\r\n (el) => el.text == this.state.model.isCorrectiveActionsSuitable\r\n ),\r\n };\r\n\r\n return this.state.mode === 1 ? (\r\n \r\n ) : (\r\n false}\r\n >\r\n \r\n

    {title || ''}

    \r\n
    \r\n \r\n
    \r\n {this.props.car.carType == CarType.NC.Code ? (\r\n
    \r\n 0 ? \"Correction (immediate treatment) *\" : \"Immediate Treatment *\"} >\r\n 0 ? \"Input Correction\" : \"Input Immediate Treatment\"} \r\n value={this.state.model.immediateThreatmentNC || ''}\r\n onChange={(el) =>\r\n this.updateState('immediateThreatmentNC', el.target.value, 'model')\r\n }\r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={200}\r\n invalid={validations.immediateTreatmentNC != null}\r\n disabled={this.props.isDisabled}\r\n />\r\n {validations.immediateTreatmentNC}\r\n \r\n
    \r\n ) : (\r\n ''\r\n )}\r\n
    \r\n
    \r\n \r\n \r\n this.updateState('causeOfInefficiency', el.target.value, 'model')\r\n }\r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={200}\r\n invalid={validations.causeOfInefficiency != null}\r\n disabled={this.props.isDisabled}\r\n />\r\n {validations.causeOfInefficiency}\r\n \r\n
    \r\n
    \r\n \r\n this.updateState('caImplemented', el.target.value, 'model')}\r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={200}\r\n invalid={validations.caImplemented != null}\r\n disabled={this.props.isDisabled}\r\n />\r\n {validations.caImplemented}\r\n \r\n
    \r\n
    \r\n {this.props.isNewCarManagement === 0 ? (\r\n \r\n
    \r\n
    \r\n this.handleChangeMode(1)}\r\n >\r\n GHRS research\r\n \r\n
    \r\n
    \r\n this.deleteEmployer()}\r\n className=\"search--custom-button\"\r\n />\r\n
    \r\n
    \r\n
    )\r\n : \"\"\r\n }\r\n
    \r\n
    \r\n {this.props.isNewCarManagement === 0 ? (\r\n \r\n {this.state.appType == null ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.type}\r\n items={this.state.appType}\r\n disabled={this.state.model.owner.idEmployer != null || this.props.isDisabled}\r\n invalid={validations.type != null}\r\n />\r\n )}\r\n {validations.type}\r\n )\r\n : \"\"\r\n }\r\n
    \r\n
    \r\n {this.props.isNewCarManagement === 0 ? (\r\n \r\n \r\n {validations.fullname}\r\n )\r\n : \"\"\r\n }\r\n
    \r\n
    \r\n {this.props.isNewCarManagement === 0 ? (\r\n \r\n \r\n {validations.badgeNumber}\r\n )\r\n : \"\"\r\n }\r\n
    \r\n
    \r\n {this.props.isNewCarManagement === 0 ? (\r\n \r\n \r\n {validations.email}\r\n )\r\n : \"\"\r\n }\r\n
    \r\n
    \r\n {this.props.isNewCarManagement === 0 ? (\r\n \r\n {this.state.appNationality == null ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.nationality}\r\n items={this.state.appNationality}\r\n disabled={this.state.model.owner.idEmployer != null || this.props.isDisabled}\r\n // invalid={validations.nationality != null}\r\n />\r\n )}\r\n {/* {validations.nationality} */}\r\n )\r\n : \"\"\r\n }\r\n
    \r\n
    \r\n {this.props.isNewCarManagement === 0 ? (\r\n \r\n \r\n {validations.position}\r\n )\r\n : \"\"\r\n }\r\n
    \r\n
    \r\n \r\n {this.props.appStatus == null ? (\r\n \r\n ) : (\r\n (item ? item.caManagementName : '')}\r\n initialSelectedItem={selectedItemCombo.idStatus}\r\n items={this.props.appStatus}\r\n disabled\r\n />\r\n )}\r\n \r\n
    \r\n
    \r\n \r\n \r\n\r\n {validations.dueDate}\r\n {validations.duedate ? (\r\n
    \r\n The Due Date must be less than or equal to the Due Date of the Finding\r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {this.props.editEffectiveness && (\r\n <>\r\n
    \r\n \r\n this.updateState(id, value, 'model')}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n this.updateState(id, value, 'model')}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n \r\n this.updateState('checkEffectiveness', el.target.value, 'model')\r\n }\r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={200}\r\n invalid={validationsReminder.checkEffectiveness != null} //RITM0945960 //RITM1010580/RITM1010550 \r\n />\r\n \r\n {/* //RITM0945960 //RITM1010580/RITM1010550 */}\r\n {validationsReminder.checkEffectiveness}\r\n
    \r\n
    \r\n \r\n \r\n \r\n {/* //RITM0945960 //RITM1010580/RITM1010550 */}\r\n {validationsReminder.dateCheck}\r\n
    \r\n {/* RITM0945960 - Effectiveness Check Modification */}\r\n
    \r\n \r\n \r\n this.updateState(id, (val ? val.text : null), 'model')}\r\n itemToString={item => (item ? item.text : '')}\r\n initialSelectedItem={selectedItemCombo.isCorrectiveActionsSuitable || null}\r\n items={this.state.appCorrectiveActionsSuitable} \r\n invalid={validationsReminder.isCorrectiveActionsSuitable != null} //RITM1010580/RITM1010550 \r\n /> \r\n \r\n {/* //RITM1010580/RITM1010550 */}\r\n {validationsReminder.isCorrectiveActionsSuitable} \r\n
    \r\n {/* End */}\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.save()}\r\n >\r\n Save\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","/* eslint-disable react/sort-comp */\r\n/* eslint-disable no-param-reassign */\r\n/* eslint-disable react/prop-types */\r\nimport React, { Component } from 'react';\r\nimport {\r\n Button,\r\n Table,\r\n TableContainer,\r\n TableHead,\r\n TableHeader,\r\n TableBody,\r\n TableRow,\r\n Pagination,\r\n Loading,\r\n TableCell,\r\n TableToolbar,\r\n DataTableSkeleton,\r\n} from 'carbon-components-react';\r\nimport { Link } from 'react-router-dom';\r\nimport View16 from '@carbon/icons-react/lib/view--filled/16';\r\nimport Add16 from '@carbon/icons-react/lib/add/16';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\n\r\nimport '../../scss/custom.scss';\r\nimport { switchDateFormat } from '../../helpers/jsonschemaform/customwidget/utils';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport {\r\n getSuccess,\r\n getError,\r\n STATUS,\r\n apioperation,\r\n entitiesLabels,\r\n CarType,\r\n} from '../../helpers/Constants';\r\nimport { api, registry } from '../../helpers/api/api';\r\nimport { NoRecordsPlaceholder } from '../../helpers/jsonschemaform/DataTableExtention';\r\nimport { StatusTag } from '../../helpers/PageBreadCrumb';\r\nimport { ConfirmAlertCustom } from '../../helpers/ConfirmAlertCustom';\r\nimport AuditCAModal from './AuditCAModal';\r\nimport { IsEditable } from '../../helpers/authorization/Policies';\r\nimport { Online } from '../common/OnLineOffLine';\r\n\r\nexport default class AuditCAList extends Component {\r\n initialState = (props) => {\r\n const initialState = {\r\n idAuditEdit: props.idAuditEdit,\r\n idAnswer: props.idAnswer,\r\n idCar: props.idCar,\r\n\r\n // modal insert/edit\r\n keyModalCA: `modalCA_${new Date().getTime()}`,\r\n editModelCA: null,\r\n isEditModalCA: false,\r\n isOpenModalCA: false,\r\n addCountItems: 0,\r\n isOpenDeleteModal: false,\r\n isDeleting: false,\r\n idToDelete: false,\r\n appType: null,\r\n appNationality: null,\r\n appStatus: null,\r\n //auditCA : this.props.auditCA ? this.props?.auditCA.filter( x => this.props.listCa?.itemList.some(y => y.id == x.id) ) : []\r\n };\r\n return initialState;\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n ...this.initialState(props),\r\n };\r\n\r\n this.backendBaseUrl = `/audit/${this.state.idAuditEdit}/answer/${this.state.idAnswer}/car/${this.state.idCar}/ca/`;\r\n this.baseUrl= `/audit/${this.state.idAuditEdit}/${this.props.isNewCarManagement}/answer/${this.state.idAnswer}/car/${this.state.idCar}/ca/`;\r\n }\r\n\r\n baseUrl;\r\n backendBaseUrl;\r\n\r\n componentDidMount() {\r\n this.getType();\r\n this.getCountry();\r\n this.getStatus();\r\n }\r\n\r\n getCAs = (model) => this.props.getCAs(model);\r\n\r\n getStatus = () => {\r\n registry\r\n .getAll('status')\r\n .then((response) => {\r\n let { data } = response;\r\n data = data != null ? data.filter((item) => item.id !== STATUS.Approved) : [];\r\n this.setState({\r\n appStatus: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.STATUS, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n };\r\n\r\n getType() {\r\n registry\r\n .getAll('infooriginator')\r\n .then((response) => {\r\n let { data } = response;\r\n data = data != null ? data.map((item) => ({ id: item.name, name: item.name })) : [];\r\n this.setState({\r\n appType: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.TYPEAUDIT, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n }\r\n\r\n getCountry() {\r\n api\r\n .getAll('/country')\r\n .then((response) => {\r\n const { data } = response;\r\n this.setState({\r\n appNationality: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.COUNTRY, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n }\r\n\r\n detailCA = (id) => {\r\n this.props.history.push(this.baseUrl + id);\r\n };\r\n\r\n /** ********CA******************* */\r\n\r\n toggleModalCA = (open) => {\r\n this.setState({ isOpenModalCA: open });\r\n };\r\n\r\n addCA = () => {\r\n this.setState({ keyModalCA: `modalCA_${new Date().getTime()}` });\r\n this.setState({ isEditModalCA: false, isOpenModalCA: true, editModelCA: null });\r\n };\r\n\r\n editModalCA = (id) => {\r\n this.setState({ keyModalCA: `modalCA_${new Date().getTime()}` });\r\n const item = this.props.auditCA.find((el) => el.id === id);\r\n const canEditResource = this.props.car && {\r\n email:\r\n this.props.car.owner != null\r\n ? this.props.car.owner.email\r\n : this.props.car.ownerSaipem.email, // CAR Owner\r\n };\r\n const editEffectiveness = IsEditable(\r\n 'Audit',\r\n 'CARManagement',\r\n this.props.user,\r\n this.props.car.idStatus,\r\n 'Effectiveness',\r\n canEditResource\r\n );\r\n this.setState({\r\n editModelCA: item,\r\n isEditModalCA: true,\r\n isOpenModalCA: true,\r\n editEffectiveness,\r\n });\r\n };\r\n\r\n handleSaveModalCA = (datiForm) => {\r\n if (!datiForm) return;\r\n\r\n this.setState({\r\n isSubmitted: true,\r\n });\r\n\r\n if (!this.state.isEditModalCA) {\r\n datiForm.idStatus = 1;\r\n datiForm.idAuditCAR = this.state.idCar;\r\n datiForm.status = {\r\n id: 1,\r\n name: 'Draft',\r\n planningName: 'Draft',\r\n reportingName: 'Opened',\r\n carManagementName: 'Assigned',\r\n caManagementName: 'Draft',\r\n };\r\n if (this.props.isNewCarManagement !== 0)\r\n {\r\n if (this.props.car.owner != null)\r\n {\r\n datiForm.owner.email = this.props.car.owner.email;\r\n datiForm.owner.fullname = this.props.car.owner.fullname;\r\n datiForm.owner.IdEmployer = this.props.car.owner.id;\r\n datiForm.owner.BadgeNumber = this.props.car.owner.ghrS_ID;\r\n //datiForm.owner.Type = ???\r\n const country = (this.state.appNationality || []).find((el) => el.id == this.props.car.owner.countryId);\r\n datiForm.owner.nationality = country ? country.name : '';\r\n }\r\n else if (this.props.car.ownerSaipem != null)\r\n {\r\n datiForm.owner.email = this.props.car.ownerSaipem.email;\r\n datiForm.owner.fullname = this.props.car.ownerSaipem.fullname;\r\n datiForm.owner.IdEmployer = this.props.car.ownerSaipem.Id;\r\n //datiForm.owner.Type = ???\r\n }\r\n }\r\n }\r\n\r\n const method = this.state.isEditModalCA\r\n ? api.put(this.backendBaseUrl, datiForm, datiForm.id)\r\n : api.post(this.backendBaseUrl, datiForm);\r\n\r\n method\r\n .then((response) => {\r\n if (response.status === 200) {\r\n this.getCAs(datiForm);\r\n if (!this.state.isEditModalCA) {\r\n this.updatePagination();\r\n }\r\n this.setState({\r\n isOpenModalCA: false,\r\n keyModalCA: `modalCA_${new Date().getTime()}`,\r\n });\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(\r\n entitiesLabels.CA,\r\n this.state.isEditModalCA ? apioperation.PUT : apioperation.POST\r\n )\r\n );\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(\r\n error,\r\n entitiesLabels.CA,\r\n this.state.isEditModalCA ? apioperation.PUT : apioperation.POST\r\n )\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isSubmitted: false,\r\n });\r\n });\r\n };\r\n\r\n updatePagination = async () => {\r\n await this.setState(() => ({\r\n addCountItems: this.state.addCountItems + 1,\r\n }));\r\n };\r\n\r\n showLoading() {\r\n const show = this.state.isSubmitted;\r\n const descr = this.state.isSubmitted ? 'Saving...' : 'Loading data...';\r\n return show && ;\r\n // return ()\r\n }\r\n\r\n confirmDeleteCA = (id) => {\r\n this.setState({\r\n idToDelete: id,\r\n isOpenDeleteModal: true,\r\n isDeleting: false,\r\n });\r\n };\r\n\r\n onCloseConfirm = () => {\r\n this.setState({\r\n isOpenDeleteModal: false,\r\n });\r\n };\r\n\r\n deleteItemCA = () => {\r\n const id = this.state.idToDelete;\r\n\r\n this.setState({\r\n isDeleting: true,\r\n });\r\n\r\n api\r\n .delete(this.backendBaseUrl, id)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n this.setState({\r\n idToDelete: null,\r\n isOpenDeleteModal: false,\r\n });\r\n this.onCloseConfirm();\r\n this.getCAs(id);\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.CA, apioperation.DELETE)\r\n );\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.CA, apioperation.DELETE)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isDeleting: false,\r\n });\r\n });\r\n };\r\n /** ********Fine CA******************* */\r\n\r\n getStatusId = (idRow) => {\r\n const r = this.props.auditCA.find((el) => el.id == idRow);\r\n return r && r.idStatus;\r\n };\r\n\r\n render() {\r\n const rows = this.props.auditCA || [];\r\n\r\n // this.props.listCa?.itemList || [];\r\n\r\n const CAModalProps = {\r\n key: this.state.keyModalCA,\r\n title: 'CA',\r\n editModel: this.state.editModelCA,\r\n isOpenModal: this.state.isOpenModalCA,\r\n isEditModal: this.state.isEditModalCA,\r\n isNewCarManagement: this.props.isNewCarManagement,\r\n toggleModal: this.toggleModalCA,\r\n save: this.handleSaveModalCA,\r\n\r\n appType: this.state.appType,\r\n appNationality: this.state.appNationality,\r\n appStatus: this.state.appStatus,\r\n car: this.props.car,\r\n editEffectiveness: this.state.editEffectiveness,\r\n isDisabled: this.props.isDisabled,\r\n };\r\n\r\n const getNameCAById = (id) => {\r\n if (id == null) return '';\r\n const element = rows.find((el) => el.id == id);\r\n return element && element.owner && element.status\r\n ? `${element.owner.fullname} - ${element.dueDate} - ${element.status.caManagementName}`\r\n : '';\r\n };\r\n\r\n const confirmDelProps = () => ({\r\n idToDelete: this.state.idToDelete,\r\n nameItem: getNameCAById(this.state.idToDelete),\r\n isDeleting: this.state.isDeleting,\r\n open: this.state.isOpenDeleteModal, // open state\r\n onCloseConfirm: this.onCloseConfirm, // no click\r\n deleteItem: this.deleteItemCA, // yes click fn()\r\n });\r\n const paginationProps = () => ({\r\n page: this.props.currentPage || 1,\r\n totalItems: this.props.rowCount + this.state.addCountItems || 0,\r\n pageSize: this.props.pageSize || 10,\r\n pageSizes: [10, 20, 30, 40, 50],\r\n onChange: this.props.handleChangePaging,\r\n });\r\n const colSpan = 6;\r\n // partial page\r\n return (\r\n <>\r\n \r\n
    \r\n {this.showLoading()}\r\n
    \r\n
    \r\n

    \r\n {this.props.car.carType == CarType.NC.Code ? 'CA/Corrective Action' : 'CA/Recommended Action'}\r\n

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

    \r\n {this.props.isDisabled || this.props.statusCar > 2 ? null : (\r\n \r\n )}\r\n \r\n\r\n \r\n {this.props.isLoading ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n Owner\r\n Owner Type\r\n Due Date\r\n Status\r\n Actions\r\n \r\n \r\n \r\n {rows == null || rows.length == 0 ? (\r\n \r\n ) : (\r\n rows.map((item) => (\r\n \r\n \r\n {item.owner && item.owner.fullname}\r\n \r\n \r\n {item.owner && item.owner.type}\r\n \r\n \r\n {switchDateFormat(item.dueDate, 'date')}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n this.editModalCA(item.id)}\r\n size=\"small\"\r\n renderIcon={Edit16}\r\n iconDescription=\"Edit\"\r\n kind=\"ghost\"\r\n />\r\n \r\n {this.props.isDisabled || this.props.statusCar >= 3 ? null : (\r\n this.confirmDeleteCA(item.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n />\r\n )}\r\n \r\n
    \r\n \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \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, { Component } from 'react';\r\nimport {\r\n TextInput,\r\n FormGroup,\r\n Checkbox,\r\n TextArea,\r\n} from 'carbon-components-react';\r\nimport { CarType, DateFormat } from '../../helpers/Constants';\r\nimport DateTimePicker from '../../helpers/DateTimePicker';\r\nimport AttachmentTable from '../common/AttachmentTable';\r\nimport { ComboBox } from '../../helpers/ComboBox'; //RITM0945960\r\n\r\nexport default class AuditFindingCADetail extends Component {\r\n\r\n //RITM0945960 - Effectiveness Check Modification\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n appCorrectiveActionsSuitable: [\r\n { id: 'option-1', text: 'Yes' },\r\n { id: 'option-2', text: 'No' },\r\n \r\n ],\r\n }\r\n }\r\n //End\r\n render() {\r\n //RITM0945960 - Effectiveness Check Modification\r\n const selectedItemCombo = {\r\n isCorrectiveActionsSuitable: (this.state.appCorrectiveActionsSuitable || []).find(\r\n (el) => el.text == this.props.CAModel.isCorrectiveActionsSuitable\r\n ),\r\n };\r\n //End\r\n return (\r\n <>\r\n
    \r\n {this.props.showCADefinition === true ? (\r\n <>\r\n {this.props.car.carType == CarType.NC.Code ? (\r\n
    \r\n \r\n \r\n this.props.updateState('immediateThreatmentNC', el.target.value, 'model')\r\n } \r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={200}\r\n invalid={this.props.validations.immediateThreatmentNC != null}\r\n disabled={this.props.isDisabled} \r\n />\r\n {this.props.validations.immediateThreatmentNC}\r\n \r\n
    \r\n ) : (\r\n ''\r\n )}\r\n
    \r\n
    \r\n \r\n \r\n this.props.updateState('causeOfInefficiency', el.target.value, 'model')\r\n } \r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={200}\r\n invalid={this.props.validations.causeOfInefficiency != null}\r\n disabled={this.props.isDisabled} \r\n />\r\n {this.props.validations.causeOfInefficiency}\r\n \r\n
    \r\n
    \r\n \r\n this.props.updateState('caImplemented', el.target.value, 'model')} \r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={200}\r\n invalid={this.props.validations.caImplemented != null}\r\n disabled={this.props.isDisabled} \r\n />\r\n {this.props.validations.caImplemented}\r\n \r\n
    \r\n
    \r\n \r\n \r\n\r\n {this.props.validations.dueDate}\r\n {this.props.validations.duedate ? (\r\n
    \r\n The Due Date of the CA must be less than or equal to the Due Date of the Finding\r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n \r\n this.props.updateState(el.target.name, el.target.value, el.target.alt)} \r\n type=\"text\"\r\n hideLabel\r\n labelText=\"\"\r\n disabled={this.props.isDisabled}\r\n />\r\n \r\n
    \r\n {this.props.showCASolution === true ? (\r\n <>\r\n
    \r\n \r\n this.props.updateState('immediateThreatment', el.target.value, 'model')}\r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={225}\r\n className=\"disable-text\"\r\n invalid={this.props.validationsSolution.immediateThreatment != null}\r\n disabled={this.props.isDisabledCAManagement}\r\n />\r\n {this.props.validations.immediateThreatment}\r\n \r\n
    \r\n
    \r\n \r\n this.props.updateState('explain', el.target.value, 'model')}\r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={225}\r\n className=\"disable-text\"\r\n invalid={this.props.validationsSolution.explain != null}\r\n disabled={this.props.isDisabledCAManagement}\r\n />\r\n {this.props.validationsSolution.explain}\r\n \r\n \r\n
    \r\n \r\n )\r\n : ('')\r\n }\r\n {this.props.editEffectiveness && (\r\n <>\r\n
    \r\n \r\n this.props.updateState(id, value, 'model')} \r\n />\r\n \r\n
    \r\n
    \r\n \r\n this.props.updateState(id, value, 'model')} \r\n /*disabled={\r\n this.state.model.emailCompilerAuditReport === this.props.user.email\r\n }*/\r\n />\r\n \r\n
    \r\n
    \r\n \r\n \r\n this.props.updateState('checkEffectiveness', el.target.value, 'model')\r\n } \r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={200}\r\n invalid={this.props.validationsEffectiveness.checkEffectiveness != null}\r\n /*disabled={\r\n this.state.model.emailCompilerAuditReport === this.props.user.email\r\n }*/\r\n />\r\n \r\n {this.props.validationsEffectiveness.checkEffectiveness}\r\n
    \r\n
    \r\n \r\n \r\n \r\n {this.props.validationsEffectiveness.dateCheck}\r\n
    \r\n {/* RITM0945960 - Effectiveness Check Modification* */}\r\n
    \r\n \r\n (item ? item.text : '')}\r\n onChange={(id, val) =>\r\n this.props.updateState(id, (val ? val.text : null), 'model')}\r\n invalid={this.props.validationsEffectiveness.isCorrectiveActionsSuitable != null} \r\n /> \r\n \r\n {this.props.validationsEffectiveness.isCorrectiveActionsSuitable}\r\n
    \r\n {/* End */}\r\n \r\n )}\r\n
    \r\n \r\n ) : \"\" }\r\n
    \r\n \r\n )\r\n }\r\n}","/* eslint-disable react/prop-types */\r\nimport React, { Component } from 'react';\r\nimport { TextInput, Loading, FormGroup, TextArea, Button, DatePickerSkeleton } from 'carbon-components-react';\r\nimport '../../scss/custom.scss';\r\nimport {\r\n CheckmarkOutline16,\r\n Send16,\r\n Delete16,\r\n Task16,\r\n Error16,\r\n Information16,\r\n} from '@carbon/icons-react/lib/';\r\nimport { v4 as uuid } from 'uuid';\r\nimport moment from 'moment';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport {\r\n getError,\r\n getSuccess,\r\n apioperation,\r\n entitiesLabels,\r\n CarType,\r\n GetCarTypeByCode,\r\n DateFormat,\r\n} from '../../helpers/Constants';\r\nimport { audit } from '../../helpers/api/api';\r\nimport AuditCAList from './AuditCAList';\r\nimport { IsEditable, CanExecuteAction } from '../../helpers/authorization/Policies';\r\nimport { AppContext } from '../../helpers/context/AppContext';\r\nimport PageBreadCrumb from '../../helpers/PageBreadCrumb';\r\nimport { WFActionModal } from '../common/WFActionModal';\r\nimport { switchDateFormat } from '../../helpers/jsonschemaform/customwidget/utils';\r\n\r\nimport { HistoryTable } from '../../helpers/HistoryTable';\r\nimport { Online } from '../common/OnLineOffLine';\r\nimport AuditRepository from '../../helpers/api/AuditRepository';\r\nimport AttachmentTable from '../common/AttachmentTable';\r\nimport DateTimePicker from '../../helpers/DateTimePicker';\r\nimport AuditFindingCADetail from './AuditFindingCADetail';\r\n\r\n\r\nexport default class AuditCARDetail extends Component {\r\n baseUrl;\r\n\r\n constructor(props) {\r\n super(props);\r\n const idAuditEdit = props ? props.match.params.id : '';\r\n const idAnswer = props ? props.match.params.idAnswer : '';\r\n const isNewCarManagement = props ? Number(props.match.params.newMng) : 0;\r\n const idCar = props ? props.match.params.idCar : '';\r\n\r\n this.state = {\r\n idAuditEdit,\r\n idAnswer,\r\n isNewCarManagement,\r\n idCar,\r\n isLoading: true,\r\n model: null,\r\n keyCAList: `listCA_${new Date().getTime()}`,\r\n // /Status Action\r\n isApprovalModalOpen: false,\r\n approvalModalAction: '',\r\n approver: null,\r\n isLoadingApproverOptions: true,\r\n approvalValidationMessages: [],\r\n approvers: [],\r\n // selectedData: [],\r\n approverRole: '',\r\n withApprover: true,\r\n isLoadingWFOperation: false,\r\n approvalNotesRequired: false,\r\n // /Status Action\r\n isHistoryModalOpen: false,\r\n currentPage: 1,\r\n pageSize: 10,\r\n rowCount: 0,\r\n };\r\n this.baseUrl = `${idAuditEdit}/answer/${idAnswer}/car/`;\r\n this.repository = new AuditRepository();\r\n this.validator = new SimpleReactValidator();\r\n this.validatorSolutions = new SimpleReactValidator();\r\n this.validatorEffectiveness = new SimpleReactValidator();\r\n this.previousCAItem = null;\r\n }\r\n\r\n componentDidMount() {\r\n this.getCAR();\r\n }\r\n\r\n showButtonHistory = () => (\r\n \r\n this.openModalHistory()}\r\n >\r\n History\r\n \r\n \r\n );\r\n\r\n openModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: true });\r\n };\r\n\r\n closeModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: false });\r\n };\r\n\r\n setPreviousCAItem = () => {\r\n const item = this.state.model;\r\n if (item && item.ca && item.ca.length > 0) {\r\n this.previousCAItem = JSON.parse(JSON.stringify(item.ca[0]));\r\n }\r\n }\r\n\r\n isSavePendingBeforeSubmit = (carType) => {\r\n const item = this.state.model;\r\n if (this.previousCAItem && item && item.ca && item.ca.length > 0) {\r\n if (carType === CarType.NC.Code) { \r\n return (this.previousCAItem.caImplemented !== item.ca[0].caImplemented ||\r\n this.previousCAItem.causeOfInefficiency !== item.ca[0].causeOfInefficiency ||\r\n this.previousCAItem.dueDate !== item.ca[0].dueDate ||\r\n this.previousCAItem.immediateThreatmentNC !== item.ca[0].immediateThreatmentNC);\r\n } \r\n if (carType === CarType.OBS.Code) {\r\n return (this.previousCAItem.caImplemented !== item.ca[0].caImplemented ||\r\n this.previousCAItem.causeOfInefficiency !== item.ca[0].causeOfInefficiency ||\r\n this.previousCAItem.dueDate !== item.ca[0].dueDate);\r\n }\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n updateCar = (caModel) => {\r\n const carModel = this.state.model;\r\n let items = carModel.ca;\r\n\r\n // TODO_!: il seguente commento è giusto?\r\n // deleteCa\r\n if (caModel.idAuditCAR == null) {\r\n const index = items.findIndex((item) => item.id === caModel);\r\n\r\n this.repository.updateCachedCaList(\r\n items[index],\r\n this.state.idAuditEdit,\r\n this.state.idAnswer,\r\n true\r\n );\r\n\r\n items = items.filter((x) => x.id !== caModel);\r\n\r\n // TODO_!: la seguente istruzione è giusta?\r\n this.setState((prevState) => ({\r\n rowCount: prevState.rowCount - 1\r\n }));\r\n } else {\r\n const index = items.findIndex((item) => item.id === caModel.id);\r\n if (index < 0) {\r\n items = items.concat([caModel]);\r\n this.setState((prevState) => ({\r\n rowCount: prevState.rowCount + 1,\r\n }));\r\n } else items[index] = caModel;\r\n\r\n this.setState({\r\n keyCAList: `listCA_${new Date().getTime()}`,\r\n });\r\n this.repository.updateCachedCaList(caModel, this.state.idAuditEdit, this.state.idAnswer);\r\n }\r\n\r\n this.setState((state) => {\r\n const { model } = state;\r\n const { listCas } = state;\r\n model.ca = items;\r\n listCas.itemList = items;\r\n return model;\r\n });\r\n };\r\n\r\n updateStateCarCA = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state.model };\r\n if (objName && objName !== 'model') statusCopy.ca[0][objName][inputName] = inputValue;\r\n else statusCopy.ca[0][inputName] = inputValue;\r\n\r\n this.setState(() => ({ model: statusCopy }));\r\n };\r\n\r\n handleChangePaging = async (page) => {\r\n await new Promise((resolve) => {\r\n this.setState(\r\n { currentPage: page.page, pageSize: page.pageSize, /* loading: true, isBack: false */ },\r\n resolve\r\n );\r\n });\r\n this.getCAR();\r\n };\r\n\r\n getCAR = () => {\r\n this.setState({\r\n isLoading: true,\r\n });\r\n\r\n const id = this.state.idCar;\r\n const filter = {\r\n params: {\r\n page: this.state.currentPage,\r\n pageSize: this.state.pageSize,\r\n },\r\n };\r\n audit\r\n .getWithParam(this.baseUrl + id, filter)\r\n .then((response) => {\r\n const { data } = response;\r\n if (data) {\r\n this.setState({\r\n model: data.result,\r\n listCas: data ? data.resultCas : [],\r\n });\r\n this.setPreviousCAItem();\r\n } else {\r\n showNotification.error(`${entitiesLabels.ERROR}`, 'FINDING not found');\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.FINDING, apioperation.GET)\r\n );\r\n this.props.history.push(this.getBackUrl());\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoading: false,\r\n });\r\n });\r\n };\r\n\r\n handleApproverSelect = (selectedItem) => {\r\n this.setState({ approver: selectedItem });\r\n };\r\n\r\n handleCloseApprovalModal = () => {\r\n this.setState({ isApprovalModalOpen: false }, this.clearApprovalForm);\r\n };\r\n\r\n handleApprovalNotesChange = (e) => {\r\n this.setState({ approvalNotes: e.target.value });\r\n };\r\n\r\n handleConfirmApprovalModal = () => {\r\n const apiEndpoint = this.state.approvalEndpoint;\r\n\r\n const data = {\r\n ids: [this.state.idCar],\r\n owner: this.state.approver,\r\n workflowNotes: this.state.approvalNotes,\r\n };\r\n\r\n this.setState({\r\n isLoadingWFOperation: true,\r\n });\r\n audit\r\n .put(this.baseUrl + apiEndpoint, data, '')\r\n .then((response) => {\r\n if (response.status === 200) {\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.FINDING, apioperation.PUT)\r\n );\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n isApprovalModalOpen: false,\r\n isLoading: true,\r\n // model: null\r\n });\r\n if (apiEndpoint === 'Delete') {\r\n this.props.history.push(this.getBackUrl());\r\n } else {\r\n this.getCAR();\r\n }\r\n } else {\r\n showNotification.error();\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.FINDING, apioperation.PUT)\r\n );\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n })\r\n .finally(() => {});\r\n };\r\n\r\n canApproveCAR = () => {\r\n const item = this.state.model;\r\n return item && item.ca && item.ca.length > 0;\r\n };\r\n\r\n canSubmitCAR = () => {\r\n if (this.state.isNewCarManagement === 0) {\r\n const item = this.state.model;\r\n return item && item.ca && item.ca.length > 0;\r\n }\r\n return !this.isSavePendingBeforeSubmit(this.state.model.carType);\r\n };\r\n\r\n canCloseCAR = () => {\r\n const item = this.state.model;\r\n return item && item.ca && item.ca.length > 0\r\n ? item.ca.filter((el) => el.idStatus === 4).length === item.ca.length\r\n : false;\r\n };\r\n\r\n isNotSFISTR = () => {\r\n const item = this.state.model;\r\n return item.carType !== CarType.SFI.Code && item.carType !== CarType.Strength.Code;\r\n }\r\n\r\n getStatusActions = (user, canEditResource) => {\r\n if (!this.IsRowSelectable()) return null;\r\n\r\n const { idStatus } = this.state.model;\r\n const leadAuditorResource = this.state.model && {\r\n email: this.state.model.audit.auditors.find((x) => x.teamLeader === true).email\r\n };\r\n return (\r\n \r\n <>\r\n {this.canSubmitCAR() &&\r\n CanExecuteAction('Audit', this.state.isNewCarManagement === 0 ? 'CARManagement' : 'FindingManagement', user, idStatus, 'Submit', canEditResource) && this.validator.allValid() ? (\r\n this.state.isNewCarManagement === 0 ? this.batchActionClick('Submit', 'Submit', null, false, false, null) : this.batchActionClick('SubmitFinding', 'SubmitFinding', null, false, false, null)}\r\n >\r\n Submit FINDING\r\n \r\n ) : null}\r\n\r\n {this.canApproveCAR() && this.state.isNewCarManagement === 0 &&\r\n CanExecuteAction(\r\n 'Audit',\r\n 'CARManagement',\r\n user,\r\n idStatus,\r\n 'Approve',\r\n canEditResource\r\n ) ? (\r\n this.batchActionClick('Approve', 'Approve', null, false, false, null)}\r\n >\r\n Approve FINDING\r\n \r\n ) : null}\r\n {/* RITM1004125 */}\r\n {this.canApproveCAR() && this.state.isNewCarManagement !== 0 && \r\n this.validator.allValid() &&\r\n CanExecuteAction(\r\n 'Audit',\r\n 'FindingManagement',\r\n user,\r\n idStatus,\r\n 'Open',\r\n leadAuditorResource\r\n ) && idStatus === 3 ? (\r\n this.batchActionClick('OpenFinding', 'OpenFinding', null, false, idStatus === 5, null)}\r\n >\r\n Approve FINDING\r\n \r\n ) : null}\r\n {this.canApproveCAR() && this.state.isNewCarManagement !== 0 && \r\n this.validator.allValid() &&\r\n CanExecuteAction(\r\n 'Audit',\r\n 'FindingManagement',\r\n user,\r\n idStatus,\r\n 'Open',\r\n leadAuditorResource\r\n ) && idStatus === 5 ? (\r\n this.batchActionClick('OpenFinding', 'OpenFinding', null, false, idStatus === 5, null)}\r\n >\r\n Open FINDING\r\n \r\n ) : null}\r\n {/* End */}\r\n {this.canCloseCAR() && this.state.isNewCarManagement === 0 &&\r\n CanExecuteAction(\r\n 'Audit',\r\n 'CARManagement',\r\n user,\r\n idStatus,\r\n 'Consolidate',\r\n canEditResource\r\n ) ? (\r\n this.batchActionClick('Close', 'Close', null, false, false, null)}\r\n >\r\n Close FINDING\r\n \r\n ) : null}\r\n\r\n {this.state.isNewCarManagement !== 0 && this.validatorSolutions.allValid() &&\r\n CanExecuteAction(\r\n 'Audit',\r\n 'FindingManagement',\r\n user,\r\n idStatus,\r\n 'Close',\r\n canEditResource\r\n ) ? (\r\n this.batchActionClick('CloseFinding', 'CloseFinding', null, false, false, null)}\r\n >\r\n Close FINDING\r\n \r\n ) : null}\r\n\r\n {this.state.isNewCarManagement !== 0 && this.validatorSolutions.allValid() && \r\n CanExecuteAction(\r\n 'Audit',\r\n 'FindingManagement',\r\n user,\r\n idStatus,\r\n 'Complete',\r\n leadAuditorResource\r\n ) && this.isNotSFISTR() ? (\r\n this.batchActionClick('CompleteFinding', 'CompleteFinding', null, false, false, null)}\r\n >\r\n Complete FINDING\r\n \r\n ) : null}\r\n\r\n\r\n {this.state.isNewCarManagement === 0 &&\r\n CanExecuteAction('Audit', 'CARManagement', user, idStatus, 'Open', canEditResource) ? (\r\n this.batchActionClick('Open', 'Open', null, false, false, null)}\r\n >\r\n Open FINDING\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction('Audit', this.state.isNewCarManagement === 0 ? 'CARManagement' : 'FindingManagement', user, idStatus, 'Reject', this.state.isNewCarManagement === 0 ? canEditResource : leadAuditorResource) ? (\r\n this.state.isNewCarManagement === 0 ? this.batchActionClick('Reject', 'Reject', null, false, true, null) : this.batchActionClick('RejectFinding', 'RejectFinding', null, false, true, null)}\r\n >\r\n {this.state.isNewCarManagement === 0 ? 'Reject FINDING' : 'Reject'} \r\n \r\n ) : null}\r\n\r\n {CanExecuteAction('Audit', this.state.isNewCarManagement === 0 ? 'CARManagement' : 'FindingManagement', user, idStatus, 'Delete', canEditResource) ? (\r\n this.batchActionClick('Delete', 'Delete', null, false, false, null)}\r\n >\r\n Delete\r\n \r\n \r\n ) : null}\r\n\r\n { this.state.isNewCarManagement !== 0 && CanExecuteAction('Audit', 'FindingManagement', user, idStatus, 'Assign', canEditResource) ? (\r\n this.batchActionClick('AssignFinding', 'AssignFinding', null, false, false, null)}\r\n >\r\n {this.isNotSFISTR() ? 'Assign Finding' : 'Close Finding'}\r\n \r\n \r\n ) : null}\r\n \r\n \r\n );\r\n };\r\n\r\n getBackUrl = () => \r\n // const { hash } = this.props.location;\r\n // if (hash) {\r\n // return `/audit/${this.state.idAuditEdit}/car/`;\r\n // }\r\n // return ;\r\n // const hash = this.props.location.hash || '';\r\n `/audit/${this.state.idAuditEdit}/${this.state.isNewCarManagement}/car/`\r\n // return `/audit/${this.state.idAuditEdit}/answer/${this.state.idAnswer}/car/${hash}`;\r\n\r\n // if (this.props.history.length == 1)\r\n // console.log(\"TODO, Chiudere la pagina???\")\r\n // else\r\n // this.props.history.goBack()\r\n ;\r\n\r\n updateActualCompletion = (_, value) => \r\n this.setState((prevState) => ({ model: { ...prevState.model, actualDateCompletition: value } }))\r\n\r\n clearAttachment = () => ({\r\n id: null, // guid\r\n fileIdentifier: null,\r\n name: null,\r\n contentType: null,\r\n size: null,\r\n type: null,\r\n });\r\n\r\n onUploadFiles = (fileIdentifier, fileName, fileType, size) => {\r\n const attachment = { ...this.state.attachment };\r\n\r\n attachment.id = uuid();\r\n attachment.fileIdentifier = fileIdentifier.blobName;\r\n attachment.name = fileName;\r\n attachment.contentType = fileType;\r\n attachment.size = size;\r\n // attachment.filePath = file.localPath;\r\n\r\n this.setState({\r\n attachment: this.clearAttachment(),\r\n });\r\n\r\n try {\r\n if (attachment == null) return;\r\n // insert\r\n const oldattachment = this.state.model.attachment || [];\r\n\r\n const newItem = {\r\n id: uuid(), // guid\r\n\r\n idAttachment: attachment.id, // guid\r\n attachment,\r\n };\r\n\r\n const newattachment = oldattachment.concat([newItem]);\r\n this.setState((prevState) => ({ model: { ...prevState.model, attachment: newattachment } }));\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.ATTACHMENT, apioperation.UPLOAD));\r\n }\r\n };\r\n\r\n onRemoveFile = (id) => {\r\n if (!id) return;\r\n this.setState((prevState) => {\r\n const statusCopy = { ...prevState.model };\r\n statusCopy.attachment = statusCopy.attachment.filter((el) => el.id !== id);\r\n return { model: statusCopy }; \r\n });\r\n };\r\n\r\n saveNewMng = () => {\r\n if (this.state.isNewCarManagement !== 0 && this.state.model?.idStatus >= 6 && \r\n (this.state.model.carType === CarType.NC.Code || \r\n this.state.model.carType === CarType.OBS.Code) &&\r\n !this.validatorEffectiveness.allValid()) { \r\n // ATTENZIONE da attivare quando il Finding passa in stato Completed\r\n showNotification.warning(`${entitiesLabels.WARNING}`, 'field not valid');\r\n this.validatorEffectiveness.showMessages();\r\n this.forceUpdate();\r\n return;\r\n }\r\n if (this.state.isNewCarManagement !== 0 && this.state.model?.idStatus >= 4 && \r\n (this.state.model.carType === CarType.NC.Code || \r\n this.state.model.carType === CarType.OBS.Code) &&\r\n !this.validatorSolutions.allValid()) {\r\n showNotification.warning(`${entitiesLabels.WARNING}`, ` ${entitiesLabels.CA} required fields are missing `);\r\n this.validatorSolutions.showMessages();\r\n this.forceUpdate();\r\n return;\r\n }\r\n if (this.state.isNewCarManagement !== 0 && \r\n (this.state.model.carType === CarType.NC.Code || \r\n this.state.model.carType === CarType.OBS.Code) && !this.validator.allValid()) {\r\n if (this.validator.fieldValid('duedate') === false) {\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n 'The Due Date must be less than or equal to the Due Date of the Finding '\r\n );\r\n } else {\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n ` ${entitiesLabels.CA} required fields are missing `\r\n );\r\n }\r\n this.validator.showMessages();\r\n this.forceUpdate();\r\n return;\r\n }\r\n\r\n const { model } = this.state;\r\n model.id = this.state.idCar;\r\n model.idAudit = this.state.idAuditEdit;\r\n model.idAnswer = this.state.idAnswer;\r\n \r\n const backendBaseUrl = `${model.idAudit}/answer/${model.idAnswer}/findingfromdetails/`;\r\n const method = audit.put(backendBaseUrl, model, model.id);\r\n this.setState(() => ({ isSubmitted: true }));\r\n\r\n method\r\n .then((response) => {\r\n if (response.status === 200) {\r\n showNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.FINDING, apioperation.PUT));\r\n this.setPreviousCAItem();\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.FINDING, apioperation.PUT));\r\n })\r\n .finally(() => {\r\n this.setState(() => ({ isSubmitted: false }));\r\n });\r\n } \r\n\r\n save = () => {\r\n const { model } = this.state;\r\n model.id = this.state.idCar;\r\n model.idAudit = this.state.idAuditEdit;\r\n model.idAnswer = this.state.idAnswer;\r\n const postBackUrl = `${model.idAudit}/answer/${model.idAnswer}/carfromdetails/`;\r\n const method = audit.put(postBackUrl, model, model.id);\r\n this.setState({ isSubmitted: true });\r\n\r\n method\r\n .then((response) => {\r\n if (response.status === 200) { \r\n showNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.FINDING, this.state.isEditModalCAR ? apioperation.PUT : apioperation.POST));\r\n }\r\n this.setPreviousCAItem();\r\n this.forceUpdate();\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.FINDING, apioperation.PUT));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isSubmitted: false,\r\n });\r\n }); \r\n }\r\n\r\n // CA Attachments management\r\n onDeleteFileCA = (id) => {\r\n if (!id) return;\r\n if (this.state.isNewCarManagement === 0) return;\r\n \r\n const statusCopy = { ...this.state.model };\r\n statusCopy.ca[0].attachment = statusCopy.ca[0].attachment.filter((el) => el.id !== id);\r\n this.setState(() => ({ model: statusCopy }));\r\n };\r\n\r\n onUploadFileCA = (fileIdentifier, fileName, fileType, size) => {\r\n if (this.state.isNewCarManagement === 0) return;\r\n const attachment = { ...this.state.attachment };\r\n \r\n attachment.id = uuid();\r\n attachment.fileIdentifier = fileIdentifier.blobName;\r\n attachment.name = fileName;\r\n attachment.contentType = fileType;\r\n attachment.size = size;\r\n \r\n this.setState({\r\n attachment: this.clearAttachment(),\r\n });\r\n \r\n try {\r\n if (attachment == null) return;\r\n // insert\r\n const oldattachment = this.state.model.ca[0].attachment || [];\r\n \r\n const newItem = {\r\n id: uuid(), // guid\r\n idAttachment: attachment.id, // guid\r\n attachment,\r\n };\r\n \r\n const newattachment = oldattachment.concat([newItem]);\r\n this.updateStateCarCA('attachment', newattachment, 'model');\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.CA, apioperation.UPLOAD));\r\n }\r\n }\r\n\r\n showLoading() {\r\n const show = this.state.isLoading || this.state.isSubmitted;\r\n const descr = this.state.isSubmitted ? 'Saving...' : 'Loading data...';\r\n return show && ;\r\n // return ()\r\n }\r\n\r\n IsRowSelectable() {\r\n const row = this.state.model;\r\n if (row == null) return false; \r\n \r\n return true;\r\n }\r\n\r\n batchActionClick(\r\n actionKey,\r\n actionName,\r\n approverRole,\r\n withApprover,\r\n approvalNotesRequired\r\n // selectedRows\r\n ) {\r\n this.setState({\r\n approvalModalAction: actionName,\r\n isApprovalModalOpen: true,\r\n isLoadingApproverOptions: true,\r\n withApprover,\r\n // selectedData: selectedRows,\r\n approverRole,\r\n approvalEndpoint: actionKey,\r\n approvalNotesRequired,\r\n });\r\n }\r\n\r\n render() {\r\n const auditCA = this.state.model\r\n ? this.state.model.ca\r\n .filter((x) => this.state.listCas?.itemList.some((y) => y.id === x.id))\r\n .slice(0, this.state.pageSize)\r\n : null;\r\n\r\n const CAListProps = {\r\n key: this.state.keyCAList,\r\n idAuditEdit: this.state.idAuditEdit,\r\n idAnswer: this.state.idAnswer,\r\n isNewCarManagement: this.state.isNewCarManagement,\r\n isLoading: this.state.isLoading,\r\n idCar: this.state.idCar,\r\n auditCA,\r\n history: this.props.history,\r\n match: this.props.match,\r\n getCAs: this.updateCar,\r\n hash: this.props.location.hash,\r\n statusCar: this.state.model?.idStatus,\r\n statusAuditReport: this.state.model?.audit?.checkList?.idStatus,\r\n listCa: this.state.listCas,\r\n currentPage: this.state.listCas?.currentPage || 1,\r\n pageSize: this.state.listCas?.pageSize || 10,\r\n rowCount: this.state.model?.ca?.length || 0,\r\n handleChangePaging: this.handleChangePaging,\r\n };\r\n\r\n let diffduedate = true;\r\n if (this.state.isNewCarManagement !== 0 && this.state.model?.ca.length > 0\r\n && this.state.model?.ca[0].dueDate != null) {\r\n diffduedate =\r\n !this.state.model?.dueDate ||\r\n moment(this.state.model?.dueDate).isSameOrAfter(moment(this.state.model?.ca[0].dueDate), 'day');\r\n } else {\r\n diffduedate = true;\r\n }\r\n\r\n const validationsCA = (this.state.isNewCarManagement !== 0 ? {\r\n duedate: this.validator.message(\r\n 'duedate', \r\n (this.state.model?.carType === CarType.NC.Code || \r\n this.state.model?.carType === CarType.OBS.Code) ? diffduedate : true,\r\n 'accepted'),\r\n dueDate: this.validator.message(\r\n 'dueDate', \r\n (this.state.model?.carType === CarType.NC.Code || \r\n this.state.model?.carType === CarType.OBS.Code) ? this.state.model?.ca[0].dueDate : true,\r\n 'required'),\r\n immediateThreatmentNC: this.validator.message(\r\n 'immediateTreatmentnc',\r\n this.state.model?.carType === CarType.NC.Code ?\r\n this.state.model?.ca[0].immediateThreatmentNC : true,\r\n 'required'\r\n ),\r\n causeOfInefficiency: this.validator.message(\r\n 'causeOfInefficiency',\r\n (this.state.model?.carType === CarType.NC.Code || \r\n this.state.model?.carType === CarType.OBS.Code) ? \r\n this.state.model?.ca[0].causeOfInefficiency : true,\r\n 'required'\r\n ),\r\n caImplemented: this.validator.message(\r\n 'caImplemented',\r\n (this.state.model?.carType === CarType.NC.Code ||\r\n this.state.model?.carType === CarType.OBS.Code) ?\r\n this.state.model?.ca[0].caImplemented : true,\r\n 'required'\r\n ),\r\n } : null);\r\n\r\n const validationCASolution = (this.state.isNewCarManagement !== 0 ? {\r\n immediateThreatment: this.validatorSolutions.message(\r\n 'immediateThreatment',\r\n (this.state.model?.carType === CarType.NC.Code || \r\n this.state.model?.carType === CarType.OBS.Code) ?\r\n this.state.model?.ca[0].immediateThreatment : true,\r\n 'required'\r\n ),\r\n explain: this.validatorSolutions.message(\r\n 'explain', \r\n (this.state.model?.carType === CarType.NC.Code || \r\n this.state.model?.carType === CarType.OBS.Code) ? \r\n this.state.model?.ca[0].explain : true,\r\n 'required'),\r\n } : null);\r\n\r\n const validationsEffectivenessCA = (this.state.isNewCarManagement !== 0 ? {\r\n checkEffectiveness: this.validatorEffectiveness.message(\r\n 'checkEffectiveness',\r\n (this.state.model?.carType === CarType.NC.Code || \r\n this.state.model?.carType === CarType.OBS.Code) ? \r\n this.state.model?.ca[0].checkEffectiveness : true,\r\n 'required'),\r\n dateCheck: this.validatorEffectiveness.message(\r\n 'dateCheck', \r\n (this.state.model?.carType === CarType.NC.Code || \r\n this.state.model?.carType === CarType.OBS.Code) ? \r\n this.state.model?.ca[0].dateCheck : true, \r\n 'required'),\r\n //RITM0945960 - Effectiveness Check Modification\r\n isCorrectiveActionsSuitable: this.validatorEffectiveness.message( \r\n 'isCorrectiveActionsSuitable',\r\n (this.state.model?.carType === CarType.NC.Code ||\r\n this.state.model?.carType === CarType.OBS.Code) ?\r\n this.state.model?.ca[0].isCorrectiveActionsSuitable : true,\r\n 'required'),\r\n //End\r\n } : null);\r\n\r\n const FindingCADetailProps = {\r\n idAudit: this.state.idAuditEdit,\r\n idAnswer: this.state.idAnswer,\r\n idFinding: this.state.idCar,\r\n car: this.state.model,\r\n CAModel: this.state.model?.ca?.length > 0 ? this.state.model.ca[0] : null,\r\n updateState: this.updateStateCarCA,\r\n onUploadFile: this.onUploadFileCA, \r\n onDeleteFile: this.onDeleteFileCA,\r\n validations: validationsCA,\r\n validationsSolution: validationCASolution,\r\n validationsEffectiveness: validationsEffectivenessCA\r\n };\r\n\r\n const canEditResource = this.state.model && {\r\n idCompiler: this.state.model.audit.checkList.idCompiler,\r\n idDataApprover: this.state.model.audit.checkList.idDataApprover,\r\n idDivisionManager: this.state.model.audit.checkList.idDivisionManager,\r\n email:\r\n this.state.model.owner != null\r\n ? this.state.model.owner.email\r\n : this.state.model.ownerSaipem != null\r\n ? this.state.model.ownerSaipem.email\r\n : this.state.model.genericOwner != null ?\r\n this.state.model.genericOwner.email : '',\r\n };\r\n\r\n return (\r\n \r\n {({ user }) => (\r\n <>\r\n \r\n
    \r\n {this.showLoading()}\r\n \r\n this.closeModalHistory()}\r\n />\r\n\r\n {this.state.model &&\r\n (this.state.model.carType === CarType.NC.Code ||\r\n this.state.model.carType === CarType.OBS.Code) ? (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n ) : (\r\n ''\r\n )}\r\n\r\n {this.state.model && (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n\r\n {this.state.model ? (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n ) : (\r\n ''\r\n )}\r\n \r\n {this.state.model && this.state.model.carType === CarType.NC.Code ? (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n ) : (\r\n ''\r\n )}\r\n\r\n {this.state.model && (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n\r\n {this.state.model && (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n\r\n {this.state.model &&\r\n (this.state.model.carType === CarType.NC.Code ||\r\n this.state.model.carType === CarType.OBS.Code) ? (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n ) : (\r\n ''\r\n )}\r\n\r\n \r\n {this.state.isNewCarManagement !== 0 && this.state.model &&\r\n (this.state.model.carType === CarType.NC.Code ||\r\n this.state.model.carType === CarType.OBS.Code) ?\r\n = 2}\r\n isDisabled={!IsEditable('Audit', 'FindingManagement', user, this.state.model?.idStatus ?? null, 'CADefinition', canEditResource)}\r\n editEffectiveness={IsEditable('Audit', 'FindingManagement', user, this.state.model?.idStatus ?? null, 'Effectiveness', canEditResource)}\r\n showCASolution={this.state.model?.idStatus >= 4}\r\n isDisabledCAManagement={!IsEditable('Audit', 'FindingManagement', user, this.state.model?.idStatus ?? null, 'CAManagement', canEditResource)}\r\n />\r\n : null}\r\n\r\n {IsEditable('Audit', this.state.isNewCarManagement === 0 ? 'CARManagement' : 'FindingManagement', user, this.state.model ? this.state.model.idStatus : null, this.state.isNewCarManagement === 0 ? 'ActualDateCompletition' : (this.state.model?.idStatus >=4 ? 'ActualDateCompletition' : 'Attachments'), canEditResource) ? ( //RITM0993945\r\n
    \r\n \r\n
    \r\n ) : null}\r\n\r\n {this.state.isNewCarManagement === 0 && this.state.model &&\r\n (this.state.model.carType === CarType.NC.Code ||\r\n this.state.model.carType === CarType.OBS.Code) ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n ) : (\r\n ''\r\n )}\r\n
    \r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n","/* eslint-disable react/prop-types */\r\n/* eslint-disable no-nested-ternary */\r\n/* eslint-disable react/sort-comp */\r\nimport React, { Component } from 'react';\r\nimport {\r\n TextInput,\r\n Button,\r\n Table,\r\n TableContainer,\r\n TableHead,\r\n TableHeader,\r\n TableBody,\r\n TableRow,\r\n Loading,\r\n TableCell,\r\n Checkbox,\r\n FormLabel,\r\n FormGroup,\r\n TextArea,\r\n TextInputSkeleton,\r\n DropdownSkeleton,\r\n DatePickerSkeleton,\r\n} from 'carbon-components-react';\r\n\r\nimport '../../scss/custom.scss';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { Information16, CheckmarkOutline16, Delete16, Download16 } from '@carbon/icons-react';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { switchDateFormat } from '../../helpers/jsonschemaform/customwidget/utils';\r\nimport { ComboBox } from '../../helpers/ComboBox';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport {\r\n getSuccess,\r\n getError,\r\n STATUS,\r\n apioperation,\r\n entitiesLabels,\r\n DateFormat,\r\n CarType,\r\n} from '../../helpers/Constants';\r\nimport DateTimePicker from '../../helpers/DateTimePicker';\r\nimport { api, registry, audit } from '../../helpers/api/api';\r\nimport { NoRecordsPlaceholder } from '../../helpers/jsonschemaform/DataTableExtention';\r\nimport { IsEditable, CanExecuteAction } from '../../helpers/authorization/Policies';\r\nimport { AppContext } from '../../helpers/context/AppContext';\r\nimport PageBreadCrumb from '../../helpers/PageBreadCrumb';\r\nimport { HistoryTable } from '../../helpers/HistoryTable';\r\nimport FileUpload from '../common/FileUpload';\r\nimport { WFActionModal } from '../common/WFActionModal';\r\nimport FileDownLoadButton from '../common/FileDownloadButton';\r\nimport { Online, Offline } from '../common/OnLineOffLine';\r\nimport AuditRepository from '../../helpers/api/AuditRepository';\r\nimport moment from 'moment';\r\nimport AttachmentTable from '../common/AttachmentTable';\r\n\r\nexport default class AuditCADetail extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator();\r\n this.validatorReminder = new SimpleReactValidator();\r\n const idAuditEdit = props ? props.match.params.id : '';\r\n const isNewCarManagement = props ? Number(props.match.params.newMng) : 0;\r\n const idAnswer = props ? props.match.params.idAnswer : '';\r\n const idCar = props ? props.match.params.idCar : '';\r\n const idCa = props ? props.match.params.idCa : '';\r\n\r\n this.state = {\r\n idAuditEdit,\r\n isNewCarManagement,\r\n idAnswer,\r\n idCar,\r\n idCa,\r\n isLoading: true,\r\n isSubmitted: false,\r\n model: null,\r\n keyCA: `formCA_${new Date().getTime()}`,\r\n appStatus: null,\r\n isDisabled: true,\r\n isHistoryModalOpen: false,\r\n // /Status Action\r\n isApprovalModalOpen: false,\r\n approvalModalAction: '',\r\n approver: null,\r\n approvalStartDate: null,\r\n approvalEndDate: null,\r\n isLoadingApproverOptions: true,\r\n approvalValidationMessages: [],\r\n approvers: [],\r\n selectedData: [],\r\n approverRole: '',\r\n withApprover: true,\r\n isLoadingWFOperation: false,\r\n approvalNotesRequired: false,\r\n editEffectiveness: null,\r\n isAdequate: undefined, // bool\r\n evidencesAttached: undefined,\r\n checkEffectiveness: null, // ''\r\n dateCheck: null, // date\r\n isCorrectiveActionsSuitable: null, //RITM0945960\r\n appCorrectiveActionsSuitable: [ //RITM0945960\r\n { id: 'option-1', text: 'Yes' },\r\n { id: 'option-2', text: 'No' },\r\n\r\n ],\r\n // /Status Action\r\n };\r\n this.baseUrl = `${idAuditEdit}/answer/${idAnswer}/car/${idCar}/ca/${idCa}/detail`;\r\n this.repository = new AuditRepository();\r\n }\r\n\r\n baseUrl;\r\n\r\n componentDidMount() {\r\n this.getCA();\r\n this.getStatus();\r\n }\r\n\r\n showButtonHistory = () => (\r\n this.openModalHistory()}\r\n >\r\n History\r\n \r\n );\r\n\r\n openModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: true });\r\n };\r\n\r\n closeModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: false });\r\n };\r\n\r\n getStatus = () => {\r\n registry\r\n .getAll('status')\r\n .then((response) => {\r\n const { data } = response;\r\n // data = data != null ? data.filter(item => (item.id == 1 || item.id == 4)) : [];\r\n this.setState({\r\n appStatus: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.STATUS, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n };\r\n\r\n getCA = () => {\r\n this.setState({\r\n isLoading: true,\r\n });\r\n\r\n audit\r\n .getAll(this.baseUrl)\r\n .then((response) => {\r\n const { data } = response;\r\n if (data) {\r\n this.setState({\r\n model: data,\r\n });\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.CA, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoading: false,\r\n });\r\n });\r\n };\r\n\r\n showLoading() {\r\n const show = this.state.isLoading || this.state.isSubmitted;\r\n const descr = this.state.isSubmitted ? 'Saving...' : 'Loading data...';\r\n return show && ;\r\n // return ()\r\n }\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state.model };\r\n if (objName && objName !== 'model') statusCopy[objName][inputName] = inputValue;\r\n else statusCopy[inputName] = inputValue;\r\n\r\n this.setState({ model: statusCopy });\r\n };\r\n\r\n handleChangeModel = (el) => {\r\n const inputName = el.target.name;\r\n const inputValue = el.target.value;\r\n const objName = el.target.alt;\r\n\r\n this.updateState(inputName, inputValue, objName);\r\n };\r\n\r\n handleChangeCombo = (inputName, selectedItem, objName) => {\r\n const inputValue = selectedItem ? selectedItem.id : null;\r\n this.updateState(inputName, inputValue, objName);\r\n };\r\n\r\n handleChangeComboName = (inputName, selectedItem, objName) => {\r\n if (selectedItem != null) {\r\n selectedItem.id = selectedItem.name;\r\n }\r\n this.handleChangeCombo(inputName, selectedItem, objName);\r\n };\r\n\r\n saveCA = () => {\r\n if (this.state.model.auditCAR.idStatus === 4) { //RITM1010580/RITM1010550\r\n if (this.validatorReminder.allValid()) {\r\n const datiForm = this.state.model;\r\n if (!datiForm) return;\r\n\r\n this.setState({\r\n isSubmitted: true,\r\n });\r\n\r\n audit\r\n .put(this.baseUrl, datiForm, '')\r\n .then(async (response) => {\r\n if (response.status === 200) {\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.CA, apioperation.PUT)\r\n );\r\n await this.repository.updateCachedCaDetails(datiForm);\r\n this.getCA();\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.STATUS, apioperation.PUT)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isSubmitted: false,\r\n });\r\n });\r\n } else {\r\n this.validatorReminder.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`, 'field not valid');\r\n this.forceUpdate();\r\n }\r\n } else if (this.validator.allValid()) {\r\n const datiForm = this.state.model;\r\n if (!datiForm) return;\r\n\r\n this.setState({\r\n isSubmitted: true,\r\n });\r\n\r\n audit\r\n .put(this.baseUrl, datiForm, '')\r\n .then(async (response) => {\r\n if (response.status === 200) {\r\n await this.repository.updateCachedCaDetails(datiForm);\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.CA, apioperation.PUT)\r\n );\r\n this.getCA();\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.STATUS, apioperation.PUT)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isSubmitted: false,\r\n });\r\n });\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`, ' field not valid');\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n getBackUrl = () => {\r\n const hash = this.props.location.hash || '';\r\n\r\n return `/audit/${this.state.idAuditEdit}/${this.state.isNewCarManagement}/answer/${this.state.idAnswer}/car/${this.state.idCar}${hash}`;\r\n // if (this.props.history.length == 1)\r\n // console.log(\"TODO, Chiudere la pagina???\")\r\n // else\r\n // this.props.history.goBack()\r\n };\r\n\r\n cancel = () => {\r\n this.props.history.push(this.getBackUrl());\r\n };\r\n\r\n handleApproverSelect = (selectedItem) => {\r\n this.setState({ approver: selectedItem });\r\n };\r\n\r\n handleCloseApprovalModal = () => {\r\n this.setState({ isApprovalModalOpen: false }, this.clearApprovalForm);\r\n };\r\n\r\n handleApprovalNotesChange = (e) => {\r\n this.setState({ approvalNotes: e.target.value });\r\n };\r\n\r\n handleConfirmApprovalModal = () => {\r\n const apiEndpoint = this.state.approvalEndpoint;\r\n\r\n const data = {\r\n ids: [this.state.idCa],\r\n owner: this.state.approver,\r\n workflowNotes: this.state.approvalNotes,\r\n };\r\n\r\n this.setState({\r\n isLoadingWFOperation: true,\r\n });\r\n api\r\n .put(\r\n `/audit/${this.state.idAuditEdit}/answer/${this.state.idAnswer}/car/${this.state.idCar}/ca/${apiEndpoint}`,\r\n data,\r\n ''\r\n )\r\n .then((response) => {\r\n if (response.status === 200) {\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.CA, apioperation.PUT)\r\n );\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n isApprovalModalOpen: false,\r\n isLoading: true,\r\n // model: null\r\n });\r\n this.getCA();\r\n } else {\r\n showNotification.error();\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.CA, apioperation.PUT)\r\n );\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n })\r\n .finally(() => {});\r\n };\r\n\r\n IsRowSelectable() {\r\n const row = this.state.model;\r\n if (row == null) return false;\r\n\r\n return true;\r\n }\r\n\r\n batchActionClick(\r\n actionKey,\r\n actionName,\r\n approverRole,\r\n withApprover,\r\n approvalNotesRequired,\r\n selectedRows\r\n ) {\r\n if (this.validator.allValid()) {\r\n this.setState({\r\n approvalModalAction: actionName,\r\n isApprovalModalOpen: true,\r\n isLoadingApproverOptions: true,\r\n withApprover,\r\n selectedData: selectedRows,\r\n approverRole,\r\n approvalEndpoint: actionKey,\r\n approvalNotesRequired,\r\n });\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`, ' field not valid');\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n clearAttachment = () => ({\r\n id: null, // guid\r\n fileIdentifier: null,\r\n name: null,\r\n contentType: null,\r\n size: null,\r\n type: null,\r\n });\r\n\r\n remove = (id) => {\r\n if (!id) return;\r\n\r\n const statusCopy = { ...this.state.model };\r\n statusCopy.attachment = statusCopy.attachment.filter((el) => el.id !== id);\r\n\r\n this.setState({\r\n model: statusCopy,\r\n });\r\n };\r\n\r\n onUpload = (fileIdentifier, fileName, fileType, size) => {\r\n const attachment = { ...this.state.attachment };\r\n\r\n attachment.id = uuid();\r\n attachment.fileIdentifier = fileIdentifier.blobName;\r\n attachment.name = fileName;\r\n attachment.contentType = fileType;\r\n attachment.size = size;\r\n // attachment.filePath = file.localPath;\r\n\r\n this.setState({\r\n attachment: this.clearAttachment(),\r\n });\r\n\r\n try {\r\n if (attachment == null) return;\r\n // insert\r\n const oldattachment = this.state.model.attachment || [];\r\n\r\n const newItem = {\r\n id: uuid(), // guid\r\n\r\n idAttachment: attachment.id, // guid\r\n attachment,\r\n };\r\n\r\n const newattachment = oldattachment.concat([newItem]);\r\n this.updateState('attachment', newattachment, 'model');\r\n } catch (error) {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.ATTACHMENT, apioperation.UPLOAD)\r\n );\r\n }\r\n };\r\n\r\n getStatusActions = (user) => {\r\n if (!this.IsRowSelectable()) return null;\r\n\r\n //STEFANO 28-06-2021\r\n\r\n // const canEditResource = this.state.model && {\r\n // email:\r\n // this.state.model.auditCAR.owner != null\r\n // ? this.state.model.auditCAR.owner.email\r\n // : this.state.model.auditCAR.ownerSaipem.email,\r\n // };\r\n\r\n const canEditResource = this.state.model && {\r\n email:\r\n this.state.model.owner != null && this.state.model.owner.email != null\r\n ? this.state.model.owner.email\r\n : this.state.model.owner?.employer?.email,\r\n };\r\n\r\n //STEFANO 28-06-2021\r\n\r\n\r\n const { idStatus } = this.state.model;\r\n return (\r\n <>\r\n {CanExecuteAction('Audit', 'CAManagement', user, idStatus, 'Close', canEditResource) ? (\r\n {this.saveCA(); this.batchActionClick('Close', 'Close', null, false, false, null)}}\r\n >\r\n Close CA\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction('Audit', 'CAManagement', user, idStatus, 'Open', canEditResource) ? (\r\n this.batchActionClick('Open', 'Open', null, false, false, null)}\r\n >\r\n Open CA\r\n \r\n ) : null}\r\n \r\n );\r\n };\r\n\r\n render() {\r\n const validations = {\r\n immediateThreatment: this.state.model\r\n ? this.validator.message(\r\n 'immediateThreatment',\r\n this.state.model.immediateThreatment,\r\n 'required'\r\n )\r\n : null,\r\n explain: this.state.model\r\n ? this.validator.message('explain', this.state.model.explain, 'required')\r\n : null,\r\n };\r\n const validationsReminder = {\r\n checkEffectiveness: this.state.model\r\n ? this.validatorReminder.message(\r\n 'checkEffectiveness',\r\n this.state.model.checkEffectiveness,\r\n 'required'\r\n )\r\n : null,\r\n dateCheck: this.state.model\r\n ? this.validatorReminder.message('dateCheck', this.state.model.dateCheck, 'required')\r\n : null,\r\n //RITM0945960 - Effectiveness Check Modification\r\n isCorrectiveActionsSuitable: this.state.model \r\n ? this.validatorReminder.message('isCorrectiveActionsSuitable', this.state.model.isCorrectiveActionsSuitable, 'required')\r\n : null,\r\n //End\r\n };\r\n const selectedItemCombo = {\r\n idStatus: this.state.model\r\n ? (this.state.appStatus || []).find(\r\n (el) =>\r\n el.id === (this.state.model.isClose ? STATUS.Consolidated : this.state.model.idStatus)\r\n )\r\n : null,\r\n appStatus: (this.state.appStatus || []).filter(\r\n (el) => el.id === STATUS.Submitted || el.id === STATUS.Consolidated\r\n ),\r\n isCorrectiveActionsSuitable: this.state.model\r\n ? (this.state.appCorrectiveActionsSuitable || []).find(\r\n (el) =>\r\n el.text === this.state.model.isCorrectiveActionsSuitable\r\n )\r\n : null, \r\n };\r\n\r\n const owner = this.state.model && this.state.model.owner;\r\n const rows = this.state.model?.attachment || [];\r\n return (\r\n \r\n {({ user }) => (\r\n <>\r\n \r\n
    \r\n {this.showLoading()}\r\n \r\n this.closeModalHistory()}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n\r\n {/*
    \r\n \r\n {\r\n !owner ?\r\n \r\n :\r\n \r\n }\r\n \r\n
    */}\r\n
    \r\n \r\n {!owner ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n\r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : IsEditable(\r\n 'Audit',\r\n 'CAManagement',\r\n user,\r\n this.state.model.idStatus,\r\n 'Status',\r\n { email: this.state.model.owner.email }\r\n ) ? (\r\n this.state.appStatus == null ? (\r\n \r\n ) : (\r\n \r\n this.updateState(\r\n 'isClose',\r\n !!(val && val.id === STATUS.Consolidated),\r\n 'model'\r\n )\r\n }\r\n itemToString={(item) => (item ? item.caManagementName : '')}\r\n initialSelectedItem={selectedItemCombo.idStatus}\r\n items={selectedItemCombo.appStatus}\r\n />\r\n )\r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n
    \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n this.updateState(\r\n 'immediateThreatment',\r\n el.target.value,\r\n 'model'\r\n )\r\n }\r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={225}\r\n className=\"disable-text\"\r\n invalid={validations.immediateThreatment != null}\r\n disabled={\r\n !IsEditable(\r\n 'Audit',\r\n 'CAManagement',\r\n user,\r\n this.state.model.idStatus,\r\n 'ImmediateThreatment',\r\n { email: this.state.model.owner.email }\r\n )\r\n }\r\n />\r\n )}\r\n {validations.immediateThreatment}\r\n \r\n
    \r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n this.updateState('explain', el.target.value, 'model')\r\n }\r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={225}\r\n className=\"disable-text\"\r\n invalid={validations.explain != null}\r\n disabled={\r\n !IsEditable(\r\n 'Audit',\r\n 'CAManagement',\r\n user,\r\n this.state.model.idStatus,\r\n 'ImmediateThreatment',\r\n { email: this.state.model.owner.email }\r\n )\r\n }\r\n />\r\n )}\r\n {validations.explain}\r\n \r\n {/* DEV_383 */}\r\n \r\n {/* DEV_383 */}\r\n \r\n
    \r\n {IsEditable(\r\n 'Audit',\r\n 'CARManagement',\r\n user,\r\n this.state.model?.idStatus,\r\n 'Effectiveness',\r\n this.state.model?.auditCAR\r\n ) &&\r\n this.state.model.emailCompilerAuditReport === user.email &&\r\n this.state.model.auditCAR?.idStatus === 4 ? (\r\n
    \r\n \r\n this.updateState(id, value, 'model')}\r\n />\r\n \r\n
    \r\n ) : null}\r\n\r\n {IsEditable(\r\n 'Audit',\r\n 'CARManagement',\r\n user,\r\n this.state.model?.idStatus,\r\n 'Effectiveness',\r\n this.state.model?.auditCAR\r\n ) &&\r\n (this.state.model.auditCAR?.owner?.email === user.email ||\r\n this.state.model.auditCAR?.ownerSaipem?.email === user.email ||\r\n this.state.model.emailCompilerAuditReport === user.email) &&\r\n this.state.model.auditCAR?.idStatus === 4 ? (\r\n <>\r\n {' '}\r\n
    \r\n \r\n this.updateState(id, value, 'model')}\r\n disabled={\r\n this.state.model.emailCompilerAuditReport === user.email\r\n }\r\n />\r\n \r\n
    \r\n
    \r\n \r\n \r\n this.updateState(\r\n 'checkEffectiveness',\r\n el.target.value,\r\n 'model'\r\n )\r\n }\r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={200}\r\n invalid={validationsReminder.checkEffectiveness != null}\r\n disabled={\r\n this.state.model.emailCompilerAuditReport === user.email\r\n }\r\n />\r\n \r\n {validationsReminder.checkEffectiveness}\r\n
    \r\n
    \r\n \r\n \r\n \r\n {validationsReminder.dateCheck}\r\n
    \r\n {/* RITM0945960 - Effectiveness Check Modification */}\r\n
    \r\n \r\n \r\n this.updateState(id, (val ? val.text : null), 'model')}\r\n itemToString={item => (item ? item.text : '')}\r\n initialSelectedItem={selectedItemCombo.isCorrectiveActionsSuitable}\r\n items={this.state.appCorrectiveActionsSuitable} \r\n invalid={validationsReminder.isCorrectiveActionsSuitable != null}\r\n disabled={\r\n this.state.model.emailCompilerAuditReport === user.email\r\n }\r\n /> \r\n \r\n {validationsReminder.isCorrectiveActionsSuitable}\r\n
    \r\n {/* End */}\r\n \r\n ) : null}\r\n {/*
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n this.cancel()}\r\n className=\"bx--col bx--btn--max-width\"\r\n size=\"default\"\r\n kind=\"secondary\"\r\n >\r\n Cancel\r\n \r\n this.saveCA()}\r\n disabled={\r\n !IsEditable(\r\n 'Audit',\r\n 'CARManagement',\r\n user,\r\n this.state.model?.idStatus,\r\n 'Effectiveness',\r\n this.state.model?.auditCAR\r\n )\r\n ? owner\r\n ? !IsEditable(\r\n 'Audit',\r\n 'CAManagement',\r\n user,\r\n this.state.model.idStatus,\r\n 'ImmediateThreatment',\r\n { email: this.state.model.owner.email }\r\n )\r\n : true\r\n : false\r\n }\r\n className=\"bx--col bx--btn--max-width\"\r\n size=\"default\"\r\n kind=\"primary\"\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","import React, { Component } from 'react';\r\nimport { FormGroup, TextInput, DataTableSkeleton, FormLabel, Checkbox, CheckboxSkeleton, TextInputSkeleton, TableContainer, Table, TableBody, TableHead, TableHeader, TableRow, TableCell } from 'carbon-components-react';\r\nimport { api } from '../../helpers/api/api';\r\n\r\n\r\nexport class Profile extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n\r\n this.state = {\r\n profile: [],\r\n allModules: [],\r\n modules: [],\r\n roles: [],\r\n isLoad: true,\r\n isLoadModules: true,\r\n\r\n };\r\n this.divRole = this.divRole.bind(this);\r\n this.getUserEdit = this.getUserEdit.bind(this);\r\n this.getModules = this.getModules.bind(this);\r\n }\r\n\r\n getUserEdit = () => {\r\n\r\n\r\n api.getAll('/profile')\r\n .then(response => {\r\n this.setState({\r\n\r\n profile: response.data,\r\n modules: response.data.userAppModules,\r\n roles: response.data.userRoles,\r\n isLoad: false,\r\n });\r\n })\r\n }\r\n\r\n getModules = () => {\r\n api.getAll(\"/users/modules\")\r\n .then(response => {\r\n this.setState({\r\n\r\n allModules: response.data,\r\n isLoadModules: false,\r\n })\r\n })\r\n }\r\n\r\n\r\n\r\n componentDidMount() {\r\n this.divRole();\r\n this.getUserEdit();\r\n this.getModules();\r\n }\r\n filterRole() {\r\n \r\n //this.state.roles[0].roleEntity == 1 ? \"Worksite\" : \" Division\" \r\n if (this.state.roles[0].roleEntity == 1) {\r\n return \"Worksite\";\r\n } else if(this.state.roles[0].roleEntity == 2) {\r\n //RITM0945977\r\n // return \" Division\";\r\n return \" Business Line\";\r\n }\r\n return \"No Entity\";\r\n \r\n }\r\n divRole() {\r\n if (this.state.roles == null || this.state.roles.length == 0) return null;\r\n const firstrole = this.state.roles[0];\r\n if (firstrole.role == \"Division Manager\") firstrole.role = \"Consolidator\";\r\n return firstrole ? firstrole.role : \"\";\r\n }\r\n divGeneralSkeleton() {\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 divGeneralInfoProfile() {\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 divModuleSkeleton() {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n }\r\n divModules() {\r\n const isCheckedAppModules = (name) => {\r\n let element = this.state.modules.find(el => el == name);\r\n return (element != null);\r\n };\r\n return (\r\n
    \r\n\r\n\r\n
    \r\n {this.state.allModules.map(m =>\r\n\r\n\r\n
    \r\n \r\n
    \r\n\r\n\r\n )}\r\n
    \r\n
    \r\n )\r\n }\r\n divTableSkeleton() {\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n }\r\n divTableRole() {\r\n return (\r\n
    \r\n\r\n {this.state.roles.length > 0 ?\r\n \r\n \r\n \r\n \r\n\r\n\r\n Profile - {this.divRole()}\r\n\r\n\r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n\r\n Entity - {this.filterRole()}\r\n\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n {this.state.roles.map(t => (\r\n \r\n \r\n
    {t.worksite ? t.worksite : t.division}
    \r\n
    \r\n\r\n
    \r\n ))}\r\n
    \r\n\r\n
    \r\n
    \r\n :

    No Entity

    \r\n }\r\n
    \r\n )\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n

    Profile

    \r\n\r\n\r\n
    \r\n
    \r\n\r\n {this.state.isLoad ? this.divGeneralSkeleton() : this.divGeneralInfoProfile()}\r\n
    \r\n Modules\r\n
    \r\n {this.state.isLoadModules ? this.divModuleSkeleton() : this.divModules()}\r\n\r\n {this.state.isLoad ? this.divTableSkeleton() : this.divTableRole()}\r\n
    \r\n
    \r\n );\r\n }\r\n}","import { Link } from 'react-router-dom';\r\nimport React, { Component } from 'react';\r\n\r\n\r\nexport class Module extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.getModule.bind(this);\r\n }\r\n\r\n getModule = (name) => {\r\n return (\r\n
    \r\n
    \r\n
    {name}
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.isExternal ?\r\n
    \r\n {this.getModule(this.props.name)}\r\n \r\n :\r\n \r\n {this.getModule(this.props.name)}\r\n \r\n }\r\n\r\n
    \r\n );\r\n }\r\n}","/* eslint-disable no-useless-constructor */\r\n/* eslint-disable react/prefer-stateless-function */\r\nimport React, { Component } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { IsEnabled } from '../../helpers/authorization/Policies';\r\nimport { AppContext } from '../../helpers/context/AppContext';\r\nimport PageBreadCrumb from '../../helpers/PageBreadCrumb';\r\nimport { Module } from '../Module';\r\n\r\nexport default class Functions extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {({ user }) => (\r\n <>\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n {IsEnabled(user, 'Incident') ? () : null}\r\n {IsEnabled(user, 'Audit') ? () : null}\r\n {IsEnabled(user, 'Report') ? () : null}\r\n {IsEnabled(user, 'Hoc Card') ? () : null}\r\n\r\n
    \r\n\r\n\r\n
    \r\n {IsEnabled(user, 'Emergency Drill') ? () : null}\r\n {IsEnabled(user, 'Inspection') ? () : null}\r\n {IsEnabled(user, 'Training') ? () : null}\r\n {IsEnabled(user, 'Insight Data') ? () : null}\r\n
    \r\n\r\n
    \r\n {IsEnabled(user, 'Group Dashboard') ? () : null}\r\n
    \r\n
    \r\n\r\n \r\n {/* \r\n \r\n \r\n
    \r\n
    \r\n
    Dashboard
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    Emergency Drill
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n */}\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n","/* eslint-disable no-plusplus */\r\n/* eslint-disable no-await-in-loop */\r\nimport { api, registry, me } from './api';\r\nimport CacheStorage from './CacheStorage';\r\nimport MeRepository from './MeRepository';\r\nimport moment from 'moment';\r\nimport { entities, NotificationModule } from '../Constants';\r\nconst baseURL = `${process.env.REACT_APP_API_URL}api`;\r\n\r\nconst cacheStorage = new CacheStorage();\r\n\r\nconst year = moment().year() + 2;\r\n\r\nconst yearsArray = [\r\n year - 5,\r\n year - 4,\r\n year - 3,\r\n year - 2,\r\n year - 1,\r\n year,\r\n year + 1,\r\n year + 2,\r\n year + 3,\r\n];\r\n\r\n\r\nconst getSections = async () => (await api.getAll('/inspection/sections')).data;\r\n\r\nconst fetchYears = async () => {\r\n yearsArray.forEach(async (element) => {\r\n const url = `${baseURL}/inspection/calendar/?page=1&pageSize=10&emailCompiler=&emailDataApprover=&emailDivisionManager=&referenceYear=${element}&plannedWeeks=&monthNumbers=&needToChange=true`;\r\n await api.getAll(url);\r\n await api.getAll(`${baseURL}/me/weeks/${element}`);\r\n });\r\n};\r\n\r\nconst fetchDivisionWorkSiteProject = async () => {\r\n const worksites = await MeRepository.getWorkSites();\r\n for (let i = 0; i < worksites.length; i++) {\r\n const worksite = worksites[i];\r\n // await api.get('inspection/inspectors/', worksite.id);\r\n }\r\n};\r\nconst updateCachedInspection = async (data) => {\r\n const url = `${baseURL}/inspection/${data.id}`;\r\n await cacheStorage.updateCache(data, url);\r\n};\r\n\r\nconst clearOldYear = async (data) => {\r\n return yearsArray.forEach(async (element) => {\r\n if (element !== data.referenceYear) {\r\n const url = `${baseURL}/inspection/calendar/?page=1&pageSize=10&emailCompiler=&emailDataApprover=&emailDivisionManager=&referenceYear=${element}&plannedWeeks=&monthNumbers=&needToChange=true`;\r\n const items = await cacheStorage.getFromCache(url);\r\n\r\n if (items && items.itemList) {\r\n const index = items.itemList.findIndex((el) => el.id === data.id);\r\n items.itemList.splice(index, 1);\r\n items.rowCount -= 1;\r\n }\r\n if (items) await cacheStorage.updateCache(items, url);\r\n }\r\n });\r\n};\r\n\r\nconst updateCachedInspectionList = async (data) => {\r\n await clearOldYear(data);\r\n const url = `${baseURL}/inspection/calendar/?page=1&pageSize=10&emailCompiler=&emailDataApprover=&emailDivisionManager=&referenceYear=${data.referenceYear}&plannedWeeks=&monthNumbers=&needToChange=true`;\r\n const items = await cacheStorage.getFromCache(url);\r\n\r\n if (items && items.itemList) {\r\n const element = items.itemList.find((el) => el.id === data.id);\r\n\r\n if (!element || element == null) {\r\n items.itemList = items.itemList.concat([data]);\r\n items.rowCount += 1;\r\n } else {\r\n items.itemList[items.itemList.indexOf(element)] = data;\r\n }\r\n\r\n await cacheStorage.updateCache(items, url);\r\n }\r\n};\r\n\r\nconst updateCachedCarList = async (data) => {\r\n let url = `${baseURL}/inspection/${data.idInspection}`;\r\n const inspection = await cacheStorage.getFromCache(url);\r\n if (inspection) {\r\n const answer = inspection.inspectionReport.checkList.answers.find(\r\n (el) => el.id === data.idAnswer\r\n );\r\n answer.car = data;\r\n\r\n inspection.inspectionReport.checkList.answers[\r\n inspection.inspectionReport.checkList.answers.indexOf(answer)\r\n ] = answer;\r\n await cacheStorage.updateCache(inspection, url);\r\n\r\n if (!data.inspectionReport) {\r\n data.inspectionReport = {\r\n idCompiler: inspection.inspectionReport.idCompiler,\r\n idApprover: inspection.inspectionReport.idApprover,\r\n idDivisionManager: inspection.inspectionReport.idDivisionManager,\r\n idStatus: inspection.inspectionReport.idStatus,\r\n };\r\n }\r\n if (!data.inspection) {\r\n data.inspection = {\r\n inspectionCode: inspection.inspectionCode,\r\n };\r\n }\r\n }\r\n\r\n url = `${baseURL}/inspection/${data.idInspection}/car`;\r\n const items = (await cacheStorage.getFromCache(url)) || { inspectionCAR: [] };\r\n\r\n const element = items.inspectionCAR.find((el) => el.id === data.id);\r\n\r\n if (element == null) {\r\n items.inspectionCAR = items.inspectionCAR.concat([data]);\r\n } else {\r\n items.inspectionCAR[items.inspectionCAR.indexOf(element)] = data;\r\n }\r\n\r\n await cacheStorage.updateCache(items, url);\r\n\r\n url = `${baseURL}/inspection/${data.idInspection}/answer/${data.idAnswer}/car/${data.id}`;\r\n\r\n await cacheStorage.updateCache(data, url);\r\n};\r\n\r\nconst getCachedEmployees = async () => {\r\n const url = `${baseURL}/employees/all`;\r\n const items = await this.cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\n\r\nconst getEmployees = async () =>\r\n (await getCachedEmployees()) || (await api.getAll('/employees/all')).data;\r\n\r\nconst getInspectionType = async () => api.getAll(`${baseURL}/admin/inspectiontype?page=0&parent=`);\r\nconst updateInspectionFilter =async (data) => {\r\n const url = `${baseURL}/inspection/filter`; \r\n await cacheStorage.updateCache(data, url);\r\n};\r\nconst updateInspectionCalendarFilter =async (data) => {\r\n const url = `${baseURL}/inspection/filter/calendar`; \r\n await cacheStorage.updateCache(data, url);\r\n};\r\nconst getBackPaged = async () => {\r\n const url = `${baseURL}/inspection/filter`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\nconst getBackPagedCalendar = async () => {\r\n const url = `${baseURL}/inspection/filter/calendar`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\nconst InspectionRepository = {\r\n updateCachedInspection,\r\n updateCachedInspectionList,\r\n getEmployees,\r\n getBackPaged,\r\n getBackPagedCalendar,\r\n updateInspectionFilter,\r\n updateInspectionCalendarFilter,\r\n updateCachedCarList,\r\n preFetch: async () => {\r\n await fetchYears();\r\n await fetchDivisionWorkSiteProject();\r\n await getInspectionType();\r\n await getSections();\r\n \r\n },\r\n};\r\nexport default InspectionRepository;\r\n","/* eslint-disable react/sort-comp */\r\n/* eslint-disable react/prop-types */\r\nimport React, { Component } from \"react\";\r\nimport { TextInput, Loading, FormGroup, Button, TextArea, TextInputSkeleton, DatePickerSkeleton } from \"carbon-components-react\";\r\nimport \"../../../scss/custom.scss\";\r\nimport Save16 from \"@carbon/icons-react/lib/save/16\";\r\nimport { CheckmarkOutline16, Information16 } from \"@carbon/icons-react/lib/\";\r\nimport { showNotification } from \"../../../helpers/notification/BaseNotification\";\r\nimport { getError, getSuccess, entitiesLabels, apioperation, DateFormat } from \"../../../helpers/Constants\";\r\nimport { api } from \"../../../helpers/api/api\";\r\nimport { IsEditable, CanExecuteAction } from \"../../../helpers/authorization/Policies\";\r\nimport { AppContext } from \"../../../helpers/context/AppContext\";\r\nimport PageBreadCrumb from \"../../../helpers/PageBreadCrumb\";\r\nimport { switchDateFormat } from \"../../../helpers/jsonschemaform/customwidget/utils\";\r\nimport { WFActionModal } from \"../../common/WFActionModal\";\r\nimport SimpleReactValidator from \"simple-react-validator\";\r\nimport { HistoryTable } from \"../../../helpers/HistoryTable\";\r\nimport InspectionRepository from \"../../../helpers/api/InspectionRepository\";\r\nimport DateTimePicker from \"../../../helpers/DateTimePicker\";\r\nimport { v4 as uuid } from \"uuid\";\r\nimport AttachmentTable from \"../../common/AttachmentTable\";\r\n\r\nexport default class InspectionCARDetail extends Component {\r\n\tbaseUrl;\r\n\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tconst idInspectionEdit = props ? props.match.params.id : \"\";\r\n\t\tconst idCar = props ? props.match.params.idCar : \"\";\r\n\t\tconst idAnswer = props ? props.match.params.idAnswer : \"\";\r\n\t\tthis.validationsCar = new SimpleReactValidator();\r\n\t\tthis.state = {\r\n\t\t\tisSubmitted: false,\r\n\t\t\tidInspectionEdit,\r\n\t\t\tidCar,\r\n\t\t\tidAnswer,\r\n\t\t\tisLoading: true,\r\n\t\t\tmodel: null,\r\n\r\n\t\t\t// /Status Action\r\n\t\t\tisApprovalModalOpen: false,\r\n\t\t\tapprovalModalAction: \"\",\r\n\t\t\tapprover: null,\r\n\t\t\tapprovalStartDate: null,\r\n\t\t\tapprovalEndDate: null,\r\n\t\t\tisLoadingApproverOptions: true,\r\n\t\t\tapprovalValidationMessages: [],\r\n\t\t\tapprovers: [],\r\n\t\t\tselectedData: [],\r\n\t\t\tapproverRole: \"\",\r\n\t\t\twithApprover: true,\r\n\t\t\tisLoadingWFOperation: false,\r\n\t\t\tapprovalNotesRequired: false,\r\n\t\t\t// /Status Action\r\n\t\t\tisHistoryModalOpen: false,\r\n\t\t};\r\n\t\tthis.baseUrl = `/inspection/${this.state.idInspectionEdit}/answer/${this.state.idAnswer}/car/${this.state.idCar}`;\r\n\r\n\t\tthis.onCauseofInefficiencyChange = this.onCauseofInefficiencyChange.bind(this);\r\n\t\tthis.onCorrectiveActionChange = this.onCorrectiveActionChange.bind(this);\r\n\t\tthis.onImmediateTreatmentChange = this.onImmediateTreatmentChange.bind(this);\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t\tthis.getCAR();\r\n\t}\r\n\r\n\tgetCAR = () => {\r\n\t\tthis.setState({\r\n\t\t\tisLoading: true,\r\n\t\t});\r\n\r\n\t\tapi.getAll(this.baseUrl)\r\n\t\t\t.then((response) => {\r\n\t\t\t\tconst { data } = response;\r\n\t\t\t\tif (data) {\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tmodel: data,\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, \"CAR not found\");\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.CAR, apioperation.GET));\r\n\t\t\t\tthis.props.history.push(this.baseUrl);\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoading: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t};\r\n\r\n\tupdateCar = async () => {\r\n\t\tif (this.validationsCar.allValid()) {\r\n\t\t\ttry {\r\n\t\t\t\tthis.setState({ isSubmitted: true });\r\n\t\t\t\tawait api.put(this.baseUrl, this.state.model);\r\n\t\t\t\tInspectionRepository.updateCachedCarList(this.state.model);\r\n\t\t\t\tshowNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.CAR, apioperation.PUT));\r\n\t\t\t} catch (error) {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(entitiesLabels.CAR, apioperation.PUT));\r\n\t\t\t} finally {\r\n\t\t\t\tthis.setState({ isSubmitted: false });\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.validationsCar.showMessages();\r\n\t\t\tshowNotification.warning(`${entitiesLabels.WARNING}`, ` ${entitiesLabels.INSPECTION_REPORT} required fields are missing `);\r\n\r\n\t\t\tthis.forceUpdate();\r\n\t\t}\r\n\t};\r\n\r\n\tshowButtonHistory = () => (\r\n\t\t\r\n\t);\r\n\r\n\topenModalHistory = () => {\r\n\t\tthis.setState({ isHistoryModalOpen: true });\r\n\t};\r\n\r\n\tcloseModalHistory = () => {\r\n\t\tthis.setState({ isHistoryModalOpen: false });\r\n\t};\r\n\r\n\tshowLoading() {\r\n\t\tconst show = this.state.isLoading || this.state.isSubmitted;\r\n\t\tconst descr = this.state.isSubmitted ? \"Saving...\" : \"Loading data...\";\r\n\t\treturn show && ;\r\n\t\t// return ()\r\n\t}\r\n\r\n\tonImmediateTreatmentChange(event) {\r\n\t\tconst { value } = event.currentTarget;\r\n\t\tthis.setState({\r\n\t\t\tmodel: {\r\n\t\t\t\t...this.state.model,\r\n\t\t\t\timmediateTreatment: value,\r\n\t\t\t},\r\n\t\t});\r\n\t}\r\n\r\n\tonCauseofInefficiencyChange(event) {\r\n\t\tconst { value } = event.currentTarget;\r\n\t\tthis.setState({\r\n\t\t\tmodel: {\r\n\t\t\t\t...this.state.model,\r\n\t\t\t\tcauseOfInefficiency: value,\r\n\t\t\t},\r\n\t\t});\r\n\t}\r\n\r\n\tonCorrectiveActionChange(event) {\r\n\t\tconst { value } = event.currentTarget;\r\n\t\tthis.setState({\r\n\t\t\tmodel: {\r\n\t\t\t\t...this.state.model,\r\n\t\t\t\tcorrectiveAction: value,\r\n\t\t\t},\r\n\t\t});\r\n\t}\r\n\r\n\tIsRowSelectable() {\r\n\t\tconst row = this.state.model;\r\n\t\tif (row == null) return false;\r\n\t\treturn true;\r\n\t}\r\n\r\n\tbatchActionClick(actionKey, actionName, approverRole, withApprover, approvalNotesRequired, selectedRows) {\r\n\t\tthis.setState({\r\n\t\t\tapprovalModalAction: actionName,\r\n\t\t\tisApprovalModalOpen: true,\r\n\t\t\tisLoadingApproverOptions: true,\r\n\t\t\twithApprover,\r\n\t\t\tselectedData: selectedRows,\r\n\t\t\tapproverRole,\r\n\t\t\tapprovalEndpoint: actionKey,\r\n\t\t\tapprovalNotesRequired,\r\n\t\t});\r\n\t}\r\n\r\n\tgetStatusActions = (user) => {\r\n\t\tif (!this.IsRowSelectable()) return null;\r\n\r\n\t\tconst canEditResource = this.state.model && {\r\n\t\t\tidCompiler: this.state.model.inspectionReport.idCompiler,\r\n\t\t\temail: this.state.model.owner != null ? this.state.model.owner.email : this.state.model.ownerSaipem != null ? this.state.model.ownerSaipem.email : \"\",\r\n\t\t};\r\n\r\n\t\tconst { idStatus } = this.state.model;\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t{CanExecuteAction(\"Inspection\", \"CARSimplified\", user, idStatus, \"Close\", canEditResource) ? (\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tthis.updateCar();\r\n\t\t\t\t\t\t\tthis.batchActionClick(\"Close\", \"Close\", null, false, true, null);\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\tClose CAR\r\n\t\t\t\t\t\r\n\t\t\t\t) : null}\r\n\r\n\t\t\t\t{CanExecuteAction(\"Inspection\", \"CARSimplified\", user, idStatus, \"Open\", canEditResource) ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : null}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\t// WF\r\n\thandleApproverSelect = (selectedItem) => {\r\n\t\tthis.setState({ approver: selectedItem });\r\n\t};\r\n\r\n\thandleCloseApprovalModal = () => {\r\n\t\tthis.setState({ isApprovalModalOpen: false }, this.clearApprovalForm);\r\n\t};\r\n\r\n\thandleApprovalNotesChange = (e) => {\r\n\t\tthis.setState({ approvalNotes: e.target.value });\r\n\t};\r\n\r\n\thandleConfirmApprovalModal = () => {\r\n\t\tconst apiEndpoint = this.state.approvalEndpoint;\r\n\r\n\t\tconst data = {\r\n\t\t\tids: [this.state.idCar],\r\n\t\t\towner: this.state.approver,\r\n\t\t\tworkflowNotes: this.state.approvalNotes,\r\n\t\t};\r\n\t\tif (!this.state.model.correctiveAction && this.state.model.idStatus == 1) {\r\n\t\t\tthis.setState({\r\n\t\t\t\tisApprovalModalOpen: false,\r\n\t\t\t});\r\n\t\t\treturn showNotification.warning(`${entitiesLabels.WARNING}`, `Corrective Action required field is missing`);\r\n\t\t}\r\n\r\n\t\tthis.setState({\r\n\t\t\tisLoadingWFOperation: true,\r\n\t\t});\r\n\t\tapi.put(`/inspection/${this.state.idInspectionEdit}/car/${apiEndpoint}`, data, \"\")\r\n\t\t\t.then((response) => {\r\n\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\tshowNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.CAR, apioperation.PUT));\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tisLoadingWFOperation: false,\r\n\t\t\t\t\t\tisApprovalModalOpen: false,\r\n\t\t\t\t\t\tisLoading: true,\r\n\t\t\t\t\t\t// model: null\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.getCAR();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tshowNotification.error();\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tisLoadingWFOperation: false,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.CAR, apioperation.PUT));\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingWFOperation: false,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => {});\r\n\t};\r\n\r\n\tupdateActualCompletitionDate = (_, completationDate) => this.setState({model: {...this.state.model, actualDateCompletition: completationDate}})\r\n\r\n\tclearAttachment = () => ({\r\n\t\tid: null, // guid\r\n\t\tfileIdentifier: null,\r\n\t\tname: null,\r\n\t\tcontentType: null,\r\n\t\tsize: null,\r\n\t\ttype: null,\r\n\t});\r\n\r\n\tonUploadFiles = (fileIdentifier, fileName, fileType, size) => {\r\n\tconst attachment = { ...this.state.attachment };\r\n\r\n\tattachment.id = uuid();\r\n\tattachment.fileIdentifier = fileIdentifier.blobName;\r\n\tattachment.name = fileName;\r\n\tattachment.contentType = fileType;\r\n\tattachment.size = size;\r\n\t// attachment.filePath = file.localPath;\r\n\r\n\tthis.setState({\r\n\t\tattachment: this.clearAttachment(),\r\n\t});\r\n\r\n\ttry {\r\n\t\tif (attachment == null) return;\r\n\t\t// insert\r\n\t\tconst oldattachment = this.state.model.attachment || [];\r\n\r\n\t\tconst newItem = {\r\n\t\tid: uuid(), // guid\r\n\r\n\t\tidAttachment: attachment.id, // guid\r\n\t\tattachment,\r\n\t\t};\r\n\r\n\t\tconst newattachment = oldattachment.concat([newItem]);\r\n\t\tthis.setState({model: {...this.state.model, attachment: newattachment}})\r\n\t} catch (error) {\r\n\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.CAR, apioperation.GET));\r\n\t}\r\n\t};\r\n\r\n\tonRemoveFile = (id) => {\r\n\tif (!id) return;\r\n\tconst statusCopy = { ...this.state.model };\r\n\tstatusCopy.attachment = statusCopy.attachment.filter((el) => el.id !== id);\r\n\tthis.setState({model: statusCopy});\r\n\t};\r\n\r\n\r\n\trender() {\r\n\t\tconst canEditResource = this.state.model && {\r\n\t\t\tidCompiler: this.state.model.inspectionReport.idCompiler,\r\n\t\t\tidDataApprover: this.state.model.inspectionReport.idDataApprover,\r\n\t\t\tidDivisionManager: this.state.model.inspectionReport.idDivisionManager,\r\n\t\t\temail: this.state.model.owner != null ? this.state.model.owner.email : this.state.model.ownerSaipem != null ? this.state.model.ownerSaipem.email : \"\",\r\n\t\t};\r\n\t\tconst validationCar = {\r\n\t\t\tcorrectiveAction: this.validationsCar.message(\"correctiveAction\", this.state.model?.correctiveAction, \"required\"),\r\n\t\t};\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{({ user }) => (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{this.showLoading()}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t this.closeModalHistory()} />\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{this.state.model && (\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{!this.state.model ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{!this.state.model ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{validationCar.correctiveAction}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t{IsEditable(\"Inspection\", \"CARSimplified\", user, this.state.model ? this.state.model.idStatus : null, \"CorrectiveAction\", canEditResource) && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
    \r\n\t\t);\r\n\t}\r\n}\r\n","/* eslint-disable no-nested-ternary */\r\n/* eslint-disable react/sort-comp */\r\n/* eslint-disable import/prefer-default-export */\r\nimport React, { Component } from 'react';\r\nimport Close16 from '@carbon/icons-react/lib/close/24';\r\nimport { RadioButtonSkeleton } from 'carbon-components-react';\r\nimport { Link } from 'react-router-dom';\r\nimport { api } from '../../helpers/api/api';\r\nimport { switchDateFormat } from '../../helpers/jsonschemaform/customwidget/utils';\r\nimport { NotificationModule } from '../../helpers/Constants';\r\n\r\n\r\nexport class Notification extends Component {\r\n\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n notifications: [],\r\n isLoad: true\r\n };\r\n this.getNotifications = this.getNotifications.bind(this);\r\n this.deletenotification = this.deletenotification.bind(this);\r\n this.getColorModule = this.getColorModule.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.getNotifications();\r\n }\r\n\r\n getNotifications = () => {\r\n this.setState({\r\n isLoad: true\r\n });\r\n api.getAll('/notifications').then((response) => {\r\n this.setState({\r\n notifications: response.data,\r\n isLoad: false\r\n });\r\n });\r\n };\r\n\r\n deletenotification = async (id) => {\r\n this.setState((prevState) => ({\r\n isLoad: true,\r\n notifications: prevState.notifications.filter((x) => x.id !== id)\r\n }));\r\n await this.props.isDeleted();\r\n\r\n api.delete('/notifications/', id).then((response) => {\r\n this.setState(\r\n {isLoad: false},this.props.isOpenNotification\r\n );\r\n });\r\n };\r\n\r\n getColorModule(id) {\r\n const entity = (this.state.notifications || []).find((el) => el.id == id);\r\n\r\n if (entity.moduleName == NotificationModule.ModuleAudit) {\r\n return 'module--audit';\r\n }\r\n if (entity.moduleName == NotificationModule.ModuleReport) {\r\n return 'module--report';\r\n }\r\n if (entity.moduleName == NotificationModule.ModuleIncident) {\r\n return 'module--incident';\r\n }\r\n if (entity.moduleName == NotificationModule.ModuleHocCards) {\r\n return 'module--hoccards';\r\n }\r\n if (entity.moduleName == NotificationModule.ModuleInspection) {\r\n return 'module--inspection';\r\n }\r\n if (entity.moduleName == NotificationModule.ModuleDrill) {\r\n return 'module--drill';\r\n }\r\n if (entity.moduleName == NotificationModule.ModuleTraining) {\r\n return 'module--training';\r\n }\r\n return '';\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n {this.state.notifications != null && this.state.notifications.length > 0 ? (\r\n
    \r\n \r\n {this.state.notifications.length < 99 ? this.state.notifications.length : '99'}\r\n \r\n
    \r\n ) : null}\r\n {this.props.isOpen ? (\r\n
    \r\n
    \r\n {this.state.notifications == null || this.state.notifications.length == 0 ? (\r\n this.state.notifications == null ||\r\n (this.state.notifications.length == 0 && this.state.isLoad == true) ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n this.state.notifications.map((notification) => (\r\n \r\n
    \r\n {notification.reference != null ? (\r\n \r\n
    \r\n
    \r\n
    \r\n {' '}\r\n {switchDateFormat(notification.dateTime, 'datetime')}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {notification.moduleName != null ? notification.moduleName : ''}\r\n \r\n {notification.body}\r\n
    \r\n\r\n

    \r\n {notification.originatingUser != null\r\n ? notification.originatingUser.name\r\n : null}\r\n

    \r\n
    \r\n \r\n ) : (\r\n ''\r\n )}\r\n
    \r\n this.deletenotification(notification.id)}\r\n key={`delete-${notification.id}`}\r\n size=\"small\"\r\n iconDescription=\"Edit\"\r\n kind=\"ghost\"\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\nfunction LoadNotification() {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nfunction NoRecordsNotification() {\r\n return (\r\n
    \r\n
    \r\n

    No Notifications Found

    \r\n
    \r\n
    \r\n );\r\n}\r\n","import React, { Component } from 'react';\r\nimport Profile16 from '@carbon/icons-react/lib/user--avatar/16';\r\nimport Logout16 from '@carbon/icons-react/lib/logout/16';\r\nimport { authProvider } from '../../auth/authProvider';\r\nimport { Link, } from 'react-router-dom'\r\n\r\n\r\nexport class BoxProfile extends Component {\r\n\r\n logout() {\r\n authProvider.logout();\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n
    \r\n {(this.props.isOpen ?\r\n
    \r\n
    \r\n {this.props.isUser ? \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    Profile
    \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
    Logout
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n : null)}\r\n
    \r\n );\r\n }\r\n}","import { api, registry } from './api';\r\nimport CacheStorage from './CacheStorage';\r\n\r\nconst baseURL = `${process.env.REACT_APP_API_URL}api`;\r\n\r\nconst cacheStorage = new CacheStorage();\r\n\r\nconst getCachedWorkSiteProject = async () => {\r\n const url = `${baseURL}/me/worksitesproject`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\n\r\nconst HocCardRepository = {\r\n updateCachedList: async (currentPage, pageSize, data) => {\r\n const url = `${baseURL}/hoccard/?page=${currentPage}&pageSize=${pageSize}`;\r\n const dataList = (await cacheStorage.getFromCache(url)) || {};\r\n let items = dataList.itemList || [];\r\n const element = items.find((el) => el.id === data.id);\r\n\r\n if (element == null) {\r\n items = items.concat(data);\r\n } else {\r\n items[items.indexOf(element)] = data;\r\n }\r\n dataList.itemList = items;\r\n await cacheStorage.updateCache(dataList, url);\r\n },\r\n updateCachedDetail: async (data) => {\r\n const url = `${baseURL}/hoccard/${data.id}`;\r\n await cacheStorage.updateCache(data, url);\r\n },\r\n getWorkSiteProject: async () =>\r\n (await getCachedWorkSiteProject()) || (await api.getAll(`${baseURL}/me/worksitesproject`)).data,\r\n\r\n preFetch: async () => {\r\n await api.getAll('/hoccard/?page=1&pageSize=10');\r\n await api.getAll(`${baseURL}/admin/hazardtype?page=0`);\r\n await api.getAll('/admin/hocpriority?page=0');\r\n await api.getAll('/admin/hoctype?page=0');\r\n await api.getAll('/admin/lifesavingrule?page=0');\r\n // api.getAll('/me/project');\r\n await api.getAll('/me/worksitesproject');\r\n },\r\n\r\n updateHocCardFilter: async data => {\r\n const url = `${baseURL}/hoccard/filter`;\r\n await cacheStorage.updateCache(data, url);\r\n },\r\n\r\n getBackPaged: async () => {\r\n const url = `${baseURL}/hoccard/filter`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n }\r\n\r\n};\r\nexport default HocCardRepository;\r\n","import { api, dynamic } from './api';\r\nimport CacheStorage from './CacheStorage';\r\n\r\nconst baseURL = `${process.env.REACT_APP_API_URL}api`;\r\n\r\nconst cacheStorage = new CacheStorage();\r\n\r\nconst updateCachedTraining = async (id, data) => {\r\n const url = `${baseURL}/training/${id}`;\r\n await cacheStorage.updateCache(data, url);\r\n};\r\n\r\nconst updateCachedTrainingList = async (data) => {\r\n const url = `${baseURL}/training/?page=1&pageSize=10`;\r\n const items = await cacheStorage.getFromCache(url);\r\n\r\n if (items && items.itemList) {\r\n const element = items.itemList.find((el) => el.id === data.id);\r\n\r\n if (element == null) {\r\n items.itemList = items.itemList.concat([data]);\r\n items.rowCount += 1;\r\n } else {\r\n items.itemList[items.itemList.indexOf(element)] = data;\r\n }\r\n\r\n await cacheStorage.updateCache(items, url);\r\n }\r\n};\r\n\r\nconst updateReportFilter = async (data) => {\r\n const url = `${baseURL}/training/filter`;\r\n await cacheStorage.updateCache(data, url);\r\n};\r\nconst updateReport = async (data) => {\r\n const url = `${baseURL}/training`;\r\n await cacheStorage.updateCache(data, url);\r\n};\r\nconst getBackPaged = async () => {\r\n const url = `${baseURL}/training/filter`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\n\r\nconst fetchTraining = async () => {\r\n await api.getAll('/training/?page=1&pageSize=10');\r\n await dynamic.getAll('trainingdata', { params: { page: 0 } });\r\n await dynamic.getAll('traininglocation', { params: { page: 0 } });\r\n await dynamic.getAll('traininglanguage', { params: { page: 0 } });\r\n await dynamic.getAll('trainingmethod', { params: { page: 0 } });\r\n await dynamic.getAll('trainingassessmentmethod', { params: { page: 0 } });\r\n};\r\n\r\nconst TrainingRepository = {\r\n fetchTraining,\r\n updateCachedTrainingList,\r\n updateCachedTraining,\r\n updateReport,\r\n updateReportFilter,\r\n getBackPaged,\r\n};\r\nexport default TrainingRepository;\r\n","import moment from 'moment';\r\nimport { api } from './api';\r\nimport CacheStorage from './CacheStorage';\r\n\r\nconst baseURL = `${process.env.REACT_APP_API_URL}api`;\r\n\r\nconst cacheStorage = new CacheStorage();\r\n\r\nconst year = moment().year() + 2;\r\n\r\nconst yearsArray = [\r\n year - 5,\r\n year - 4,\r\n year - 3,\r\n year - 2,\r\n year - 1,\r\n year,\r\n year + 1,\r\n year + 2,\r\n year + 3,\r\n];\r\n\r\nconst fetchYears = async () => {\r\n yearsArray.forEach(async (element) => {\r\n const url = `${baseURL}/drill/calendar/?plannedWeeks=&referenceYear=${element}&monthNumbers=&page=1&pageSize=10&needToChange=true`;\r\n await api.getAll(url);\r\n await api.getAll(`${baseURL}/me/weeks/${element}`);\r\n });\r\n};\r\n\r\nconst updateCachedDrill = async (data) => {\r\n const url = `${baseURL}/drill/report/${data.id}`;\r\n await cacheStorage.updateCache(data, url);\r\n};\r\n\r\nconst clearOldYear = async (data) =>\r\n yearsArray.forEach(async (element) => {\r\n if (element !== data.referenceYear) {\r\n const url = `${baseURL}/drill/calendar/?plannedWeeks=&referenceYear=${element}&monthNumbers=&page=1&pageSize=10&needToChange=true`;\r\n const items = await cacheStorage.getFromCache(url);\r\n\r\n if (items && items.itemList) {\r\n const index = items.itemList.findIndex((el) => el.id === data.id);\r\n items.itemList.splice(index, 1);\r\n items.rowCount -= 1;\r\n }\r\n if (items) await cacheStorage.updateCache(items, url);\r\n }\r\n });\r\n\r\nconst updateCachedDrillList = async (data) => {\r\n await clearOldYear(data);\r\n const url = `${baseURL}/drill/calendar/?plannedWeeks=&referenceYear=${data.plannedYear}&monthNumbers=&page=1&pageSize=10&needToChange=true`;\r\n const items = await cacheStorage.getFromCache(url);\r\n\r\n if (items && items.itemList) {\r\n const element = items.itemList.find((el) => el.id === data.id);\r\n\r\n if (!element || element == null) {\r\n items.itemList = items.itemList.concat([data]);\r\n items.rowCount += 1;\r\n } else {\r\n items.itemList[items.itemList.indexOf(element)] = data;\r\n }\r\n\r\n await cacheStorage.updateCache(items, url);\r\n }\r\n};\r\n\r\nconst updateCachedCarList = async (data) => {\r\n let url = `${baseURL}/drill/report/${data.idDrillReport}`;\r\n const drill = await cacheStorage.getFromCache(url);\r\n if (drill) {\r\n const answer = drill.drillCheckListRequirementAnswers.find(\r\n (el) => el.id === data.idDrillCheckListRequirementAnswer\r\n );\r\n\r\n answer.car = data;\r\n answer.idDrillCar = data.id;\r\n\r\n drill.drillCheckListRequirementAnswers[\r\n drill.drillCheckListRequirementAnswers.indexOf(answer)\r\n ] = answer;\r\n\r\n await cacheStorage.updateCache(drill, url);\r\n }\r\n url = `${baseURL}/drill/report/${data.idDrillReport}/car`;\r\n const items = (await cacheStorage.getFromCache(url)) || { drillCAR: [] };\r\n if (drill) {\r\n items.drillReport = {\r\n id: drill.id,\r\n idCompiler: drill.idCompiler,\r\n idApprover: drill.idApprover,\r\n idDivisionManager: drill.idDivisionManager,\r\n idStatus: drill.idStatus,\r\n };\r\n } else {\r\n items.drillReport = {\r\n id: data.idDrillReport\r\n };\r\n }\r\n \r\n if (!items.drillCode && drill) {\r\n items.drillCode = drill.drillReportCode;\r\n }\r\n const element = items.drillCAR.find((el) => el.id === data.id);\r\n if (element == null) {\r\n items.drillCAR = items.drillCAR.concat([data]);\r\n } else {\r\n items.drillCAR[items.drillCAR.indexOf(element)] = data;\r\n }\r\n await cacheStorage.updateCache(items, url);\r\n url = `${baseURL}/drill/report/answer/car/${data.id}`;\r\n await cacheStorage.updateCache(data, url);\r\n};\r\n\r\nconst getCachedDrillList = async (referenceYear) => {\r\n const url = `${baseURL}/drill/calendar/?plannedWeeks=&referenceYear=${referenceYear}&monthNumbers=&page=1&pageSize=10&needToChange=true`;\r\n const drills = await cacheStorage.getFromCache(url);\r\n return drills || [];\r\n};\r\n\r\n\r\nconst updateDrillFilter = async (data) => {\r\n const url = `${baseURL}/drill/filter`;\r\n await cacheStorage.updateCache(data, url);\r\n};\r\nconst updateDrillCalendarFilter = async (data) => {\r\n const url = `${baseURL}/drill/filter/calendar`;\r\n await cacheStorage.updateCache(data, url);\r\n};\r\nconst getBackPaged = async () => {\r\n const url = `${baseURL}/drill/filter`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\nconst getBackPagedCalendar = async () => {\r\n const url = `${baseURL}/drill/filter/calendar`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\n\r\nconst updateReportDrillFilter = async (data) => {\r\n const url = `${baseURL}/drill/drillreportfilter`;\r\n await cacheStorage.updateCache(data, url);\r\n};\r\nconst updateReportDrillCalendarFilter = async (data) => {\r\n const url = `${baseURL}/drill/filter/drillreportcalendar`;\r\n await cacheStorage.updateCache(data, url);\r\n};\r\nconst getReportBackPaged = async () => {\r\n const url = `${baseURL}/drill/drillreportfilter`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\nconst getBackReportPagedCalendar = async () => {\r\n const url = `${baseURL}/drill/filter/drillreportcalendar`;\r\n const items = await cacheStorage.getFromCache(url);\r\n return items || undefined;\r\n};\r\n\r\nconst DrillRepository = {\r\n updateCachedDrill,\r\n updateCachedDrillList,\r\n getCachedDrillList,\r\n updateCachedCarList,\r\n getBackPaged,\r\n getBackPagedCalendar,\r\n updateDrillFilter,\r\n updateDrillCalendarFilter,\r\n updateReportDrillFilter,\r\n updateReportDrillCalendarFilter,\r\n getReportBackPaged,\r\n getBackReportPagedCalendar,\r\n\r\n preFetch: async () => {\r\n await fetchYears();\r\n\r\n // await fetchDivisionWorkSiteProject();\r\n await api.getAll(`${baseURL}/drill/drilltype`);\r\n await api.getAll(`${baseURL}/admin/drilltypedetail`);\r\n await api.getAll(`${baseURL}/drill/participant`);\r\n await api.getAll(`${baseURL}/drill/frequency`);\r\n },\r\n};\r\nexport default DrillRepository;\r\n","/* eslint-disable react/jsx-props-no-spreading */\r\n/* eslint-disable import/prefer-default-export */\r\n/* eslint-disable react/sort-comp */\r\nimport React, { Component } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport {\r\n Header,\r\n HeaderGlobalBar,\r\n HeaderGlobalAction,\r\n HeaderName,\r\n HeaderNavigation,\r\n SideNavItems,\r\n SideNav,\r\n SideNavMenuItem,\r\n Button,\r\n ComposedModal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n} from 'carbon-components-react';\r\nimport {\r\n entitiesLabels,\r\n} from '../../helpers/Constants';\r\nimport Notification20 from '@carbon/icons-react/lib/notification/20';\r\nimport Menu20 from '@carbon/icons-react/lib/menu/20';\r\nimport { authProvider } from '../../auth/authProvider';\r\nimport { Notification } from './Notification';\r\nimport { BoxProfile } from './BoxProfile';\r\nimport { AppContext } from '../../helpers/context/AppContext';\r\nimport { IsInRole } from '../../helpers/authorization/Policies';\r\nimport { StatusTag } from '../../helpers/PageBreadCrumb';\r\nimport { Online, Offline } from './OnLineOffLine';\r\nimport CacheStorage from '../../helpers/api/CacheStorage';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport AuditRepository from '../../helpers/api/AuditRepository';\r\nimport IncidentRepository from '../../helpers/api/IncidentRepository';\r\nimport MeRepository from '../../helpers/api/MeRepository';\r\nimport ReportRepository from '../../helpers/api/ReportRepository';\r\nimport HocCardRepository from '../../helpers/api/HocCardRepository';\r\nimport TrainingRepository from '../../helpers/api/TrainingRepository';\r\nimport InspectionRepository from '../../helpers/api/InspectionRepository';\r\nimport DrillRepository from '../../helpers/api/DrillRepository';\r\n\r\nvar isDeleted = false;\r\n\r\nexport class Head extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.showProfile = this.showProfile.bind(this);\r\n this.showNotification = this.showNotification.bind(this);\r\n this.hiddenBox = this.hiddenBox.bind(this);\r\n this.toggleNavbar = this.toggleNavbar.bind(this);\r\n this.modalFetchData = this.modalFetchData.bind(this);\r\n this.handleConfirmFetchData = this.handleConfirmFetchData.bind(this);\r\n this.auditRepository = new AuditRepository();\r\n this.state = {\r\n collapsed: true,\r\n userAccount: 'Not Authorized',\r\n isSideNavigationExpanded: false,\r\n isOpenNotification: false,\r\n isOpenProfile: false,\r\n synching: false,\r\n offlineQueue: 0,\r\n modalFetchDataVisible: false,\r\n isDeleted: false\r\n };\r\n this.isDeleted = this.isDeleted.bind(this);\r\n this.onClickSideNavExpand = this.onClickSideNavExpand.bind(this);\r\n this.onGoOnline = this.onGoOnline.bind(this);\r\n this.onMessageReceived = this.onMessageReceived.bind(this);\r\n this.getUserRole = this.getUserRole.bind(this);\r\n this.cacheStorage = new CacheStorage();\r\n }\r\n\r\n hiddenBox() {\r\n this.setState((oldState) => ({ isOpenProfile: !oldState.isOpenProfile }));\r\n }\r\n\r\n async isDeleted() {\r\n isDeleted = true;\r\n\r\n }\r\n\r\n\r\n showNotification() {\r\n if (!isDeleted) {\r\n this.state.isOpenProfile\r\n ? this.setState((oldState) => ({\r\n isOpenProfile: !oldState.isOpenProfile,\r\n isOpenNotification: !oldState.isOpenNotification,\r\n }))\r\n : this.setState((oldState) => ({ isOpenNotification: !oldState.isOpenNotification }));\r\n }\r\n isDeleted = false;\r\n } \r\n\r\n showProfile() {\r\n this.state.isOpenNotification\r\n ? this.setState((oldState) => ({\r\n isOpenProfile: !oldState.isOpenProfile,\r\n isOpenNotification: !oldState.isOpenNotification,\r\n }))\r\n : this.setState((oldState) => ({ isOpenProfile: !oldState.isOpenProfile }));\r\n }\r\n\r\n getUserRole() {\r\n if (this.context.user.roles.includes('Administrator')) {\r\n return 'Administrator';\r\n } \r\n else if (this.context.user.roles.includes('Compiler')) {\r\n return 'Compiler';\r\n }\r\n else if (this.context.user.roles.includes('Data Approver')) {\r\n return 'Data Approver';\r\n }\r\n else if (this.context.user.roles.includes('Division Manager')) {\r\n return 'Consolidator';\r\n } \r\n else {return 'External'}\r\n }\r\n\r\n onGoOnline(online) {\r\n if (online) this.cacheStorage.flushQueue();\r\n }\r\n\r\n onMessageReceived = (message) => {\r\n console.log(`Header.onMessageReceived: message:`, message);\r\n if (message.infoMsg)\r\n showNotification.info(\"Info\", message.infoMsg);\r\n if (message.warnMsg)\r\n showNotification.warning(\"Warning\", message.warnMsg);\r\n if (message.errMsg)\r\n showNotification.error(\"Error\", message.errMsg);\r\n if (message.sucMsg)\r\n showNotification.success(\"Success\", message.sucMsg);\r\n\r\n if (message.queueLength !== null) {\r\n this.setState({ offlineQueue: message.queueLength });\r\n }\r\n\r\n if (message.synching !== null) {\r\n this.setState({ synching: message.synching });\r\n switch (message.synching) {\r\n case true:\r\n showNotification.info(`${entitiesLabels.SYNC}`, 'Operation started');\r\n console.log('Header.onMessageReceived: Synch operation started');\r\n break;\r\n case false:\r\n if (!message.error) {\r\n showNotification.success(`${entitiesLabels.SYNC}`, 'Operation ended successfully');\r\n console.log('Header.onMessageReceived: Synch operation ended successfully');\r\n } else if (message.error) {\r\n showNotification.error(`${entitiesLabels.SYNC}`, `Operation ended with ${message.queueLength} errors and ${message.minRetriesLeft} retries left. Queue size: ${message.totalQueueSizeKB} KB`);\r\n console.error(`Header.onMessageReceived: Synching operation ended with ${message.queueLength} errors and ${message.minRetriesLeft} retries left. Queue size: ${message.totalQueueSizeKB} KB`);\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n };\r\n\r\n modalFetchData() {\r\n console.log(`Header.modalFetchData:`);\r\n this.setState((oldState) => ({\r\n modalFetchDataVisible: !oldState.modalFetchDataVisible,\r\n }));\r\n }\r\n\r\n async handleConfirmFetchData() {\r\n console.log(`Header.handleConfirmFetchData:`);\r\n this.setState((oldState) => ({\r\n synching: true,\r\n modalFetchDataVisible: !oldState.modalFetchDataVisible,\r\n }));\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,'Synch operation started');\r\n await MeRepository.preFetch();\r\n if (this.context.user.modules.includes('Audit')) {\r\n await this.auditRepository.fetchAudit();\r\n }\r\n if (this.context.user.modules.includes('Incident')) {\r\n await IncidentRepository.fetchIncident();\r\n }\r\n if (this.context.user.modules.includes('Report')) {\r\n await ReportRepository.preFetch();\r\n }\r\n if (this.context.user.modules.includes('Hoc Card')) {\r\n await HocCardRepository.preFetch();\r\n }\r\n if (this.context.user.modules.includes('Training')) {\r\n await TrainingRepository.fetchTraining();\r\n }\r\n if (this.context.user.modules.includes('Inspection')) {\r\n await InspectionRepository.preFetch();\r\n }\r\n if (this.context.user.modules.includes('Emergency Drill')) {\r\n await DrillRepository.preFetch();\r\n }\r\n this.setState((oldState) => ({\r\n synching: false,\r\n }));\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,'Synch operation ended successfully');\r\n }\r\n\r\n toggleNavbar() {\r\n console.log(`Header.toggleNavbar:`);\r\n this.setState((oldState) => ({\r\n collapsed: !oldState.collapsed,\r\n }));\r\n }\r\n\r\n componentDidMount() {\r\n console.log(`Header.componentDidMount:`);\r\n this.setState({ userAccount: authProvider.account.name });\r\n }\r\n\r\n onClickSideNavExpand() {\r\n console.log(`Header.componentDidMount:`);\r\n this.setState((oldState) => ({\r\n isSideNavigationExpanded: !oldState.isSideNavigationExpanded,\r\n }));\r\n }\r\n\r\n logout = () => {\r\n authProvider.logout();\r\n };\r\n\r\n renderFetchModal = () =>\r\n this.state.modalFetchDataVisible && (\r\n {\r\n this.modalFetchData();\r\n }}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    Press confirm to start loading entities data
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.handleConfirmFetchData()}\r\n >\r\n Confirm\r\n \r\n \r\n \r\n );\r\n\r\n render() {\r\n console.log(`Header.render: navigator.onLine: ${navigator.onLine}`);\r\n return (\r\n \r\n {({ user }) => (\r\n <>\r\n {this.renderFetchModal(user)}\r\n
    \r\n \r\n \r\n \r\n\r\n \r\n \"Saipem\r\n \r\n\r\n \r\n Daily Tasks\r\n {IsInRole(user) ? Modules :
  • }\r\n Support\r\n {IsInRole(user, 'Administrator') ? (\r\n BackOffice\r\n ) : (\r\n
  • \r\n )}\r\n \r\n\r\n \r\n
    \r\n \r\n {this.state.userAccount + \" - \" +this.getUserRole()}\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {this.state.offlineQueue != null && this.state.offlineQueue > 0 ? (\r\n
    \r\n \r\n {this.state.offlineQueue < 99 ? this.state.offlineQueue : '+99'}\r\n \r\n
    \r\n ) : null}\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {this.state.offlineQueue != null && this.state.offlineQueue > 0 ? (\r\n
    \r\n \r\n {this.state.offlineQueue < 99 ? this.state.offlineQueue : '+99'}\r\n \r\n
    \r\n ) : null}\r\n
    \r\n \r\n \r\n {process.env.REACT_APP_ENVNAME !== 'PROD' ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n\r\n {this.state.isSideNavigationExpanded ? (\r\n \r\n \r\n \r\n Daily Tasks\r\n \r\n {IsInRole(user) ? (\r\n \r\n Modules\r\n \r\n ) : (\r\n ''\r\n )}\r\n \r\n Support\r\n \r\n {IsInRole(user, 'Administrator') ? (\r\n \r\n BackOffice\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\nHead.contextType = AppContext;\r\n","import React, { Component } from 'react';\r\nimport FaceDissatisfied from '@carbon/icons-react/lib/face--dissatisfied/32';\r\nexport default class Unauthorized extends Component {\r\n displayName = \"Unauthorized\"\r\n\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    InSight
    \r\n

    Access denied

    \r\n

    You are not authorized to view this content. Please contact the system administrator.\r\n

    \r\n
    \r\n
    \r\n
    \r\n\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport Unauthorized from '../../components/common/Unauthorized';\r\nexport const Authorization = (User, WrappedComponent, Scope, Value, IsPage) => {\r\n return class WithAuthorization extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n IsEnabled: false\r\n };\r\n\r\n if (User != null) {\r\n\r\n var roles = User.roles;\r\n var modules = User.modules;\r\n\r\n //Scope = User\r\n if (Scope === \"User\" &&\r\n (roles != null && roles.length > 0) &&\r\n (roles.includes(\"Data Approver\") || roles.includes(\"Division Manager\") || roles.includes(\"Compiler\") || roles.includes(\"Administrator\"))) {\r\n this.state = {\r\n IsEnabled: true\r\n };\r\n }\r\n\r\n //Scope = Global\r\n if (Scope === \"Global\" &&\r\n ((roles != null && roles.length > 0))) {\r\n this.state = {\r\n IsEnabled: true\r\n };\r\n }\r\n\r\n //Scope = Module\r\n if (Scope === \"Module\" && modules != null && modules.length > 0 && modules.includes(Value)) {\r\n this.state = {\r\n IsEnabled: true\r\n };\r\n }\r\n\r\n //Scope = Role\r\n if (Scope === \"Role\" && roles != null && roles.length > 0 && roles.includes(Value)) {\r\n this.state = {\r\n IsEnabled: true\r\n };\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n }\r\n render() {\r\n if (this.state.IsEnabled != null && this.state.IsEnabled) {\r\n return ();\r\n } else {\r\n const content = IsPage ? : null;\r\n return (content);\r\n }\r\n }\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Link, Route } from 'react-router-dom';\r\nimport {\r\n Button,\r\n DatePickerSkeleton,\r\n Table,\r\n Form,\r\n FormGroup,\r\n FormLabel,\r\n TableToolbar,\r\n Pagination,\r\n TextInput,\r\n TableHeader,\r\n TableHead,\r\n TableBody,\r\n TableRow,\r\n TableContainer,\r\n TableCell,\r\n DataTable,\r\n DataTableSkeleton,\r\n Tab,\r\n Search,\r\n ModalWrapper,\r\n Loading,\r\n} from 'carbon-components-react';\r\nimport Add16 from '@carbon/icons-react/lib/add/16';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport Box16 from '@carbon/icons-react/lib/box/16';\r\nimport DocumentExport16 from '@carbon/icons-react/lib/document--export/16';\r\nimport ExportDoc16 from '@carbon/icons-react/lib/document--export/16';\r\nimport FolderDetail16 from '@carbon/icons-react/lib/folder--details/16';\r\nimport Data16 from '@carbon/icons-react/lib/data--1/16';\r\nimport { Download16 } from '@carbon/icons-react/lib/';\r\nimport moment from 'moment';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport {\r\n RenderDataTableCell,\r\n NoRecordsPlaceholder,\r\n} from '../../helpers/jsonschemaform/DataTableExtention';\r\nimport { api } from '../../helpers/api/api';\r\nimport { ComboBox } from '../../helpers/ComboBox';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport { getError, entitiesLabels, apioperation, DateFormat } from '../../helpers/Constants';\r\nimport PageBreadCrumb from '../../helpers/PageBreadCrumb';\r\nimport DateTimePicker from '../../helpers/DateTimePicker';\r\nimport ReportRepository from '../../helpers/api/ReportRepository';\r\nimport { Online } from '../common/OnLineOffLine';\r\nimport FileDownLoadButton from '../common/FileDownloadButton';\r\n\r\nexport default class ReportSummaryList extends Component {\r\n searchProp = () => ({\r\n startDate: null,\r\n endDate: null,\r\n idWorksite: null,\r\n idCompany: null,\r\n idDivision: null,\r\n idProject: null,\r\n idCountry: null,\r\n idSubDivision: null,\r\n idActivity: null,\r\n });\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isOpenFilter: false,\r\n isLoadingList: true, // TODO CAMBIARE\r\n isLoadingOptions: true,\r\n itemList: [],\r\n // filters options\r\n yearsOptions: [],\r\n workSiteOptions: [],\r\n projectOptions: [],\r\n divisionOptions: [],\r\n countryOptions: [],\r\n companyOptions: [],\r\n subDivisionOptions: [],\r\n activityOptions: [],\r\n //ResetFilter\r\n isBack: this.props.history.action === 'POP' || this.props.location.search === '?isBack' ? true: false,\r\n // paging\r\n currentPage: 1,\r\n pageCount: 0,\r\n pageSize: 10,\r\n rowCount: 0,\r\n // filters\r\n workSite: undefined,\r\n project: undefined,\r\n division: undefined,\r\n country: undefined,\r\n company: undefined,\r\n activity: undefined,\r\n subDivision: undefined,\r\n searchModel: {\r\n ...this.searchProp(),\r\n },\r\n };\r\n //this.updateState = this.updateState.bind(this);\r\n }\r\n\r\n handleFilterChange = (filter, selectedItem) => {\r\n const newState = {};\r\n newState[filter] = (selectedItem && selectedItem.id) || null;\r\n this.setState(newState);\r\n };\r\n\r\n\r\n showDivFilter = () => {\r\n this.setState((oldState) => ({ isOpenFilter: !oldState.isOpenFilter }));\r\n };\r\n handleChangeCombo = (inputName, selectedItem, objName) => {\r\n const inputValue = selectedItem ? selectedItem.id : null;\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n statusCopy.isBack =false;\r\n this.setState(statusCopy, );\r\n \r\n };\r\n updateState = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n if (objName === 'searchModel') { statusCopy.isBack = false;}\r\n this.setState(statusCopy);\r\n };\r\n divFiterAudit = (filterItems) =>\r\n this.state.isLoadingOptions ? (\r\n \r\n ) : (\r\n
    \r\n
    \r\n
    \r\n \r\n {this.state.isLoadingDate ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {this.state.isLoadingDate ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n (item ? item.name : '')}\r\n initialSelectedItem={ filterItems.idWorksite}\r\n items={this.state.workSiteOptions}\r\n /> \r\n \r\n
    \r\n
    \r\n \r\n (item ? item.name : '')}\r\n initialSelectedItem={ filterItems.idCompany }\r\n items={this.state.companyOptions}\r\n /> \r\n \r\n
    \r\n
    \r\n \r\n (item ? item.name : '')}\r\n initialSelectedItem={ filterItems.idProject }\r\n items={this.state.projectOptions}\r\n /> \r\n \r\n
    \r\n
    \r\n {/* RITM0945977 */}\r\n {/* */}\r\n \r\n (item ? item.name : '')}\r\n initialSelectedItem={ filterItems.idDivision}\r\n items={this.state.divisionOptions}\r\n /> \r\n \r\n
    \r\n
    \r\n \r\n (item ? item.name : '')}\r\n initialSelectedItem={filterItems.idCountry}\r\n items={this.state.countryOptions}\r\n /> \r\n \r\n
    \r\n
    \r\n {/* RITM0945977 */}\r\n {/* */}\r\n \r\n (item ? item.name : '')}\r\n initialSelectedItem={filterItems.idSubDivision}\r\n items={this.state.subDivisionOptions}\r\n /> \r\n \r\n
    \r\n
    \r\n \r\n (item ? item.name : '')}\r\n initialSelectedItem={filterItems.idActivity}\r\n items={this.state.activityOptions}\r\n /> \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n );\r\n\r\n getReportSummaries =async () => {\r\n let data= null;\r\n if(!this.state.isBack ){\r\n data = {\r\n params: {\r\n page: this.state.currentPage,\r\n pageSize: this.state.pageSize,\r\n ...this.state.searchModel,\r\n },\r\n };\r\n data.params.page = this.state.currentPage; \r\n data.params.pageSize = this.state.pageSize; \r\n }else{ \r\n let filter = await ReportRepository.getBackPaged()\r\n data = {\r\n params: filter?.params\r\n };\r\n //RITM0549692;\r\n if(data.params) data.params.page =1\r\n //\r\n this.setState({\r\n searchModel : filter?.params,\r\n });\r\n\r\n if (this.state.searchModel?.startDate == undefined && this.state.searchModel?.endDate == undefined && this.state.searchModel?.idWorksite == undefined && this.state.searchModel?.idCompany == undefined &&\r\n this.state.searchModel?.idDivision == undefined && this.state.searchModel?.idProject == undefined && this.state.searchModel?.idCountry == undefined && this.state.searchModel?.idSubDivision == undefined &&\r\n this.state.searchModel?.idActivity == undefined) {\r\n this.setState({\r\n isOpenFilter: false,\r\n });\r\n console.log(\"sono tutti null\");\r\n }\r\n else {\r\n this.setState({\r\n isOpenFilter: true,\r\n });\r\n console.log(\"NON sono tutti null\");\r\n }\r\n }\r\n this.getPagedWithfilter(data);\r\n };\r\n handleClickCancelSearch = () => {\r\n \r\n this.setState({\r\n isOpenFilter: false,\r\n isBack:false,\r\n searchModel: {\r\n startDate: null,\r\n endDate: null,\r\n idWorksite: null,\r\n idCompany: null,\r\n idDivision: null,\r\n idProject: null,\r\n idCountry: null,\r\n idSubDivision: null,\r\n idActivity: null,\r\n },\r\n },\r\n );\r\n let params= {\r\n page: 1,\r\n pageSize: 10,\r\n startDate: null,\r\n endDate: null,\r\n idWorksite: null,\r\n idCompany: null,\r\n idDivision: null,\r\n idProject: null,\r\n idCountry: null,\r\n idSubDivision: null,\r\n idActivity: null,\r\n };\r\n this.getPagedWithfilter({ params });\r\n };\r\n getPagedWithfilter = async (data) => {\r\n this.setState({\r\n isLoadingList: true,\r\n });\r\n \r\n api\r\n .getWithParam('/Reports/reportsummaries', data)\r\n .then((response) => {\r\n response.data.itemList.forEach((x) => {\r\n x.start = new Date(x.start).toLocaleDateString();\r\n x.end = new Date(x.end).toLocaleDateString();\r\n });\r\n this.setState({\r\n itemList: response.data.itemList,\r\n pageCount: response.data.pageCount,\r\n rowCount: response.data.rowCount,\r\n // currentPage : response.data?.currentPage ?response.data.currentPage :1 ,\r\n //RITM0549692\r\n currentPage : data.params?.page ,\r\n pageSize : response.data?.pageSize ? response.data.pageSize : 10,\r\n });\r\n ReportRepository.updateReportFilter(data);\r\n ReportRepository.updateReport(data);\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.REPORTSUMMARY, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingList: false,\r\n });\r\n });\r\n };\r\n \r\n getFilterOptions = async () => {\r\n this.setState({\r\n isLoadingOptions: true,\r\n });\r\n try {\r\n const data = (await ReportRepository.getWorkSites()).itemList;\r\n this.setState({\r\n workSiteOptions: data,\r\n });\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.WORKSITE, apioperation.GET));\r\n }\r\n try {\r\n const data = await ReportRepository.getProjects();\r\n this.setState({\r\n projectOptions: data,\r\n });\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.PROJECT, apioperation.GET));\r\n }\r\n try {\r\n const data = await ReportRepository.getDivisions();\r\n this.setState({\r\n divisionOptions: data,\r\n });\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.DIVISION, apioperation.GET));\r\n }\r\n try {\r\n const data = await ReportRepository.getCountry();\r\n this.setState({\r\n countryOptions: data,\r\n });\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.COUNTRY, apioperation.GET));\r\n }\r\n try {\r\n const data = await ReportRepository.getSubDivision();\r\n this.setState({\r\n subDivisionOptions: data,\r\n });\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.SUBDIVISION, apioperation.GET));\r\n }\r\n try {\r\n const data = await ReportRepository.getActivity();\r\n this.setState({\r\n activityOptions: data,\r\n });\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.Activity, apioperation.GET));\r\n }\r\n\r\n try {\r\n const data = await ReportRepository.getCompanies();\r\n this.setState({\r\n companyOptions: data,\r\n });\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.COMPANY, apioperation.GET));\r\n }\r\n this.setState({\r\n isLoadingOptions: false,\r\n });\r\n // const [workSites, projects, divisions, countries, companies] =\r\n // await Promise.all([\r\n // api.getWithParam('/WorkSite', {params: {page: 0 } }),\r\n // api.getWithParam('/Project'),\r\n // api.getWithParam('/Division'),\r\n // api.getWithParam('/Country'),\r\n // api.getWithParam('/Company'),\r\n // ])\r\n // .then(response => {\r\n // return response.map(r => r.data);\r\n // }).catch(error => {\r\n // showNotification.error(getError(error, entitiesLabels.REPORTSUMMARY, apioperation.POST));\r\n\r\n // }).finally(() => {\r\n // this.setState({\r\n // isLoadingOptions: false,\r\n // });\r\n // });\r\n // this.setState({\r\n // workSiteOptions: workSites.itemList.map(w => ({ id: w.id, text: w.name })),\r\n // projectOptions: projects.map(p => ({ id: p.id, text: p.name })),\r\n // divisionOptions: divisions.map(d => ({ id: d.id, text: d.name })),\r\n // countryOptions: countries.map(c => ({ id: c.id, text: c.name })),\r\n // companyOptions: companies.map(c => ({ id: c.id, text: c.name })),\r\n // });\r\n };\r\n\r\n downloadFile() {\r\n if (this.state.isExportLoading) return;\r\n\r\n this.setState({\r\n isExportLoading: true,\r\n });\r\n api\r\n .getWithParam('/reports/excel', { responseType: 'arraybuffer' })\r\n .then((response) => {\r\n // fileDownload(new Blob([response.data]), 'report.xlsx');\r\n const data = new Blob([response.data], {\r\n type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\r\n });\r\n const csvURL = window.URL.createObjectURL(data);\r\n const tempLink = document.createElement('a');\r\n tempLink.href = csvURL;\r\n\r\n const nomefile = `${'Export_Report_'}${moment().format('YYYYMMDDHHmmSS')}.xlsx`;\r\n tempLink.setAttribute('download', nomefile);\r\n\r\n document.body.appendChild(tempLink);\r\n tempLink.click();\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, 'Download File', apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isExportLoading: false,\r\n });\r\n });\r\n }\r\n\r\n handleChangePaging = (e) => {\r\n this.setState(\r\n {\r\n isBack :false,\r\n currentPage: e.page,\r\n pageSize: e.pageSize,\r\n },\r\n () => { this.getReportSummaries()}\r\n );\r\n \r\n };\r\n\r\n // QR Code download handlers\r\n getWorkSiteProjectQrCodeUrl = id => {\r\n const reports = this.state.itemList || [];\r\n const element = reports.find((el) => el.id == id);\r\n return `/worksite/${element.idWorkSite}/project/${element.idProject}/qr-code`;\r\n };\r\n\r\n getWorkSiteProjectQrCodeFileName = id => {\r\n const element = (this.state.itemList || []).find((el) => el.id == id);\r\n return `${element.workSite}_${element.project}_QR Code.pdf`;\r\n };\r\n\r\n onQrCodeDownloadError = error => {\r\n showNotification.error(getError(error, entitiesLabels.WORKSITEPROJECT_QRCODE, apioperation.DOWNLOAD));\r\n this.setState({ isLoadingQrCodeFile: false });\r\n };\r\n\r\n componentDidMount() {\r\n this.getFilterOptions();\r\n this.getReportSummaries();\r\n }\r\n\r\n render() {\r\n const paginationProps = () => ({\r\n page: this.state.currentPage || 1,\r\n totalItems: this.state.rowCount || 0,\r\n pageSize: this.state.pageSize || 10,\r\n pageSizes: [10, 20, 30, 40, 50],\r\n onChange: this.handleChangePaging,\r\n });\r\n const headersDataTable = [\r\n { key: 'start', header: 'Start Date' },\r\n { key: 'end', header: 'End Date' },\r\n { key: 'workSite', header: 'Worksite' },\r\n { key: 'project', header: 'Project' },\r\n //RITM0945977\r\n // { key: 'division', header: 'Division' },\r\n // { key: 'subDivision', header: 'SubDivision' },\r\n { key: 'division', header: 'Business Line' },\r\n { key: 'subDivision', header: 'Sub-Business Line' },\r\n { key: 'activity', header: 'Activity' },\r\n { key: 'country', header: 'Country' },\r\n { key: 'company', header: 'Operating Company/Branch' },\r\n { key: 'countReports', header: 'N° of report' },\r\n ];\r\n const skeletonRowCount =\r\n this.state.rowCount > 0 && this.state.pageSize > this.state.rowCount\r\n ? this.state.rowCount\r\n : this.state.pageSize;\r\n\r\n const filterItems = {\r\n \r\n idWorksite: this.state.searchModel?.idWorksite\r\n ? (this.state.workSiteOptions || []).find((el) => el.id === this.state.searchModel.idWorksite)\r\n : [],\r\n idProject: this.state.searchModel?.idProject\r\n ? (this.state.projectOptions || []).find((el) => el.id === this.state.searchModel.idProject)\r\n : [],\r\n idCompany: this.state.searchModel?.idCompany\r\n ? (this.state.companyOptions || []).find((el) => el.id === this.state.searchModel.idCompany)\r\n : [],\r\n idDivision: this.state.searchModel?.idDivision\r\n ? (this.state.divisionOptions || []).find((el) => el.id === this.state.searchModel.idDivision)\r\n : [],\r\n idCountry: this.state.searchModel?.idCountry\r\n ? (this.state.countryOptions || []).find((el) => el.id === this.state.searchModel.idCountry)\r\n : [],\r\n idSubDivision: this.state.searchModel?.idSubDivision\r\n ? (this.state.subDivisionOptions || []).find((el) => el.id === this.state.searchModel.idSubDivision)\r\n : [],\r\n idActivity: this.state.searchModel?.idActivity\r\n ? (this.state.activityOptions || []).find((el) => el.id === this.state.searchModel.idActivity)\r\n : [],\r\n endDate: this.state.searchModel?.endDate\r\n ? this.state.searchModel?.endDate\r\n : null,\r\n startDate: this.state.searchModel?.startDate\r\n ? this.state.searchModel?.startDate\r\n : null,\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 showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(error, 'Download File', apioperation.GET)\r\n );\r\n }}\r\n className=\"btn-notext\"\r\n iconDescription=\" \"\r\n renderIcon={Download16}\r\n apiUrl=\"/reports/excel\"\r\n fileName={`${'Export_Report_'}${moment().format('YYYYMMDDHHmmSS')}.xlsx`}\r\n onDownLoadStart={() => {\r\n this.setState({\r\n isExportLoading: true,\r\n });\r\n }}\r\n onDownLoadEnd={() => {\r\n this.setState({\r\n isExportLoading: false,\r\n });\r\n }}\r\n >\r\n {!this.state.isExportLoading ? '' : }\r\n \r\n \r\n \r\n \r\n\r\n {!this.state.isOpenFilter ? '' : this.divFiterAudit(filterItems)}\r\n (\r\n \r\n {this.state.isLoadingList ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n {headers.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {rows == null || rows.length == 0 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n {row.cells.map((cell) => (\r\n x.key === cell.info.header)}\r\n />\r\n ))}\r\n\r\n \r\n
    \r\n \r\n \r\n \r\n { this.setState({ isLoadingQrCodeFile: true, }); }}\r\n onDownLoadEnd={() => { this.setState({ isLoadingQrCodeFile: false, }); }}\r\n />\r\n
    \r\n \r\n
    \r\n ))\r\n )}\r\n {!this.state.isLoadingQrCodeFile ? '' : }\r\n
    \r\n
    \r\n )}\r\n
    \r\n )}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n","/* eslint-disable react/prop-types */\r\n/* eslint-disable import/prefer-default-export */\r\n// eslint-disable-next-line no-unused-vars\r\nimport {\r\n ComboBox,\r\n Button,\r\n FormLabel,\r\n DropdownSkeleton,\r\n Loading,\r\n TextArea,\r\n ComposedModal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n FormGroup,\r\n} from 'carbon-components-react';\r\nimport React from 'react';\r\nimport { Offline, Online } from '../common/OnLineOffLine';\r\n\r\nexport const ChangeCompilerModal = (props) => {\r\n const isConfirmButtonDisabled = () => props.approver == null || props.approvalNotes == '' || props.approvalNotes == null;\r\n\r\n return (\r\n false}\r\n >\r\n \r\n\r\n \r\n
    \r\n {props.isLoadingOptions ? (\r\n \r\n ) : (\r\n
    \r\n
    \r\n
    \r\n \r\n Administrator*\r\n \r\n item ? `${item.name} ${item.surname} (${item.email})` : ''\r\n }\r\n itemToElement={(item) =>\r\n item ? `${`${item.name} ${item.surname} (${item.email})`} ` : ''\r\n }\r\n onChange={({ selectedItem }) => props.onApproverSelect(selectedItem)}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Reasons for change*\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.validationMessages.map((e) => (\r\n
    • \r\n {e}\r\n
    • \r\n ))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Confirm\r\n \r\n \r\n \r\n \r\n \r\n \r\n {!props.isLoadingOperation ? null : }\r\n \r\n );\r\n};\r\n","/* eslint-disable react/prop-types */\r\n/* eslint-disable import/prefer-default-export */\r\n// eslint-disable-next-line no-unused-vars\r\nimport {\r\n ComboBox,\r\n Button,\r\n FormLabel,\r\n DropdownSkeleton,\r\n Loading,\r\n ComposedModal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n FormGroup,\r\n} from 'carbon-components-react';\r\nimport React from 'react';\r\nimport { Offline, Online } from '../common/OnLineOffLine';\r\n\r\nexport const ConfirmCompilerModal = (props) => {\r\n const isConfirmButtonDisabled = () => props.approver == null ;\r\n\r\n return (\r\n false}\r\n >\r\n \r\n\r\n \r\n
    \r\n {props.isLoadingOptions ? (\r\n \r\n ) : (\r\n
    \r\n
    \r\n
    \r\n \r\n Old Compiler\r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n Select New Compiler*\r\n \r\n item ? `${item.name} ${item.surname} (${item.email})` : ''\r\n }\r\n itemToElement={(item) =>\r\n item ? `${`${item.name} ${item.surname} (${item.email})`} ` : ''\r\n }\r\n onChange={({ selectedItem }) => props.onApproverSelect(selectedItem)}\r\n />\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.validationMessages.map((e) => (\r\n
    • \r\n {e}\r\n
    • \r\n ))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Confirm\r\n \r\n \r\n \r\n \r\n \r\n \r\n {!props.isLoadingOperation ? null : }\r\n \r\n );\r\n};\r\n","/* eslint-disable react/jsx-one-expression-per-line */\r\n/* eslint-disable class-methods-use-this */\r\n/* eslint-disable react/no-unused-state */\r\nimport React, { Component } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport {\r\n ComboBox,\r\n Button,\r\n FormLabel,\r\n Table,\r\n TableContainer,\r\n DataTableSkeleton,\r\n CodeSnippetSkeleton,\r\n TableToolbar,\r\n TableBody,\r\n TableRow,\r\n TableCell,\r\n FormGroup,\r\n TextInput,\r\n TableSelectRow,\r\n TableHeader,\r\n TableHead,\r\n DataTable,\r\n DropdownSkeleton,\r\n TableToolbarContent,\r\n TableBatchActions,\r\n TableBatchAction,\r\n Loading,\r\n Tabs,\r\n Tab,\r\n} from 'carbon-components-react';\r\nimport '../../scss/custom.scss';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport Collaborate16 from '@carbon/icons-react/lib/collaborate/16';\r\nimport UserAdmin16 from '@carbon/icons-react/lib/user--admin/16';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport { CheckmarkOutline16, Error16, Add16, Send16 } from '@carbon/icons-react/lib';\r\nimport moment from 'moment';\r\nimport { v4 as uuid } from 'uuid';\r\nimport Data16 from '@carbon/icons-react/lib/data--1/16';\r\nimport {\r\n RenderDataTableCell,\r\n NoRecordsPlaceholder,\r\n} from '../../helpers/jsonschemaform/DataTableExtention';\r\nimport { me, api } from '../../helpers/api/api';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport {\r\n getError,\r\n entitiesLabels,\r\n apioperation,\r\n getSuccess,\r\n DateFormat,\r\n} from '../../helpers/Constants';\r\nimport { CanExecuteAction, IsInRole } from '../../helpers/authorization/Policies';\r\nimport { AppContext } from '../../helpers/context/AppContext';\r\nimport PageBreadCrumb from '../../helpers/PageBreadCrumb';\r\nimport { WFActionModal } from '../common/WFActionModal';\r\nimport DateTimePicker from '../../helpers/DateTimePicker';\r\nimport ReportRepository from '../../helpers/api/ReportRepository';\r\nimport { Online, Offline } from '../common/OnLineOffLine';\r\nimport { ChangeCompilerModal } from './ChangeCompilerModal';\r\nimport { ConfirmCompilerModal } from './ConfirmCompilerModal';\r\nimport { element } from 'prop-types';\r\n\r\nexport default class ReportSummary extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isOpenInfo: false,\r\n isOpenInfoDetail: false,\r\n isChangeRequestModalOpen: false,\r\n isConfirmRequestModalOpen: false,\r\n withApprover: true,\r\n approvers: [],\r\n reportSummary: null,\r\n isLoading: true,\r\n compiler:null,\r\n\r\n isLoadingOptions: true,\r\n disciplineOptions: [],\r\n\r\n isReportFormOpen: false,\r\n validationMessages: [],\r\n isSubmitted: false,\r\n\r\n isApprovalModalOpen: false,\r\n approvalModalAction: '',\r\n approver: null,\r\n approvalStartDate: null,\r\n approvalEndDate: null,\r\n approverOptions: [],\r\n isLoadingApproverOptions: true,\r\n approvalValidationMessages: [],\r\n approvalValidationEnabled: false,\r\n withTimeApproval: false,\r\n // Form Ricerca\r\n isOpenFilter: false,\r\n compilerFilter: null,\r\n dataApproverFilter: null,\r\n divisionManagerFilter: null,\r\n codeFilter: this.getHashtag(),\r\n approvalNotes: null,\r\n };\r\n }\r\n\r\n getHashtag = () => {\r\n if (this.props.location?.hash != null && this.props.location.hash.length > 1) {\r\n return decodeURIComponent(this.props.location.hash.substring(1));\r\n }\r\n return null;\r\n };\r\n\r\n handleApprovalStartDateChange = (inputName, inputValue) => {\r\n this.setState({ approvalStartDate: inputValue }, () =>\r\n this.validateApproval(this.state.approvalValidationEnabled)\r\n );\r\n };\r\n\r\n handleApprovalEndDateChange = (inputName, inputValue) => {\r\n this.setState({ approvalEndDate: inputValue }, () =>\r\n this.validateApproval(this.state.approvalValidationEnabled)\r\n );\r\n };\r\n\r\n handleApproverSelect = (selectedItem) => {\r\n this.setState({ approver: selectedItem });\r\n };\r\n\r\n handleCloseApprovalModal = () => {\r\n this.setState({ isApprovalModalOpen: false }, this.clearApprovalForm);\r\n };\r\n\r\n handleCloseChangeCompilerModal = () => {\r\n this.setState({ isChangeRequestModalOpen: false }, this.clearChangeCompilerForm);\r\n };\r\n handleCloseConfirmCompilerModal = () => {\r\n this.setState({ isConfirmRequestModalOpen: false }, this.clearChangeCompilerForm);\r\n };\r\n\r\n handleApprovalNotesChange = (e) => {\r\n this.setState({ approvalNotes: e.target.value });\r\n };\r\n\r\n clearChangeCompilerForm = () => {\r\n this.setState({ approvalNotes: '', approver: null });\r\n };\r\n handleConfirmCompilerModal = () => {\r\n const data = {\r\n ids: this.state.selectedData.map((r) => r.id),\r\n owner: this.state.approver,\r\n workflowNotes: this.state.approvalNotes, \r\n };\r\n\r\n this.setState({\r\n isLoadingWFOperation: true,\r\n });\r\n api\r\n .put(`/reports/confirmCompiler/`, data, data.ids) \r\n .then((response) => {\r\n if (response.status === 200) {\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.REPORT, apioperation.PUT)\r\n );\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n isConfirmRequestModalOpen: false,\r\n // isLoading: true,\r\n // itemList: []\r\n });\r\n this.getReportSummary();\r\n } else {\r\n showNotification.error();\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, error.response, 'ERROR')\r\n );\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n })\r\n .finally(() => {});\r\n };\r\n\r\n handleChangeCompilerModal = () => {\r\n const data = {\r\n ids: this.state.selectedData.map((r) => r.id),\r\n owner: this.state.approver,\r\n workflowNotes: this.state.approvalNotes, \r\n };\r\n\r\n this.setState({\r\n isLoadingWFOperation: true,\r\n });\r\n api\r\n .put(`/reports/changeCompiler/`, data, data.ids) \r\n .then((response) => {\r\n if (response.status === 200) {\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.REPORT, apioperation.PUT)\r\n );\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n isChangeRequestModalOpen: false,\r\n // isLoading: true,\r\n // itemList: []\r\n });\r\n this.getReportSummary();\r\n } else {\r\n showNotification.error();\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, error.response, 'ERROR')\r\n );\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n })\r\n .finally(() => {});\r\n };\r\n\r\n handleYearSelect = (selectedItem) => {\r\n this.setState({\r\n year: selectedItem.selectedItem ? parseInt(selectedItem.selectedItem, '10') : null,\r\n });\r\n };\r\n\r\n handleMonthSelect = (selectedItem) => {\r\n this.setState({ month: selectedItem.selectedItem ? selectedItem.selectedItem.id : null });\r\n };\r\n\r\n handleTrimesterSelect = ({ selectedItem }) => {\r\n // console.log('handleTrimesterSelect', selectedItem);\r\n this.setState({ trimester: selectedItem ? selectedItem.id : null });\r\n };\r\n\r\n handleCloseApprovalModal = () => {\r\n this.setState({ isApprovalModalOpen: false }, this.clearApprovalForm);\r\n };\r\n\r\n validateIntervalCoverage = (reports, report, end) => {\r\n if (report.end >= end) return true;\r\n const interleavedReports = reports.filter((r) => {\r\n let reportEnd = report.end;\r\n // Object.assign(reportEnd, report.end);\r\n // reportEnd.setDate(reportEnd.getDate() + 1);\r\n reportEnd = moment(reportEnd).add(1, 'days').valueOf();\r\n return r.start <= reportEnd && r.end > report.end;\r\n });\r\n if (interleavedReports.length === 0) return false;\r\n const latestInterleavedReport = interleavedReports.filter(\r\n (r) => r.end === Math.max(...interleavedReports.map((r) => r.end))\r\n )[0];\r\n return this.validateIntervalCoverage(reports, latestInterleavedReport, end);\r\n };\r\n\r\n validateApproval = (isValidationEnabled) => {\r\n if (!isValidationEnabled) return true;\r\n const validationMessages = [];\r\n\r\n\r\n const selectedReportIds = this.state.selectedData.map((r) => r.id);\r\n\r\n const reportsFiltered = this.state.reportSummary.reports.filter((r) =>\r\n selectedReportIds.includes(r.id)\r\n );\r\n\r\n if (this.state.approvalTimeIntervalType === 'month') {\r\n\r\n const sortedObj = {};\r\n reportsFiltered.forEach(e => { // loop over all selected reports\r\n const k = e.start.slice(0, 7); // key in YYYY-MM (e.g. 2019-10)\r\n const fk = `${k}-01`; // key with appended '-01' \r\n sortedObj[fk] = sortedObj[fk] || []; // create new entry if no value for key exists\r\n sortedObj[fk].push(e); // add key to existing list\r\n });\r\n\r\n const sortedArr = Object.entries(sortedObj).sort((a, b) => new Date(a[0]) - new Date(b[0]));\r\n\r\n for (var i = 0; i < sortedArr.length; i++) {\r\n var minDate = Math.min(...sortedArr[i][1].map((e) => new Date(e.start)));\r\n var maxDate = Math.max(...sortedArr[i][1].map((e) => new Date(e.end)));\r\n\r\n var validationDate = new Date(sortedArr[i][0]) //start of the month date\r\n var d1 = new Date(validationDate.getUTCFullYear(), validationDate.getUTCMonth() + 1, 0); //end of the month date\r\n var d = d1.setMinutes(d1.getMinutes() - d1.getTimezoneOffset()); //to manage different time zone\r\n if (minDate > validationDate || maxDate < d) {\r\n validationMessages.push('Reports do not completely cover date interval');\r\n break;\r\n }\r\n }\r\n } else if (this.state.approvalTimeIntervalType === 'trimester') {\r\n const sortedObj = {};\r\n reportsFiltered.forEach(e => { // loop over all selected reports\r\n const k = e.start.slice(0, 4); // key in YYYY\r\n let fk;\r\n if(new Date (e.start).getUTCMonth()<=2){\r\n fk = `${k}-firstTrimester`; //key with appended semester\r\n }\r\n else if (new Date (e.start).getUTCMonth() <= 5){\r\n fk = `${k}-secondTrimester`; //key with appended semester\r\n } \r\n else if (new Date (e.start).getUTCMonth() <= 8){\r\n fk = `${k}-thirdTrimester`; //key with appended semester\r\n } \r\n else if (new Date (e.start).getUTCMonth() <= 11){\r\n fk = `${k}-fourthTrimester`; //key with appended semester\r\n } \r\n sortedObj[fk] = sortedObj[fk] || []; // create new entry if no value for key exists\r\n sortedObj[fk].push(e); // add key to existing list\r\n });\r\n\r\n\r\n const sortedArr = Object.entries(sortedObj); \r\n for (var i = 0; i < sortedArr.length; i++) {\r\n var minDate = Math.min(...sortedArr[i][1].map((e) => new Date(e.start)));\r\n var maxDate = Math.max(...sortedArr[i][1].map((e) => new Date(e.end)));\r\n\r\n if(new Date (sortedArr[i][1][0].start).getUTCMonth()<=2){\r\n validationDate=new Date(sortedArr[i][1][0].start.slice(0, 4) + \"-01-01\");\r\n }\r\n else if (new Date (sortedArr[i][1][0].start).getUTCMonth() <= 5){\r\n validationDate= new Date(sortedArr[i][1][0].start.slice(0, 4) + \"-04-01\");\r\n } \r\n else if (new Date (sortedArr[i][1][0].start).getUTCMonth() <= 8){\r\n validationDate= new Date( sortedArr[i][1][0].start.slice(0, 4) + \"-07-01\");\r\n } \r\n else if (new Date (sortedArr[i][1][0].start).getUTCMonth() <= 11){\r\n validationDate= new Date(sortedArr[i][1][0].start.slice(0, 4) + \"-10-01\");\r\n } \r\n var d1 = new Date(validationDate.getUTCFullYear(), validationDate.getUTCMonth() + 3, 0); //end of trimester date\r\n var d = d1.setMinutes(d1.getMinutes() - d1.getTimezoneOffset()); //to manage different time zone\r\n if (minDate > validationDate || maxDate < d) {\r\n validationMessages.push('Reports do not completely cover date interval');\r\n break;\r\n }\r\n }\r\n\r\n }\r\n this.setState({\r\n approvalValidationMessages: validationMessages,\r\n });\r\n return validationMessages.length === 0;\r\n };\r\n\r\n handleConfirmApprovalModal = () => {\r\n if (!this.validateApproval(this.state.approvalValidationEnabled)) {\r\n return;\r\n }\r\n\r\n const action = this.state.approvalModalAction.toLowerCase();\r\n const apiEndpoint = this.state.approvalEndpoint;\r\n const data = {\r\n ids: this.state.selectedData.map((r) => r.id),\r\n owner: this.state.approver,\r\n workflowNotes: this.state.approvalNotes,\r\n month: this.state.approvalTimeIntervalType === 'month' ? this.state.month : 0,\r\n trimester: this.state.approvalTimeIntervalType === 'trimester' ? this.state.trimester : 0,\r\n year: this.state.year,\r\n };\r\n this.setState({\r\n isLoadingWFOperation: true,\r\n });\r\n api\r\n .put(`/reports/${apiEndpoint}/`, data, '')\r\n .then((response) => {\r\n if (response.status === 200) {\r\n this.getReportSummary();\r\n this.clearApprovalForm();\r\n this.handleCloseApprovalModal();\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.REPORT, apioperation.PUT)\r\n );\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.REPORT, apioperation.PUT)\r\n );\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n });\r\n };\r\n\r\n clearApprovalForm = () => {\r\n this.setState({\r\n approvalStartDate: null,\r\n approvalEndDate: null,\r\n approver: null,\r\n approvalValidationMessages: [],\r\n approvalValidationEnabled: false,\r\n });\r\n };\r\n\r\n showDivInfo = () => {\r\n this.setState((oldState) => ({ isOpenInfo: !oldState.isOpenInfo }));\r\n };\r\n\r\n showDivInfoDetail = () => {\r\n this.setState((oldState) => ({ isOpenInfoDetail: !oldState.isOpenInfoDetail }));\r\n };\r\n\r\n toggleDivCreateReport = () => {\r\n this.setState((oldState) => ({ isReportFormOpen: !oldState.isReportFormOpen }));\r\n this.clearNewReportForm();\r\n this.setState({\r\n validationMessages: [],\r\n });\r\n };\r\n\r\n renderLoadingModal = () => {\r\n const show = this.state.isSubmitted;\r\n return show && ;\r\n };\r\n\r\n divFormReport = () => (\r\n
    \r\n
    \r\n
    \r\n

    Add new Report

    {' '}\r\n
    \r\n
    \r\n
    \r\n Discipline\r\n {this.state.isLoadingOptions ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n itemToElement={(item) => (item ? `${item.name} ` : '')}\r\n onChange={({ selectedItem }) => this.handleDisciplineChange(selectedItem)}\r\n />\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Start Date\r\n\r\n \r\n
    \r\n
    \r\n End Date\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
      \r\n {this.state.validationMessages.map((e) => (\r\n
    • {e}
    • \r\n ))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n\r\n \r\n Create\r\n \r\n
    \r\n
    \r\n\r\n {this.renderLoadingModal()}\r\n
    \r\n );\r\n\r\n divInfo() {\r\n return (\r\n this.state.reportSummary && (\r\n
    \r\n
    \r\n
    \r\n
    Main Info
    \r\n
    \r\n
    \r\n
    \r\n
    Worksite:
    {' '}\r\n
    {this.state.reportSummary.workSite}
    {' '}\r\n
    \r\n
    \r\n
    Project:
    {' '}\r\n
    {this.state.reportSummary.project}
    \r\n
    \r\n
    \r\n
    Activity:
    {' '}\r\n
    {this.state.reportSummary.activity}
    {' '}\r\n
    \r\n
    \r\n
    Country:
    {' '}\r\n
    {this.state.reportSummary.country}
    \r\n
    \r\n
    \r\n {/* RITM0945977 */}\r\n {/*
    Current worksite division:
    */}\r\n
    Current worksite business line:
    \r\n
    {this.state.reportSummary.division}
    \r\n
    \r\n
    \r\n {/* RITM0945977 */}\r\n {/*
    Current worksite subdivision:
    */}\r\n
    Current worksite sub-business line:
    \r\n
    {this.state.reportSummary.subDivision}
    \r\n
    \r\n
    \r\n
    Overall Prj Worked Manhours:
    \r\n {this.state.reportSummary.overallProjectWorkedManhours}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Operating Company/Branch:
    \r\n
    {this.state.reportSummary.company}
    \r\n
    \r\n
    \r\n
    Overall Worksite Worked Manhours:
    \r\n {this.state.reportSummary.overallWorksiteWorkedManhours}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Start/End Date:
    \r\n
    \r\n {moment.utc(this.state.reportSummary.start).local().format('DD/MM/YYYY')}-\r\n {moment.utc(this.state.reportSummary.end).local().format('DD/MM/YYYY')}\r\n
    \r\n
    \r\n
    \r\n
    Prj/Activity Worked Manhours:
    \r\n {this.state.reportSummary.prjActivityWorkedManhours}\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n );\r\n }\r\n\r\n divInfoDetail() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    Country:
    \r\n
    Kazakhstan
    \r\n
    \r\n
    \r\n
    Overall Prj Worked Manhours:
    0\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Operating Company/Branch:
    \r\n
    ERSAI Caspian Contractor Llc
    \r\n
    \r\n
    \r\n
    Overall Worksite Worked Manhours:
    0\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Reference year:
    \r\n
    2019
    \r\n
    \r\n
    \r\n
    Client:
    #N/A#\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n handleDisciplineChange = (selectedItem) => {\r\n this.setState({\r\n newReportDiscipline: selectedItem && selectedItem.id,\r\n newReportDisciplineName: selectedItem && selectedItem.name,\r\n });\r\n };\r\n\r\n handleStartDateChange = (inputName, inputValue) => {\r\n this.setState({ newReportStart: inputValue });\r\n };\r\n\r\n handleEndDateChange = (inputName, inputValue) => {\r\n this.setState({ newReportEnd: inputValue });\r\n };\r\n\r\n isCreateButtonDisabled = () =>\r\n this.state.newReportDiscipline == null ||\r\n this.state.newReportStart == null ||\r\n this.state.newReportEnd == null ||\r\n this.state.isSubmitted === true;\r\n\r\n clearNewReportForm = () => {\r\n this.setState({\r\n newReportStart: null,\r\n newReportEnd: null,\r\n newReportDiscipline: null,\r\n newReportDisciplineName: null,\r\n validationmessages: [],\r\n });\r\n };\r\n\r\n getYearQuarter(date) {\r\n const month = date.getUTCMonth() + 1;\r\n return Math.ceil(month / 3);\r\n }\r\n\r\n handleCreateReport = () => {\r\n const monthOffset = this.state.newReportDisciplineName === 'Safety' ? 0 : 2;\r\n // console.log(this.state);\r\n const validationMessages = [];\r\n if (new Date(this.state.newReportStart) > new Date(this.state.newReportEnd)) {\r\n validationMessages.push('Start date must precede end date');\r\n }\r\n if (\r\n new Date(this.state.newReportStart) < new Date(this.state.reportSummary.start) ||\r\n new Date(this.state.newReportEnd) > new Date(this.state.reportSummary.end)\r\n ) {\r\n validationMessages.push('Report period must be within report summary period');\r\n }\r\n if (\r\n new Date(this.state.newReportEnd).getUTCMonth() >\r\n new Date(this.state.newReportStart).getUTCMonth() + monthOffset ||\r\n (this.state.newReportDisciplineName === 'Safety'\r\n ? new Date(this.state.newReportStart).getUTCMonth() !==\r\n new Date(this.state.newReportEnd).getUTCMonth()\r\n : this.getYearQuarter(new Date(this.state.newReportStart)) !==\r\n this.getYearQuarter(new Date(this.state.newReportEnd)))\r\n ) {\r\n validationMessages.push(\r\n `Report period must be within the period related to ${this.state.newReportDisciplineName} discipline`\r\n );\r\n }\r\n if (\r\n this.state.reportSummary.reports\r\n .filter((r) => r.discipline === this.state.newReportDisciplineName)\r\n .some(\r\n (r) =>\r\n new Date(r.start) <= new Date(this.state.newReportEnd) &&\r\n new Date(r.end) >= new Date(this.state.newReportStart)\r\n )\r\n ) {\r\n validationMessages.push(\r\n `There are already one or more ${this.state.newReportDisciplineName} reports in the specified period`\r\n );\r\n }\r\n\r\n this.setState({\r\n validationMessages,\r\n });\r\n if (validationMessages.length > 0) {\r\n return;\r\n }\r\n this.setState({\r\n isSubmitted: true,\r\n });\r\n const newReport = {\r\n id: uuid(),\r\n start: this.state.newReportStart,\r\n end: this.state.newReportEnd,\r\n idReportDiscipline: this.state.newReportDiscipline,\r\n\r\n idReportSummary: this.props.match.params.idReportSummary,\r\n };\r\n api\r\n .post('reports', newReport)\r\n .then(async (response) => {\r\n if (response.status === 200) {\r\n const summary = this.state.reportSummary;\r\n newReport.idStatus = 1;\r\n newReport.status = 'Opened';\r\n newReport.discipline = this.state.newReportDisciplineName;\r\n newReport.compiledBy = `${this.context.user.name} ${this.context.user.surname}`;\r\n summary.reports.push(newReport);\r\n await ReportRepository.updateCachedReportList(summary);\r\n await ReportRepository.updateReportDetail(newReport);\r\n this.setState({\r\n isLoading: true,\r\n reportSummary: summary,\r\n });\r\n this.getReportSummary();\r\n this.clearNewReportForm();\r\n this.setState({\r\n isReportFormOpen: false,\r\n });\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.REPORT, apioperation.POST)\r\n );\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.REPORT, apioperation.POST)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isSubmitted: false,\r\n });\r\n });\r\n };\r\n\r\n getReportSummary = () => {\r\n api\r\n .get('reports/reportsummaries/', this.props.match.params.idReportSummary)\r\n .then((response) => {\r\n // response.data.start = moment.utc(response.data.start).local().format(\"MM/DD/YYYY\");\r\n // response.data.end = moment.utc(response.data.end).local().format(\"MM/DD/YYYY\");\r\n // response.data.reports.forEach(x => {\r\n // x.start = moment.utc(x.start).local().format(\"MM/DD/YYYY\");\r\n // x.end = moment.utc(x.end).local().format(\"MM/DD/YYYY\");\r\n // });\r\n this.setState({\r\n reportSummary: response.data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.REPORTSUMMARY, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {\r\n if(this.state.codeFilter)\r\n {\r\n this.setState({\r\n isLoading: false,\r\n isOpenFilter:true,\r\n });\r\n }else {\r\n this.setState({\r\n isLoading: false,\r\n });\r\n }\r\n });\r\n };\r\n\r\n getDisciplineOptions = () => {\r\n api\r\n .getAll(`reports/disciplines/${this.props.match.params.idReportSummary}`)\r\n .then((response) => {\r\n this.setState({\r\n disciplineOptions: response.data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.DISCIPLINE, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingOptions: false,\r\n });\r\n });\r\n };\r\n\r\n getUsersInRole = (role, idEntity) => {\r\n if (idEntity) {\r\n api.getWithParam('/reports/getreportusersbyrole', {\r\n params: { Role: role, IdEntity: idEntity, includeAdmins: true },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n approvers: response.data,\r\n isLoadingApproverOptions: false,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.ROLE, apioperation.POST)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingApproverOptions: false,\r\n });\r\n });\r\n }\r\n };\r\n batchActionClick(\r\n actionKey,\r\n actionName,\r\n approverRole,\r\n withApprover,\r\n approvalNotesRequired,\r\n withTimeApproval,\r\n approvalValidationEnabled,\r\n selectedRows\r\n ) {\r\n const { reportSummary } = this.state;\r\n\r\n const idEntity =\r\n actionKey === 'Submit'\r\n ? reportSummary.idWorkSite\r\n : actionKey === 'Approve'\r\n ? reportSummary.idDivision\r\n : null;\r\n\r\n const approvalTimeIntervalType =\r\n this.state.reportSummary.reports\r\n .find((i) => i.id === selectedRows[0].id)\r\n .discipline.toLowerCase() === 'safety'\r\n ? 'month'\r\n : 'trimester';\r\n\r\n this.setState({\r\n approvalModalAction: actionName,\r\n isApprovalModalOpen: true,\r\n isLoadingApproverOptions: true,\r\n selectedData: selectedRows,\r\n withApprover,\r\n approverRole,\r\n approvalEndpoint: actionKey,\r\n approvalNotesRequired,\r\n withTimeApproval,\r\n approvalTimeIntervalType,\r\n approvalValidationEnabled,\r\n });\r\n\r\n if (withApprover) this.getUsersInRole(approverRole, idEntity);\r\n }\r\n changeCompilerActionClick(selectedRows) {\r\n const idEntity = this.state.reportSummary.idDivision;\r\n\r\n this.setState({\r\n isChangeRequestModalOpen: true,\r\n isLoadingApproverOptions: true,\r\n selectedData: selectedRows,\r\n });\r\n\r\n this.getUsersInRole('Administrator', idEntity);\r\n }\r\n confirmCompilerActionClick(selectedRows) {\r\n const idEntity = this.state.reportSummary.idDivision;\r\n const r = this.state.reportSummary.reports.find((el) => el.id === selectedRows[0].id);\r\n this.setState({\r\n isConfirmRequestModalOpen: true,\r\n isLoadingApproverOptions: true,\r\n selectedData: selectedRows,\r\n compiler: r.compiler,\r\n });\r\n\r\n this.getUsersInRole('Compiler', idEntity);\r\n }\r\n confirmChangeCompilerRequest = (idRow, user) => {\r\n const r = this.state.reportSummary.reports.find((el) => el.id === idRow);\r\n return r && r.changesRequests != null && r.changesRequests.idUserRequestTo === user.id && r.changesRequests.requestComplete === false ;\r\n };\r\n isRequestChangeCompilerPending = (idRow) => {\r\n const r = this.state.reportSummary.reports.find((el) => el.id === idRow);\r\n if(r.idCompiler == this.context.user.id || this.context.user.roles.find((role) => role.includes('Administrator')))\r\n {return (r && r.changesRequests != null ) && r.changesRequests.requestComplete==false;\r\n }else return true\r\n };\r\n\r\n isReportCompiler = (idRow) => {\r\n const r = this.state.reportSummary.reports.find((el) => el.id === idRow);\r\n if(r.idCompiler == this.context.user.id)\r\n {return r.compiler\r\n }else return false\r\n };\r\n getStatuses = () => {\r\n ReportRepository.getStatus()\r\n .then((response) => {\r\n this.setState({\r\n statuses: response,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.STATUS, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingOptions: false,\r\n });\r\n });\r\n };\r\n\r\n handleApprovalNotesChange = (e) => {\r\n this.setState({ approvalNotes: e.target.value });\r\n };\r\n\r\n componentDidMount() {\r\n this.getReportSummary();\r\n this.getDisciplineOptions();\r\n this.getStatuses();\r\n }\r\n\r\n getReport = (selectedRows) => {\r\n if (this.state.reportSummary && this.state.reportSummary.reports) {\r\n if (selectedRows && selectedRows.length > 0) {\r\n return this.state.reportSummary.reports.find((el) => el.id === selectedRows[0].id);\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n getStatusId = (idRow) => {\r\n const r = this.state.reportSummary.reports.find((el) => el.id === idRow);\r\n\r\n return r && r.idStatus;\r\n };\r\n\r\n IsRowSelectable(row, selectedRows, user) {\r\n var row = this.state.reportSummary.reports.find((i) => i.id === row.id);\r\n\r\n if (row.status === 'Consolidated') return false;\r\n\r\n if (selectedRows.length === 0) {\r\n return true;\r\n }\r\n\r\n if (selectedRows.length > 0) {\r\n const selectableReport = this.state.reportSummary.reports.find(\r\n (i) => i.id === selectedRows[0].id\r\n );\r\n\r\n const selectableState = selectableReport.idStatus;\r\n const selectableDiscipline = selectableReport.discipline;\r\n\r\n if (row.idStatus === selectableState && row.discipline === selectableDiscipline) {\r\n const canSelect =\r\n CanExecuteAction('Report', 'Reporting', user, row.idStatus, 'Submit', row) ||\r\n CanExecuteAction('Report', 'Reporting', user, row.idStatus, 'Approve', row) ||\r\n CanExecuteAction('Report', 'Reporting', user, row.idStatus, 'Consolidate', row) ||\r\n CanExecuteAction('Report', 'Reporting', user, row.idStatus, 'Reject', row) ||\r\n CanExecuteAction('Report', 'Reporting', user, row.idStatus, 'RejectConsolidate', row) ||\r\n CanExecuteAction('Report', 'Reporting', user, row.idStatus, 'Delete', row);\r\n return canSelect;\r\n // return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /** ***********Form Ricerca******************* */\r\n toggleSearchForm = (e) => {\r\n // ope and clear filter div\r\n e.preventDefault();\r\n this.setState((oldState) => ({\r\n isOpenFilter: !oldState.isOpenFilter,\r\n compilerFilter: null,\r\n dataApproverFilter: null,\r\n divisionManagerFilter: null,\r\n // codeFilter: null,\r\n }));\r\n };\r\n\r\n handleChangeSearch = (el) => {\r\n const inputName = el.target.name;\r\n const inputValue = el.target.value;\r\n\r\n this.setState({ [inputName]: inputValue });\r\n };\r\n\r\n divFiterReport = () => (\r\n
    \r\n \r\n Report Code\r\n \r\n \r\n\r\n \r\n Email Compiler\r\n \r\n \r\n\r\n \r\n Email Data Approver\r\n \r\n \r\n\r\n \r\n Email Consolidator\r\n \r\n \r\n
    \r\n );\r\n\r\n buildFilter = (reports) => {\r\n let filtered = reports;\r\n\r\n filtered = this.state.compilerFilter\r\n ? filtered.filter((item) => item.compiler?.includes(this.state.compilerFilter))\r\n : filtered;\r\n\r\n filtered = this.state.dataApproverFilter\r\n ? filtered.filter((item) => item.dataApprover?.includes(this.state.dataApproverFilter))\r\n : filtered;\r\n\r\n filtered = this.state.divisionManagerFilter\r\n ? filtered.filter((item) => item.divisionManager?.includes(this.state.divisionManagerFilter))\r\n : filtered;\r\n\r\n filtered = this.state.codeFilter\r\n ? filtered.filter((item) => item.reportCode?.includes(this.state.codeFilter))\r\n : filtered;\r\n return filtered;\r\n };\r\n\r\n render() {\r\n const headersDataTable = [\r\n { key: 'reportCode', header: 'Code ' },\r\n { key: 'start', header: 'Start Date ', type: 'date' },\r\n { key: 'end', header: 'End Date ', type: 'date' },\r\n\r\n { key: 'status', header: 'Status', type: 'status' },\r\n ];\r\n\r\n const reports =\r\n this.state.reportSummary &&\r\n this.buildFilter(this.state.reportSummary.reports.map((r) => ({ ...r })));\r\n \r\n /* reports && reports.forEach(x => {\r\n x.start = moment.utc(x.start).local().format(\"DD/MM/YYYY\");\r\n x.end = moment.utc(x.end).local().format(\"DD/MM/YYYY\");\r\n }) */\r\n const skeletonRowCount =\r\n this.state.rowCount > 0 && this.state.pageSize > this.state.rowCount\r\n ? this.state.rowCount\r\n : this.state.pageSize;\r\n return (\r\n \r\n {({ user }) => (\r\n <>\r\n \r\n
    \r\n
    \r\n {this.state.isLoading ? (\r\n \r\n ) : (\r\n <>{this.divInfo()}\r\n )}\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n {' '}\r\n Available report(s){' '}\r\n
    \r\n \r\n\r\n {IsInRole(user, 'Administrator') || IsInRole(user, 'Compiler') ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n {}}\r\n role=\"navigation\"\r\n selected={0}\r\n tabContentClassName=\"auditReportTab\"\r\n triggerHref=\"#\"\r\n type=\"default\"\r\n >\r\n {}}\r\n onKeyDown={() => {}}\r\n role=\"presentation\"\r\n selected={false}\r\n tabIndex={0}\r\n >\r\n {' '}\r\n {this.state.isOpenFilter && this.divFiterReport()}\r\n el.discipline === 'Safety')}\r\n headers={headersDataTable}\r\n useZebraStyles\r\n size=\"compact\"\r\n render={({\r\n rows,\r\n headers,\r\n getHeaderProps,\r\n getRowProps,\r\n getSelectionProps,\r\n selectedRows,\r\n getBatchActionProps,\r\n }) => (\r\n \r\n {selectedRows.length > 0 ? (\r\n \r\n \r\n \r\n \r\n {CanExecuteAction(\r\n 'Report',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Submit',\r\n this.getReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Submit',\r\n 'Submit',\r\n 'Data Approver',\r\n true,\r\n false,\r\n true,\r\n true,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Submit Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Report',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Approve',\r\n this.getReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Approve',\r\n 'Approve',\r\n 'Division Manager',\r\n true,\r\n false,\r\n true,\r\n true,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Approve Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Report',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Consolidate',\r\n this.getReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Consolidate',\r\n 'Approve',\r\n null,\r\n false,\r\n false,\r\n true,\r\n true,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Approve Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Report',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Reject',\r\n this.getReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Reject',\r\n 'Reject',\r\n null,\r\n false,\r\n true,\r\n true,\r\n true,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Reject Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Report',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'RejectConsolidate',\r\n this.getReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'RejectConsolidate',\r\n 'Reject',\r\n null,\r\n false,\r\n true,\r\n true,\r\n true,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Reject Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Report',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Delete',\r\n this.getReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Delete',\r\n 'Delete',\r\n null,\r\n false,\r\n false,\r\n false,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Delete Report\r\n \r\n ) : 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 {this.state.isLoading ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n {headers.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n \r\n {this.IsRowSelectable(row, selectedRows, user) ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n {this.IsRowSelectable(row, selectedRows, user) ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {row.cells.map((cell) => (\r\n x.key === cell.info.header)}\r\n />\r\n ))}\r\n\r\n \r\n
    \r\n r.id === row.id\r\n ).discipline\r\n }/${row.id}`}\r\n >\r\n \r\n \r\n \r\n {this.confirmChangeCompilerRequest(row.id, user) &&\r\n IsInRole(user, 'Administrator') && (\r\n this.confirmCompilerActionClick([].concat(row))}\r\n size=\"small\"\r\n renderIcon={UserAdmin16}\r\n title=\"Confirm New Compiler\"\r\n iconDescription=\"Confirm New Compiler\"\r\n kind=\"ghost\"\r\n />\r\n )}\r\n { !this.isRequestChangeCompilerPending(row.id) &&(\r\n this.changeCompilerActionClick([].concat(row))}\r\n size=\"small\"\r\n renderIcon={Collaborate16}\r\n title=\"Request Change Compiler\"\r\n iconDescription=\"Request Change Compiler\"\r\n kind=\"ghost\"\r\n /> \r\n )}\r\n {this.isRequestChangeCompilerPending(row.id) &&\r\n this.isReportCompiler(row.id) &&\r\n !this.confirmChangeCompilerRequest(row.id, user) &&\r\n (\r\n this.changeCompilerActionClick([].concat(row))}\r\n size=\"small\"\r\n renderIcon={Collaborate16}\r\n title=\"Request Pending\"\r\n iconDescription=\"Request Pending\"\r\n kind=\"ghost\"\r\n disabled={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 onKeyDown={() => {}}\r\n role=\"presentation\"\r\n selected={false}\r\n tabIndex={0}\r\n >\r\n {' '}\r\n {this.state.isOpenFilter && this.divFiterReport()}\r\n el.discipline === 'Environment')}\r\n headers={headersDataTable}\r\n useZebraStyles\r\n size=\"compact\"\r\n render={({\r\n rows,\r\n headers,\r\n getHeaderProps,\r\n getRowProps,\r\n getSelectionProps,\r\n selectedRows,\r\n getBatchActionProps,\r\n }) => (\r\n \r\n {selectedRows.length > 0 ? (\r\n \r\n \r\n \r\n \r\n {CanExecuteAction(\r\n 'Report',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Submit',\r\n this.getReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Submit',\r\n 'Submit',\r\n 'Data Approver',\r\n true,\r\n false,\r\n true,\r\n true,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Submit Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Report',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Approve',\r\n this.getReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Approve',\r\n 'Approve',\r\n 'Division Manager',\r\n true,\r\n false,\r\n true,\r\n true,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Approve Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Report',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Consolidate',\r\n this.getReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Consolidate',\r\n 'Approve',\r\n null,\r\n false,\r\n false,\r\n true,\r\n true,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Approve Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Report',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Reject',\r\n this.getReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Reject',\r\n 'Reject',\r\n null,\r\n false,\r\n true,\r\n true,\r\n true,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Reject Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Report',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'RejectConsolidate',\r\n this.getReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'RejectConsolidate',\r\n 'Reject',\r\n null,\r\n false,\r\n true,\r\n true,\r\n true,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Reject Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Report',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Delete',\r\n this.getReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Delete',\r\n 'Delete',\r\n null,\r\n false,\r\n false,\r\n false,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Delete Report\r\n \r\n ) : 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 {this.state.isLoading ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n {headers.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n \r\n {this.IsRowSelectable(row, selectedRows, user) ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n {this.IsRowSelectable(row, selectedRows, user) ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {row.cells.map((cell) => (\r\n x.key === cell.info.header)}\r\n />\r\n ))}\r\n\r\n \r\n
    \r\n r.id === row.id\r\n ).discipline\r\n }/${row.id}`}\r\n >\r\n \r\n \r\n \r\n {this.confirmChangeCompilerRequest(row.id, user) &&\r\n IsInRole(user, 'Administrator') && (\r\n this.confirmCompilerActionClick([].concat(row))}\r\n size=\"small\"\r\n renderIcon={UserAdmin16}\r\n title=\"Confirm New Compiler\"\r\n iconDescription=\"Confirm New Compiler\"\r\n kind=\"ghost\"\r\n />\r\n )}\r\n { !this.isRequestChangeCompilerPending(row.id) && (\r\n this.changeCompilerActionClick([].concat(row))}\r\n size=\"small\"\r\n renderIcon={Collaborate16}\r\n title=\"Request Change Compiler\"\r\n iconDescription=\"Request Change Compiler\"\r\n kind=\"ghost\"\r\n />\r\n )}\r\n {this.isRequestChangeCompilerPending(row.id) &&\r\n this.isReportCompiler(row.id) &&\r\n !this.confirmChangeCompilerRequest(row.id, user) &&\r\n (\r\n this.changeCompilerActionClick([].concat(row))}\r\n size=\"small\"\r\n renderIcon={Collaborate16}\r\n title=\"Request Pending\"\r\n iconDescription=\"Request Pending\"\r\n kind=\"ghost\"\r\n disabled={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 onKeyDown={() => {}}\r\n role=\"presentation\"\r\n selected={false}\r\n tabIndex={0}\r\n >\r\n {' '}\r\n {this.state.isOpenFilter && this.divFiterReport()}\r\n el.discipline === 'Asset Integrity')}\r\n headers={headersDataTable}\r\n useZebraStyles\r\n size=\"compact\"\r\n render={({\r\n rows,\r\n headers,\r\n getHeaderProps,\r\n getRowProps,\r\n getSelectionProps,\r\n selectedRows,\r\n getBatchActionProps,\r\n }) => (\r\n \r\n {selectedRows.length > 0 ? (\r\n \r\n \r\n \r\n \r\n {CanExecuteAction(\r\n 'Report',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Submit',\r\n this.getReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Submit',\r\n 'Submit',\r\n 'Data Approver',\r\n true,\r\n false,\r\n true,\r\n true,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Submit Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Report',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Approve',\r\n this.getReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Approve',\r\n 'Approve',\r\n 'Division Manager',\r\n true,\r\n false,\r\n true,\r\n true,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Approve Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Report',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Consolidate',\r\n this.getReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Consolidate',\r\n 'Approve',\r\n null,\r\n false,\r\n false,\r\n true,\r\n true,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Approve Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Report',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Reject',\r\n this.getReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Reject',\r\n 'Reject',\r\n null,\r\n false,\r\n true,\r\n true,\r\n true,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Reject Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Report',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'RejectConsolidate',\r\n this.getReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'RejectConsolidate',\r\n 'Reject',\r\n null,\r\n false,\r\n true,\r\n true,\r\n true,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Reject Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Report',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Delete',\r\n this.getReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Delete',\r\n 'Delete',\r\n null,\r\n false,\r\n false,\r\n false,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Delete Report\r\n \r\n ) : 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 {this.state.isLoading ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n {headers.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n \r\n {this.IsRowSelectable(row, selectedRows, user) ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n {this.IsRowSelectable(row, selectedRows, user) ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {row.cells.map((cell) => (\r\n x.key === cell.info.header)}\r\n />\r\n ))}\r\n\r\n \r\n
    \r\n r.id === row.id\r\n ).discipline\r\n }/${row.id}`}\r\n >\r\n \r\n \r\n \r\n {this.confirmChangeCompilerRequest(row.id, user) &&\r\n IsInRole(user, 'Administrator') && (\r\n this.confirmCompilerActionClick([].concat(row))}\r\n size=\"small\"\r\n renderIcon={UserAdmin16}\r\n title=\"Confirm New Compiler\"\r\n iconDescription=\"Confirm New Compiler\"\r\n kind=\"ghost\"\r\n />\r\n )}\r\n { !this.isRequestChangeCompilerPending(row.id) && (\r\n this.changeCompilerActionClick([].concat(row))}\r\n size=\"small\"\r\n renderIcon={Collaborate16}\r\n title=\"Request Change Compiler\"\r\n iconDescription=\"Request Change Compiler\"\r\n kind=\"ghost\"\r\n />\r\n )}\r\n {this.isRequestChangeCompilerPending(row.id) &&\r\n this.isReportCompiler(row.id) &&\r\n !this.confirmChangeCompilerRequest(row.id, user) &&\r\n (\r\n this.changeCompilerActionClick([].concat(row))}\r\n size=\"small\"\r\n renderIcon={Collaborate16}\r\n title=\"Request Pending\"\r\n iconDescription=\"Request Pending\"\r\n kind=\"ghost\"\r\n disabled={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\n {!this.state.isReportFormOpen ? '' : this.divFormReport()}\r\n\r\n \r\n
    \r\n
    \r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nReportSummary.contextType = AppContext;\r\n","import React from 'react';\r\n\r\nimport { Button } from 'carbon-components-react';\r\n\r\n\r\nexport const WarningModal = (props) => (\r\n
    \r\n
    \r\n

    Warning!

    \r\n
    \r\n
    \r\n {props.message}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n)\r\n\r\n","import React, { Component } from 'react';\r\nimport {\r\n TextInput,\r\n Button,\r\n DataTable,\r\n Tabs,\r\n Tab,\r\n Table,\r\n TableContainer,\r\n CodeSnippetSkeleton,\r\n TableBody,\r\n ComboBox,\r\n Loading,\r\n DropdownSkeleton,\r\n FormGroup,\r\n InlineLoading,\r\n} from 'carbon-components-react';\r\nimport '../../scss/custom.scss';\r\nimport Add16 from '@carbon/icons-react/lib/add/16';\r\nimport Save16 from '@carbon/icons-react/lib/save/20';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport moment from 'moment';\r\nimport { Information16 } from '@carbon/icons-react';\r\nimport PageBreadCrumb from '../../helpers/PageBreadCrumb';\r\nimport { AppContext } from '../../helpers/context/AppContext';\r\nimport { IsEditable } from '../../helpers/authorization/Policies';\r\nimport { getError, entitiesLabels, apioperation, getSuccess } from '../../helpers/Constants';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport { api, registry } from '../../helpers/api/api';\r\nimport { HistoryTable } from '../../helpers/HistoryTable';\r\nimport { WarningModal } from '../common/WarningModal';\r\nimport { ConfirmAlertCustom } from '../../helpers/ConfirmAlertCustom';\r\nimport ReportRepository from '../../helpers/api/ReportRepository';\r\nimport { Online } from '../common/OnLineOffLine';\r\n\r\nexport default class Safety extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator();\r\n this.geqValidator = {\r\n message: 'The value must be greater than or equal to zero',\r\n rule: (val, params, validator) => +val >= 0,\r\n };\r\n this.laggingIndicatorFormModel = [\r\n { label: 'Average Manpower', fieldRef: 'averageManpower' },\r\n { label: 'Worked Manhours', fieldRef: 'workedManhours' },\r\n { label: 'Fatal Accidents', fieldRef: 'fatalAccidents', precompiled: true },\r\n { label: 'Lost Time Injuries', fieldRef: 'lostTimeInjuries', precompiled: true },\r\n { label: 'Work Restricted Cases', fieldRef: 'workRestrictedCases', precompiled: true },\r\n { label: 'Medical Treatments', fieldRef: 'medicalTreatments', precompiled: true },\r\n { label: 'First Aid Cases', fieldRef: 'firstAidCases', precompiled: true },\r\n { label: 'Near Miss P/A', fieldRef: 'nearMissPA', precompiled: true },\r\n { label: 'Near Miss H&S', fieldRef: 'nearMissHS', precompiled: true },\r\n { label: 'Near Miss ENV', fieldRef: 'nearMissENV', precompiled: true },\r\n { label: 'Days Lost', fieldRef: 'daysLost', precompiled: true },\r\n { label: 'Restricted Work Days', fieldRef: 'restrictedWorkDays', precompiled: true },\r\n { label: 'Commuting Injuries', fieldRef: 'commutingInjuries', precompiled: true },\r\n { label: 'Road Traffic Accidents', fieldRef: 'roadTrafficAccidents', precompiled: true },\r\n { label: 'KM Driven', fieldRef: 'kmDriven' },\r\n ];\r\n this.leadingIndicatorFormModel = [\r\n { label: 'HSE Training Hours', fieldRef: 'hseTrainingHours' },\r\n { label: 'Job Safety Analysis', fieldRef: 'jobSafetyAnalysis' },\r\n { label: 'Tool Box Talks', fieldRef: 'toolBoxTalks' },\r\n { label: 'Senior Management HSE Visits', fieldRef: 'seniorManagementHSEVisits' },\r\n { label: 'HSE Inspections', fieldRef: 'hseInspections' },\r\n { label: 'HSE Meetings', fieldRef: 'hseMeetings' },\r\n { label: 'Drill H&S', fieldRef: 'drillHS' },\r\n { label: 'Drill ENV', fieldRef: 'drillENV' },\r\n { label: 'Drill H&S Planned', fieldRef: 'drillHSPlanned' },\r\n { label: 'Drill ENV Planned', fieldRef: 'drillENVPlanned' },\r\n { label: 'Hazard Observation Cards (HOC count grouped by Info Originator to which the selected Employer belongs)', fieldRef: 'hazardObservationCards', precompiled: true },\r\n ];\r\n this.state = {\r\n idSubContractor: null,\r\n isDisabled: true,\r\n isEmployerModalOpen: false,\r\n isSubContractorsDropdownVisible: false,\r\n isOpenInfo: false,\r\n isLoadingReport: true,\r\n isLoadingSubContractorOptions: true,\r\n report: null,\r\n safetyDataList: [],\r\n infoOriginators: [],\r\n subContractorOptions: [],\r\n selectedSubContractors: [],\r\n selectedSafetyData: null,\r\n isEmployerSelected: false,\r\n isLoadingSubmitted: false,\r\n isSubmitted: true,\r\n invalidEmployerForms: [],\r\n isWarningModalOpen: false,\r\n isHistoryModalOpen: false,\r\n\r\n isOpenDeleteModal: false,\r\n isDeleting: false,\r\n idToDelete: false,\r\n };\r\n }\r\n\r\n sortEmployers = (a, b) => {\r\n var nameA = a.subContractor == null ? 'SAIPEM PERSONNEL' : a.subContractor.toUpperCase();\r\n var nameB = b.subContractor == null ? 'SAIPEM PERSONNEL' : b.subContractor.toUpperCase();\r\n if (nameA < nameB) {\r\n return -1;\r\n }\r\n if (nameA > nameB) {\r\n return 1;\r\n }\r\n return 0;\r\n };\r\n\r\n handleChangeCombo = (inputName, selectedItem, objName) => {\r\n let inputValue = selectedItem ? selectedItem.id : null;\r\n let statusCopy = Object.assign({}, this.state[objName]);\r\n statusCopy[inputName] = inputValue;\r\n this.setState({ [objName]: statusCopy });\r\n };\r\n\r\n showButtonHistory = () => (\r\n this.openModalHistory()}\r\n >\r\n History\r\n \r\n );\r\n\r\n openModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: true });\r\n };\r\n\r\n closeModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: false });\r\n };\r\n\r\n showDivInfo = () => {\r\n this.setState((oldState) => ({ isOpenInfo: !oldState.isOpenInfo }));\r\n };\r\n\r\n toggleEmployerModal = () => {\r\n this.setState((oldState) => ({\r\n idSubContractor: null,\r\n isSubContractorsDropdownVisible: false,\r\n isEmployerModalOpen: !oldState.isEmployerModalOpen,\r\n isEmployerSelected: false,\r\n infoOriginator: null,\r\n }));\r\n };\r\n\r\n showSearchSubC = () => {\r\n this.setState({\r\n isSubContractorsDropdownVisible: true,\r\n isEmployerSelected: false,\r\n });\r\n };\r\n\r\n selectNoSubcontractor = () => {\r\n this.setState({\r\n isSubContractorsDropdownVisible: false,\r\n isEmployerSelected: true,\r\n selectedSubContractors: [],\r\n });\r\n };\r\n\r\n onSubContractorSelected = (selectedItems) => {\r\n if (selectedItems.length > 0) {\r\n this.setState({\r\n selectedSubContractors: selectedItems,\r\n isEmployerSelected: true,\r\n });\r\n }\r\n };\r\n\r\n isCreateSafetyDataDisabled = () =>\r\n !this.state.infoOriginator ||\r\n (this.state.infoOriginator.name !== 'Saipem' && !this.state.idSubContractor);\r\n\r\n handleCreateSafetyData = () => {\r\n let subContractorsSelected = this.state.safetyDataList.filter(\r\n (x) => x.idSubContractor == this.state.idSubContractor\r\n );\r\n if (subContractorsSelected?.length > 0) {\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n 'A report for ' +\r\n this.state.infoOriginator?.name +\r\n (subContractorsSelected[0].subContractor != null\r\n ? '/' + subContractorsSelected[0].subContractor\r\n : '') +\r\n ' already exists'\r\n );\r\n } else {\r\n let precompiledFields = [];\r\n ReportRepository.getSafetyComputedField(\r\n this.props.match.params.idReport,\r\n this.state.idSubContractor\r\n ).then((response) => {\r\n precompiledFields = response;\r\n\r\n if (this.state.idSubContractor == null) {\r\n // We are creating a new Saipem SafetyData entry, ensuring distinctness\r\n if (this.state.safetyDataList.map((x) => x.isSaipem).indexOf(true) === -1) {\r\n const safetyDataList = [...this.state.safetyDataList].concat([\r\n {\r\n ...precompiledFields,\r\n isSaipem: true,\r\n validator: new SimpleReactValidator({\r\n validators: {\r\n geq: this.geqValidator,\r\n },\r\n }),\r\n },\r\n ]);\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n safetyDataList,\r\n selectedSafetyData: safetyDataList[safetyDataList.length - 1],\r\n infoOriginator: null,\r\n }));\r\n }\r\n //this.submitImmediate(true)\r\n } else {\r\n const selectedSubContractors = [];\r\n if (this.state.idSubContractor != null) {\r\n selectedSubContractors.push(\r\n this.state.subContractorOptions.find((el) => el.id === this.state.idSubContractor)\r\n );\r\n }\r\n\r\n // We are creating 0 or more sub-contractor SafetyData entries\r\n const newSafetyDataEntries = selectedSubContractors.map((s) => ({\r\n ...precompiledFields,\r\n idSubContractor: s.id,\r\n subContractor: s.name,\r\n validator: new SimpleReactValidator({\r\n validators: {\r\n geq: this.geqValidator,\r\n },\r\n }),\r\n }));\r\n const safetyDataList = [...this.state.safetyDataList].concat([...newSafetyDataEntries]);\r\n this.setState({\r\n safetyDataList,\r\n selectedSafetyData: safetyDataList[safetyDataList.length - 1],\r\n infoOriginator: null,\r\n });\r\n }\r\n this.toggleEmployerModal();\r\n });\r\n }\r\n };\r\n\r\n divModal() {\r\n const subContractorsByInfo = this.state.infoOriginator\r\n ? (this.state.subContractorOptions || []).filter(\r\n (el) => el.infoOriginator?.id === this.state.infoOriginator?.id\r\n )\r\n : [];\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    Add New Employer

    {' '}\r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n this.setState({\r\n infoOriginator: el.selectedItem,\r\n idSubContractor: null,\r\n })\r\n }\r\n itemToString={(item) => (item ? item.name : '')}\r\n // items={this.state.infoOriginators}\r\n items={this.state.infoOriginators.filter(\r\n (item) => item.name !== 'SAP' )} // Rimuovi l'opzione \"SAP\" dalla lista\r\n disabled={this.state.isDisabled}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n \r\n this.setState({\r\n idSubContractor: el.selectedItem?.id,\r\n })\r\n }\r\n itemToString={(item) => (item ? item.name : '')}\r\n items={subContractorsByInfo}\r\n shouldFilterItem={({ item, inputValue }) =>\r\n item.name.toLowerCase().includes(inputValue.toLowerCase())\r\n }\r\n disabled={\r\n this.state.isDisabled ||\r\n this.state.infoOriginator?.name === 'Saipem' ||\r\n this.state.infoOriginator == null\r\n }\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n Create\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n divInfo() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Start:
    \r\n
    \r\n {moment.utc(this.state.report.start).format('DD/MM/YYYY')}\r\n
    {' '}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    End:
    \r\n
    \r\n {moment.utc(this.state.report.end).format('DD/MM/YYYY')}\r\n
    {' '}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Compiled by:
    \r\n
    {this.state.report.compiledBy}
    {' '}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n getReport = (refresh) => {\r\n ReportRepository.getReportSafety(this.props.match.params.idReport)\r\n .then((response) => {\r\n response.safetyData.forEach(\r\n (s) =>\r\n (s.validator = new SimpleReactValidator({\r\n validators: {\r\n geq: this.geqValidator,\r\n },\r\n }))\r\n );\r\n this.setState({\r\n report: response,\r\n safetyDataList: response.safetyData,\r\n isDisabled: !IsEditable(\r\n 'Report',\r\n 'Reporting',\r\n this.context.user,\r\n response.idStatus,\r\n 'All',\r\n response\r\n ),\r\n });\r\n if (refresh && this.state.selectedSafetyData) {\r\n const selectedItem = (response.safetyData || []).find(\r\n (el) => el.id === this.state.selectedSafetyData.id\r\n );\r\n this.setState({\r\n selectedSafetyData: selectedItem,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.REPORT, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingReport: false,\r\n });\r\n });\r\n };\r\n\r\n deleteReportSafetyData = (reportSafetyData) => {\r\n api\r\n .deleteData(`reports/safety/${this.props.match.params.idReport}`, { id: reportSafetyData.id })\r\n .then((response) => {\r\n if (response.status === 200) {\r\n this.setState({\r\n idToDelete: null,\r\n isOpenDeleteModal: false,\r\n });\r\n this.onCloseConfirm();\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.REPORT, apioperation.DELETE)\r\n );\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.REPORT, apioperation.DELETE)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isDeleting: false,\r\n });\r\n });\r\n };\r\n\r\n getSubContractors = () => {\r\n ReportRepository.getSubcontractors()\r\n .then((response) => {\r\n this.setState({\r\n subContractorOptions: response,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.SUBCONTRACTOR, apioperation.get)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingSubContractorOptions: false,\r\n });\r\n });\r\n };\r\n\r\n getInfoOriginators = () => {\r\n registry\r\n .getAll('infooriginator')\r\n .then((response) => {\r\n var data = response.data;\r\n data = data != null ? data.map((item) => ({ id: item.id, name: item.name })) : [];\r\n this.setState({\r\n infoOriginators: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.INFOORIGINATOR, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n };\r\n\r\n componentDidMount() {\r\n this.getReport();\r\n this.getInfoOriginators();\r\n this.getSubContractors();\r\n }\r\n\r\n confirmDelete = (id) => {\r\n this.setState({\r\n idToDelete: id, // è un oggetto in questo caso\r\n isOpenDeleteModal: true,\r\n isDeleting: false,\r\n });\r\n };\r\n\r\n onCloseConfirm = () => {\r\n this.setState({\r\n isOpenDeleteModal: false,\r\n });\r\n };\r\n\r\n deleteItem = () => {\r\n const valueToRemove = this.state.idToDelete;\r\n const selectedPersonell = this.state.safetyDataList;\r\n\r\n this.setState({\r\n isDeleting: true,\r\n });\r\n\r\n const itemToRemoveIndex = this.state.safetyDataList.indexOf(valueToRemove);\r\n selectedPersonell.splice(itemToRemoveIndex, 1);\r\n\r\n this.setState({\r\n safetyDataList: selectedPersonell,\r\n });\r\n\r\n // se il guid è !null, cancello anche dal backend\r\n if (valueToRemove.id !== '00000000-0000-0000-0000-000000000000') {\r\n this.deleteReportSafetyData(valueToRemove);\r\n } else {\r\n this.setState({\r\n idToDelete: null,\r\n isOpenDeleteModal: false,\r\n isDeleting: false,\r\n });\r\n }\r\n };\r\n\r\n handleSafetyDataChange = (selectedItem) => {\r\n const valueToRemove = this.state.selectedSafetyData;\r\n\r\n // se è null c'è una cancellazione da fare\r\n if (!selectedItem) {\r\n this.confirmDelete(valueToRemove);\r\n }\r\n\r\n this.setState({\r\n selectedSafetyData: selectedItem,\r\n });\r\n };\r\n\r\n onInputChange = (field, e) => {\r\n const safetyDataList = [...this.state.safetyDataList];\r\n const safetyDataIndex = this.state.safetyDataList.indexOf(this.state.selectedSafetyData);\r\n const newSafetyData = { ...this.state.safetyDataList[safetyDataIndex] };\r\n newSafetyData[field] = e.target.value;\r\n safetyDataList[safetyDataIndex] = newSafetyData;\r\n this.setState(\r\n {\r\n safetyDataList,\r\n selectedSafetyData: newSafetyData,\r\n },\r\n this.updateInvalidFormsList\r\n );\r\n };\r\n\r\n updateInvalidFormsList = () => {\r\n if (this.state.safetyDataList[0].validator.messagesShown) {\r\n const invalidEmployerForms = this.state.safetyDataList\r\n .filter((s) => !s.validator.allValid())\r\n .map((s) => this.getEmployerName(s));\r\n this.setState({\r\n invalidEmployerForms,\r\n });\r\n }\r\n };\r\n\r\n handleConfirmSubmit = () => {\r\n this.setState(\r\n {\r\n isWarningModalOpen: false,\r\n },\r\n () => this.submitReport(true)\r\n );\r\n };\r\n\r\n toggleWarningModal = () => {\r\n this.setState((prevState) => ({\r\n isWarningModalOpen: !prevState.isWarningModalOpen,\r\n }));\r\n };\r\n\r\n downloadFile() {\r\n if (this.state.isExportLoading) return;\r\n\r\n this.setState({\r\n isExportLoading: true,\r\n });\r\n api\r\n .getWithParam(`reports/excel/${this.props.match.params.idReport}`, {\r\n responseType: 'arraybuffer',\r\n })\r\n .then((response) => {\r\n const data = new Blob([response.data], {\r\n type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\r\n });\r\n const csvURL = window.URL.createObjectURL(data);\r\n const tempLink = document.createElement('a');\r\n tempLink.href = csvURL;\r\n\r\n const nomefile = `Export_SafetyReport_${this.state.report.progressiveId}_${moment().format(\r\n 'YYYYMMDDHHmmSS'\r\n )}.xlsx`;\r\n tempLink.setAttribute('download', nomefile);\r\n\r\n document.body.appendChild(tempLink);\r\n tempLink.click();\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, 'Download File', apioperation.GET)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isExportLoading: false,\r\n });\r\n });\r\n }\r\n\r\n submitImmediate = (fillEmptyFields) => {\r\n const validators = this.state.safetyDataList.map((s) => s.validator);\r\n\r\n const reportDataList = [];\r\n this.state.safetyDataList.forEach((s) => {\r\n const { validator, validations, ...safetyDataModel } = s;\r\n if (fillEmptyFields) {\r\n this.laggingIndicatorFormModel.concat(this.leadingIndicatorFormModel).forEach((f) => {\r\n safetyDataModel[f.fieldRef] = safetyDataModel[f.fieldRef] || 0;\r\n s[f.fieldRef] = s[f.fieldRef] || 0;\r\n });\r\n }\r\n reportDataList.push(safetyDataModel);\r\n });\r\n this.setState({ isSubmitted: false, isLoadingSubmitted: true });\r\n api\r\n .put('reports/safety/', reportDataList, this.props.match.params.idReport)\r\n .then(async (response) => {\r\n await ReportRepository.updateCachedSafety(this.props.match.params.idReport, reportDataList);\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.REPORT, apioperation.PUT)\r\n );\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.REPORT, apioperation.PUT)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState(\r\n {\r\n isSubmitted: true,\r\n isLoadingSubmitted: false,\r\n },\r\n () => this.getReport(true)\r\n );\r\n });\r\n };\r\n submitReport = (fillEmptyFields) => {\r\n const validators = this.state.safetyDataList.map((s) => s.validator);\r\n if (validators.every((v) => v.allValid())) {\r\n if (\r\n fillEmptyFields ||\r\n this.state.safetyDataList.every(\r\n (sd) =>\r\n this.laggingIndicatorFormModel.every(\r\n (f) => sd[f.fieldRef] !== undefined && sd[f.fieldRef] !== ''\r\n ) &&\r\n this.leadingIndicatorFormModel.every(\r\n (f) => sd[f.fieldRef] !== undefined && sd[f.fieldRef] !== ''\r\n )\r\n )\r\n ) {\r\n validators.every((v) => v.hideMessages());\r\n const reportDataList = [];\r\n this.state.safetyDataList.forEach((s) => {\r\n const { validator, validations, ...safetyDataModel } = s;\r\n if (fillEmptyFields) {\r\n this.laggingIndicatorFormModel.concat(this.leadingIndicatorFormModel).forEach((f) => {\r\n safetyDataModel[f.fieldRef] = safetyDataModel[f.fieldRef] || 0;\r\n s[f.fieldRef] = s[f.fieldRef] || 0;\r\n });\r\n }\r\n reportDataList.push(safetyDataModel);\r\n });\r\n this.setState({ isSubmitted: false, isLoadingSubmitted: true });\r\n api\r\n .put('reports/safety/', reportDataList, this.props.match.params.idReport)\r\n .then(async (response) => {\r\n await ReportRepository.updateCachedSafety(\r\n this.props.match.params.idReport,\r\n reportDataList\r\n );\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.REPORT, apioperation.PUT)\r\n );\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.REPORT, apioperation.PUT)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState(\r\n {\r\n isSubmitted: true,\r\n isLoadingSubmitted: false,\r\n },\r\n () => this.getReport(true)\r\n );\r\n });\r\n } else {\r\n this.toggleWarningModal();\r\n }\r\n } else {\r\n validators.forEach((v) => v.showMessages());\r\n this.updateInvalidFormsList();\r\n }\r\n };\r\n\r\n renderIndicatorForm = (formModel) => (\r\n \r\n \r\n \r\n {formModel.map((f) => (\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    {f.label} \r\n this.onInputChange(f.fieldRef, e)}\r\n type=\"number\"\r\n min=\"0\"\r\n step=\"1\"\r\n labelText=\"\"\r\n onKeyDown={(e) => /[\\+\\-\\.\\,]$/.test(e.key) && e.preventDefault()}\r\n disabled={this.state.isDisabled || f.precompiled}\r\n invalid={this.state.selectedSafetyData.validations[f.fieldRef] != null}\r\n />\r\n {this.state.selectedSafetyData.validations[f.fieldRef]}\r\n
    \r\n
    \r\n );\r\n\r\n renderTabs = () => {\r\n if (this.state.selectedSafetyData) {\r\n return (\r\n
    \r\n \r\n \r\n this.renderIndicatorForm(this.laggingIndicatorFormModel)}\r\n />\r\n \r\n \r\n this.renderIndicatorForm(this.leadingIndicatorFormModel)}\r\n />\r\n \r\n \r\n
    \r\n );\r\n }\r\n return (\r\n
    \r\n
    No Employer selected
    \r\n
    \r\n );\r\n };\r\n\r\n getEmployerName = (safetyData) =>\r\n safetyData.isSaipem ? 'Saipem personnel' : safetyData.subContractor;\r\n\r\n renderSubContractorItem = (item) => (\r\n \r\n {item ? this.getEmployerName(item) : ''}\r\n
    \r\n );\r\n\r\n showLoading() {\r\n const show = !this.state.isSubmitted;\r\n const descr = !this.state.isSubmitted ? 'Saving...' : 'Loading data...';\r\n return show && ;\r\n }\r\n\r\n render() {\r\n this.state.safetyDataList.forEach((s) => {\r\n s.validations = this.laggingIndicatorFormModel\r\n .concat(this.leadingIndicatorFormModel)\r\n .reduce((acc, cur) => {\r\n let validationCode = 'geq';\r\n if (this.state.selectedSafetyData === s) {\r\n validationCode += '|required|integer';\r\n }\r\n acc[cur.fieldRef] = s.validator.message(cur.label, s[cur.fieldRef], validationCode);\r\n return acc;\r\n }, {});\r\n });\r\n\r\n const getNameDelete = (id) => {\r\n if (id == null) return '';\r\n return this.getEmployerName(id);\r\n };\r\n\r\n const confirmDelProps = () => ({\r\n idToDelete: this.state.idToDelete,\r\n nameItem: getNameDelete(this.state.idToDelete),\r\n isDeleting: this.state.isDeleting,\r\n open: this.state.isOpenDeleteModal, // open state\r\n onCloseConfirm: this.onCloseConfirm, // no click\r\n deleteItem: this.deleteItem, // yes click fn()\r\n });\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n {this.showLoading()}\r\n \r\n
    \r\n {!this.state.isLoadingReport ? (\r\n \r\n this.closeModalHistory()}\r\n />\r\n \r\n ) : (\r\n ''\r\n )}\r\n {this.state.isLoadingReport ? (\r\n \r\n ) : (\r\n <>\r\n
    {this.divInfo()}
    \r\n \r\n )}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Select an employer:
    \r\n
    \r\n\r\n
    \r\n {this.state.isLoadingReport ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n this.handleSafetyDataChange(selectedItem)}\r\n itemToElement={(item) => this.renderSubContractorItem(item)}\r\n itemToString={(item) =>\r\n item ? (item.isSaipem ? 'Saipem Personnel ' : item.subContractor) : ''\r\n }\r\n selectedItem={this.state.selectedSafetyData}\r\n />\r\n
    or
    \r\n \r\n Add New Employer\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n this.submitReport(false)}\r\n disabled={this.state.isDisabled || this.state.isLoadingSubmitted}\r\n >\r\n {this.state.isSubmitted ? (\r\n Save\r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n {this.state.invalidEmployerForms.length &&\r\n this.state.safetyDataList &&\r\n this.state.safetyDataList.length > 0 &&\r\n this.state.safetyDataList[0].validator.messagesShown ? (\r\n
    \r\n
    \r\n \r\n The following employer reports contain erroneous fields:\r\n {` ${this.state.invalidEmployerForms.join(', ')}`}\r\n \r\n
    \r\n
    \r\n ) : null}\r\n\r\n {this.renderTabs()}\r\n
    \r\n {!this.state.isEmployerModalOpen ? '' : this.divModal()}\r\n {this.state.isWarningModalOpen ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nSafety.contextType = AppContext;\r\n","import React, { Component } from 'react';\r\nimport {\r\n DataTable,\r\n TableContainer,\r\n Table,\r\n TableHead,\r\n TableRow,\r\n TableHeader,\r\n TableBody,\r\n TextInput,\r\n Button,\r\n FormGroup,\r\n ComposedModal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n TextArea,\r\n} from 'carbon-components-react';\r\nimport { WarningModal } from '../common/WarningModal';\r\nimport { NoRecordsPlaceholder } from '../../helpers/jsonschemaform/DataTableExtention';\r\n\r\nexport default class EnergyAccountLeasedAssetModal extends Component {\r\n constructor(props) {\r\n super(props);\r\n };\r\n\r\n render() {\r\n const modalHeader = {\r\n title: this.props.isEditModal ? 'Edit ' : 'Add new ',\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.props.toggleModal(false),\r\n };\r\n\r\n const { title, isOpenModal } = this.props;\r\n\r\n return ( \r\n <>\r\n false}\r\n >\r\n \r\n

    {title || ''}

    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.props.onUpdateInputChange(el.target.id, el.target.value)}\r\n type=\"text\"\r\n hideLabel\r\n labelText=\"\"\r\n invalid={this.props.nameLeasedAssetValidation != null}\r\n className=\"bx--text-input-left\"\r\n />\r\n {this.props.nameLeasedAssetValidation}\r\n \r\n
    \r\n
    \r\n (\r\n \r\n \r\n \r\n \r\n {headers.map((header) => (\r\n \r\n
    {header.header}
    \r\n \r\n ))}\r\n
    \r\n
    \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n <>\r\n {rows.map((row) => (\r\n \r\n \r\n \r\n \r\n {row.cells.slice(3).map((cell) => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
    {row.cells[0].value}{row.cells[1].value}\r\n {Math.round(row.cells[2].value * 100) / 100}\r\n \r\n this.props.onRowColInputChange(row.id, cell.info.header, e )}\r\n type=\"number\"\r\n min=\"0\"\r\n invalid={ this.props.leasedAssetValidations[row.id][cell.info.header] != null }\r\n />\r\n {this.props.leasedAssetValidations[row.id][cell.info.header]}\r\n \r\n

    \r\n Total:\r\n {Math.round(this.props.grandTotal * 100) / 100}\r\n

    \r\n
    \r\n\r\n
    \r\n )}\r\n />\r\n
    \r\n
    \r\n (\r\n \r\n \r\n \r\n \r\n {headers.map((header) => (\r\n \r\n
    {header.header}
    \r\n \r\n ))}\r\n
    \r\n
    \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n \r\n \r\n {row.cells.slice(2).map((cell) => (\r\n \r\n ))}\r\n \r\n ))\r\n )}\r\n \r\n
    {row.cells[0].value}\r\n {row.cells[1].value}\r\n \r\n this.props.onRowColInputChange(row.id, cell.info.header, e)}\r\n type=\"number\"\r\n min=\"0\"\r\n invalid={ this.props.leasedAssetValidations[row.id][cell.info.header] != null }\r\n />\r\n {this.props.leasedAssetValidations[row.id][cell.info.header]}\r\n
    \r\n
    \r\n )}\r\n />\r\n
    \r\n
    \r\n \r\n this.props.onUpdateInputChange(el.target.id, el.target.value)}\r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={200}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {this.props.isWarningModalOpen ? (\r\n \r\n ) : null}\r\n \r\n );\r\n }\r\n}","/* eslint-disable react/sort-comp */\r\n/* eslint-disable no-param-reassign */\r\n/* eslint-disable react/prop-types */\r\nimport React, { Component } from 'react';\r\nimport {\r\n Button,\r\n Table,\r\n TableContainer,\r\n TableHead,\r\n TableHeader,\r\n TableBody,\r\n TableRow,\r\n Loading,\r\n TableCell,\r\n TableToolbar,\r\n DataTableSkeleton,\r\n} from 'carbon-components-react';\r\nimport Add16 from '@carbon/icons-react/lib/add/16';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\n\r\nimport '../../scss/custom.scss';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport {\r\n getSuccess,\r\n getError,\r\n apioperation,\r\n entitiesLabels,\r\n} from '../../helpers/Constants';\r\nimport { NoRecordsPlaceholder } from '../../helpers/jsonschemaform/DataTableExtention';\r\nimport { ConfirmAlertCustom } from '../../helpers/ConfirmAlertCustom';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { Online } from '../common/OnLineOffLine';\r\nimport EnergyAccountLeasedAssetModal from './EnergyAccountLeasedAssetModal';\r\nimport ReportRepository from '../../helpers/api/ReportRepository';\r\n\r\nexport default class EnergyAccountLeasedAssetList extends Component {\r\n\r\n initialState = (props) => {\r\n const initialState = {\r\n\r\n // modal insert/edit\r\n keyModalLeasedAsset: `modalLeasedAsset_${new Date().getTime()}`,\r\n editModelLeasedAsset: null,\r\n isEditModalLeasedAsset: false,\r\n isOpenModalLeasedAsset: false,\r\n //addCountItems: 0,\r\n isWarningModalOpen : false,\r\n isOpenDeleteModal: false,\r\n isDeleting: false,\r\n idToDelete: false,\r\n isSubmitted: false,\r\n leasedAssetList: null,\r\n leasedAssetMatrix: null\r\n };\r\n return initialState;\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n ...this.initialState(props),\r\n };\r\n this.geqValidator = {\r\n message: 'The value must be greater than or equal to zero',\r\n rule: (val, params, validator) => {\r\n return +val >= 0;\r\n },\r\n };\r\n this.validator = new SimpleReactValidator({\r\n validators: {\r\n geq: this.geqValidator,\r\n req: {\r\n message: 'The :attribute is required and can\\'t be null',\r\n rule: (val, params, validator) => {\r\n return val !== '';\r\n },\r\n required: true\r\n }\r\n },\r\n });\r\n\r\n }\r\n\r\n componentDidMount() {\r\n this.getListLeasedAssetReportDataFromReport();\r\n //this.getListLeasedAssetReportData();\r\n //this.initializeLeasedAsset();\r\n }\r\n\r\n getListLeasedAssetReportDataFromReport = () => {\r\n if (this.props.report) {\r\n this.setState((prevState) => {\r\n return {leasedAssetList : this.props.report.leasedAssetReportData};\r\n });\r\n }\r\n }\r\n\r\n getListLeasedAssetReportData = () => {\r\n ReportRepository.getListLeasedAssetReportData(this.props.idReport)\r\n .then((response) => {\r\n this.setState((prevState) => {\r\n return {leasedAssetList : response.itemList};\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.ENVIROMENT, apioperation.GET)\r\n );\r\n });\r\n }\r\n\r\n updateListLeasedAssetReportData = (obj) => {\r\n let items = this.state.leasedAssetList;\r\n\r\n //Case Delete\r\n if (obj.idReportEnvironment == null) {\r\n /*\r\n const index = items.findIndex((item) => item.id == obj);\r\n \r\n this.repository.updateCachedCaList(\r\n items[index],\r\n this.state.idAuditEdit,\r\n this.state.idAnswer,\r\n true\r\n );\r\n */\r\n items = items.filter((x) => x.id != obj);\r\n } \r\n else {\r\n const index = items.findIndex((item) => item.id === obj.id);\r\n if (index < 0) {\r\n items = items.concat([obj]);\r\n/* this.setState({\r\n rowCount: this.state.rowCount + 1,\r\n }); */\r\n } \r\n else \r\n items[index] = obj;\r\n \r\n this.setState({\r\n keyModalLeasedAsset: `modalLeasedAsset_${new Date().getTime()}`,\r\n });\r\n //this.repository.updateCachedCaList(caModel, this.state.idAuditEdit, this.state.idAnswer);\r\n }\r\n this.setState((prevState) => {\r\n return {leasedAssetList : items};\r\n });\r\n \r\n };\r\n\r\n /*\r\n getCAs = (model) => this.props.getCAs(model);\r\n\r\n\r\n detailCA = (id) => {\r\n this.props.history.push(this.baseUrl + id);\r\n };\r\n*/\r\n toggleWarningModal = () => {\r\n this.setState((prevState) => {return {isWarningModalOpen: !prevState.isWarningModalOpen };} );\r\n };\r\n\r\n handleConfirmSubmit = () => {\r\n this.setState(() =>\r\n {\r\n return {isWarningModalOpen: false}\r\n });\r\n this.onSaveModalLeasedAsset(true);\r\n };\r\n\r\n toggleModalLeasedAsset = (open) => {\r\n this.setState({ isOpenModalLeasedAsset: open });\r\n };\r\n\r\n addLeasedAsset = () => {\r\n this.initializeLeasedAsset();\r\n this.setState({ keyModalLeasedAsset: `modalLeasedAsset_${new Date().getTime()}`, isEditModalLeasedAsset: false, isOpenModalLeasedAsset: true, editModelLeasedAsset: {id: null, idReportEnvironment: null, name: null, notes: null}} );\r\n };\r\n\r\n initializeLeasedAsset = (leasedAssetData ) => {\r\n const leasedAssetMatrix = this.props.buildTwoLevelStructure(this.props.leasedAssetSchema, false);\r\n\r\n if (leasedAssetData && leasedAssetData.leasedAsset) {\r\n leasedAssetData.leasedAsset.forEach((e) => {\r\n leasedAssetMatrix[e.idEnergySourceType][e.idEnergyUsageType] = e.value;\r\n });\r\n }\r\n const informativeonlyIds = this.props.leasedAssetSchema.rows\r\n .filter((r) => r.informativeonly)\r\n .map((r) => r.id);\r\n \r\n informativeonlyIds.forEach((i) => {\r\n Object.keys(leasedAssetMatrix[i]).forEach((key) => {\r\n leasedAssetMatrix[i][key] = leasedAssetMatrix[i][key] || 0;\r\n });\r\n });\r\n \r\n this.setState({ leasedAssetMatrix });\r\n }\r\n\r\n getItem = ({id, idReportEnvironment, name, notes}) => {\r\n return {id , idReportEnvironment, name, notes};\r\n }\r\n\r\n editModalLeasedAsset = (id) => {\r\n if (id == null) return;\r\n this.setState ((prevState) => {\r\n return {isSubmitted: true}\r\n });\r\n\r\n ReportRepository.getLeasedAssetById(this.props.idReport, id)\r\n .then((response) => {\r\n this.initializeLeasedAsset(response);\r\n this.setState((prevState) => { return { keyModalLeasedAsset: `modalLeasedAsset_${new Date().getTime()}`, isEditModalLeasedAsset: true, isOpenModalLeasedAsset: true, editModelLeasedAsset: this.getItem(response)} });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.LEASEDASSET, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isSubmitted: false,\r\n });\r\n });\r\n };\r\n\r\n onRowColInputChange = (row, col, e) => {\r\n\r\n const newRow = { ...this.state.leasedAssetMatrix[row] };\r\n newRow[col] = e.target.value;\r\n const newStateEntry = { ...this.state.leasedAssetMatrix};\r\n newStateEntry[row] = newRow;\r\n\r\n this.setState((prevState) => {return {leasedAssetMatrix: newStateEntry}});\r\n };\r\n\r\n onUpdateInputChange = (inputName, inputValue) => {\r\n const statusCopy = { ...this.state.editModelLeasedAsset };\r\n\t\tstatusCopy[inputName] = inputValue;\r\n\r\n\t\tthis.setState((prevState) => {return {editModelLeasedAsset: statusCopy}});\r\n }\r\n\r\n destructureLeasedAssetMatrix(obj, fillEmptyFields) {\r\n const result = [];\r\n let containsEmptyFields = false;\r\n Object.keys(obj).forEach((key1) => {\r\n Object.keys(obj[key1]).forEach((key2) => {\r\n if (!fillEmptyFields && (obj[key1][key2] === undefined || obj[key1][key2] === '' || obj[key1][key2] === null)) {\r\n containsEmptyFields = true;\r\n } else {\r\n obj[key1][key2] = obj[key1][key2] || 0;\r\n result.push({\r\n idEnergySourceType: key1,\r\n idEnergyUsageType: key2,\r\n idLeasedAssetReportData: this.state.editModelLeasedAsset.id,\r\n value: obj[key1][key2],\r\n });\r\n }\r\n });\r\n });\r\n return containsEmptyFields ? null : result;\r\n }\r\n\r\n onSaveModalLeasedAsset = (fillEmptyFields) => {\r\n if (this.validator.allValid()) {\r\n\r\n // Destructure data in order to make it compatible with BE DTO types\r\n const leasedAssetMatrixDestructure = this.destructureLeasedAssetMatrix(this.state.leasedAssetMatrix, fillEmptyFields);\r\n\r\n const containEmptyFields =\r\n !fillEmptyFields && (leasedAssetMatrixDestructure === null)\r\n\r\n if (containEmptyFields) {\r\n this.toggleWarningModal();\r\n return;\r\n }\r\n\r\n const datiForm = {...this.state.editModelLeasedAsset, leasedAsset: leasedAssetMatrixDestructure};\r\n\r\n if (!this.state.isEditModalLeasedAsset) {\r\n datiForm[\"idReportEnvironment\"] = this.props.idReportEnvironment;\r\n }\r\n \r\n this.setState({ isSubmitted: true/*, isLoadingSubmitted: true*/ });\r\n\r\n const method = this.state.isEditModalLeasedAsset ? \r\n ReportRepository.updateLeasedAssetReportData(this.props.idReport, datiForm) \r\n : ReportRepository.createLeasedAssetReportData(this.props.idReport, datiForm);\r\n\r\n method.then((response) => {\r\n //ReportRepository.updateCachedEnvironment(this.props.match.params.idReport, dto);\r\n\r\n this.updateListLeasedAssetReportData(response.data);\r\n/* if (!this.state.isEditModalLeasedAsset) {\r\n this.updatePagination();\r\n } */\r\n\r\n this.setState(() => {\r\n return {\r\n isOpenModalLeasedAsset: false,\r\n keyModalLeasedAsset: `modalLeasedAsset_${new Date().getTime()}`,\r\n };\r\n });\r\n\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.LEASEDASSET, apioperation.PUT)\r\n );\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.LEASEDASSET, apioperation.PUT)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isSubmitted: false,\r\n /*isLoadingSubmitted: false,*/\r\n });\r\n });\r\n } \r\n else {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`, 'field not valid');\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n/*\r\n updatePagination = async () => {\r\n await this.setState(() => ({\r\n addCountItems: this.state.addCountItems + 1,\r\n }));\r\n };\r\n*/\r\n showLoading() {\r\n const show = this.state.isSubmitted;\r\n const descr = this.state.isOpenModalLeasedAsset ? 'Saving...' : 'Loading data...';\r\n return show && ;\r\n }\r\n\r\n\r\n\r\n confirmDeleteLeasedAssetReportData = (id) => {\r\n this.setState({\r\n idToDelete: id,\r\n isOpenDeleteModal: true,\r\n isDeleting: false,\r\n });\r\n };\r\n\r\n onCloseDeleteConfirm = () => {\r\n this.setState({\r\n isOpenDeleteModal: false,\r\n });\r\n };\r\n\r\n deleteItemLeasedAssetReportData = () => {\r\n const id = this.state.idToDelete;\r\n\r\n this.setState({\r\n isDeleting: true,\r\n });\r\n\r\n ReportRepository.deleteLeasedAssetReportData(this.props.idReport, id)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n this.setState({\r\n idToDelete: null,\r\n isOpenDeleteModal: false,\r\n });\r\n this.onCloseDeleteConfirm();\r\n this.updateListLeasedAssetReportData(id);\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.LEASEDASSET, apioperation.DELETE)\r\n );\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.LEASEDASSET, apioperation.DELETE)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isDeleting: false,\r\n });\r\n });\r\n };\r\n \r\n render() {\r\n const rows = this.state.leasedAssetList || [];\r\n\r\n const leasedAssetRows = this.props.leasedAssetSchema.rows\r\n .filter((r) => !r.informativeonly)\r\n .map((r) => {\r\n let total = 0;\r\n this.props.leasedAssetSchema.cols.forEach(\r\n (c) => (total += (this.state.leasedAssetMatrix ? (+this.state.leasedAssetMatrix[r.id][c.id] || 0) : 0))\r\n );\r\n return {\r\n id: r.id,\r\n label: r.name,\r\n total,\r\n unit: r.name === 'Natural gas(methane)' ? 'NM3' : 'TON',\r\n };\r\n });\r\n const grandTotal = leasedAssetRows.map((w) => w.total).reduce((acc, cur) => (acc += cur), 0);\r\n\r\n const leasedAssetInformativeRows = this.props.leasedAssetSchema.rows\r\n .filter((r) => r.informativeonly)\r\n .map((r) => ({ id: r.id, label: r.name, unit: 'KWh', total: null }));\r\n\r\n const leasedAssetValidations = {};\r\n\r\n this.props.leasedAssetSchema.rows.forEach((r) => {\r\n leasedAssetValidations[r.id] = {};\r\n this.props.leasedAssetSchema.cols.forEach((c) => {\r\n leasedAssetValidations[r.id][c.id] = this.validator.message(\r\n `leasedAsset${r.id}${c.id}`,\r\n (this.state.leasedAssetMatrix ? this.state.leasedAssetMatrix[r.id][c.id] : 0),\r\n 'geq'\r\n );\r\n });\r\n });\r\n\r\n const nameLeasedAssetValidation = this.validator.message('Name', (this.state.editModelLeasedAsset ? this.state.editModelLeasedAsset.name: ''), 'req');\r\n \r\n const LeasedAssetModalProps = {\r\n key: this.state.keyModalLeasedAsset,\r\n title: 'Leased Asset',\r\n editModel: this.state.editModelLeasedAsset,\r\n isOpenModal: this.state.isOpenModalLeasedAsset,\r\n isEditModal: this.state.isEditModalLeasedAsset,\r\n toggleModal: this.toggleModalLeasedAsset,\r\n toggleWarningModal : this.toggleWarningModal,\r\n isWarningModalOpen : this.state.isWarningModalOpen,\r\n onRowColInputChange: this.onRowColInputChange,\r\n onUpdateInputChange: this.onUpdateInputChange,\r\n save: this.onSaveModalLeasedAsset,\r\n handleConfirmSubmit: this.handleConfirmSubmit,\r\n leasedAssetMatrix : this.state.leasedAssetMatrix,\r\n leasedAssetHeaders: this.props.leasedAssetHeaders,\r\n leasedAssetInformativeHeaders: this.props.leasedAssetInformativeHeaders,\r\n leasedAssetRows: leasedAssetRows,\r\n leasedAssetInformativeRows: leasedAssetInformativeRows,\r\n grandTotal: grandTotal,\r\n leasedAssetValidations : leasedAssetValidations,\r\n nameLeasedAssetValidation : nameLeasedAssetValidation\r\n };\r\n/*\r\n \r\n\r\n const paginationProps = () => ({\r\n page: this.props.currentPage || 1,\r\n totalItems: this.props.rowCount + this.state.addCountItems || 0,\r\n pageSize: this.props.pageSize || 10,\r\n pageSizes: [10, 20, 30, 40, 50],\r\n onChange: this.props.handleChangePaging,\r\n });\r\n */\r\n const getNameLeasedAssetReportDataById = (id) => {\r\n if (id == null) return '';\r\n const element = rows.find((el) => el.id == id);\r\n return element && element.name ? element.name : '';\r\n };\r\n\r\n const confirmDelProps = () => ({\r\n idToDelete: this.state.idToDelete,\r\n nameItem: getNameLeasedAssetReportDataById(this.state.idToDelete),\r\n isDeleting: this.state.isDeleting,\r\n open: this.state.isOpenDeleteModal, // open state\r\n onCloseConfirm: this.onCloseDeleteConfirm, // no click\r\n deleteItem: this.deleteItemLeasedAssetReportData, // yes click fn()\r\n });\r\n \r\n\r\n const colSpan = 2;\r\n // partial page\r\n return (\r\n <>\r\n \r\n
    \r\n {this.showLoading()}\r\n
    \r\n
    \r\n

    \r\n Leased Asset\r\n

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

    \r\n \r\n \r\n\r\n \r\n {this.props.isLoading ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n Name\r\n Actions\r\n \r\n \r\n \r\n {rows == null || rows.length == 0 ? (\r\n \r\n ) : (\r\n rows.map((item) => (\r\n \r\n \r\n {item.name}\r\n \r\n \r\n
    \r\n this.editModalLeasedAsset(item.id)}\r\n size=\"small\"\r\n renderIcon={Edit16}\r\n iconDescription=\"Edit\"\r\n kind=\"ghost\"\r\n />\r\n \r\n \r\n this.confirmDeleteLeasedAssetReportData(item.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n />\r\n \r\n \r\n
    \r\n \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \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, { Component } from 'react';\r\nimport {\r\n Button,\r\n TableHeader,\r\n TableHead,\r\n DataTable,\r\n Tabs,\r\n DataTableSkeleton,\r\n Tab,\r\n Table,\r\n TableContainer,\r\n TableBody,\r\n TableRow,\r\n TextInput,\r\n TableToolbar,\r\n InlineLoading,\r\n RadioButtonGroup,\r\n RadioButton,\r\n CodeSnippetSkeleton,\r\n FormGroup,\r\n TextArea,\r\n} from 'carbon-components-react';\r\nimport '../../scss/custom.scss';\r\nimport Info16 from '@carbon/icons-react/lib/information/16';\r\nimport Save16 from '@carbon/icons-react/lib/save/16';\r\nimport moment from 'moment';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { NoRecordsPlaceholder } from '../../helpers/jsonschemaform/DataTableExtention';\r\nimport { api } from '../../helpers/api/api';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport { getError, entitiesLabels, apioperation, getSuccess } from '../../helpers/Constants';\r\nimport { AppContext } from '../../helpers/context/AppContext';\r\nimport PageBreadCrumb from '../../helpers/PageBreadCrumb';\r\nimport { WarningModal } from '../common/WarningModal';\r\nimport { HistoryTable } from '../../helpers/HistoryTable';\r\nimport ReportRepository from '../../helpers/api/ReportRepository';\r\nimport EnergyAccountLeasedAssetList from '../report/EnergyAccountLeasedAssetList';\r\n\r\nexport default class Enviroment extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n stateDivForm: false,\r\n stateDivDownload: false,\r\n isOpenInfo: false,\r\n isLoadingReport: true,\r\n isLoading: true,\r\n isSubmitted: true,\r\n isLoadingSubmitted: false,\r\n isWarningModalOpen: false,\r\n isHistoryModalOpen: false,\r\n isInvalid: false,\r\n };\r\n this.showDivInfo = this.showDivInfo.bind(this);\r\n\r\n this.geqValidator = {\r\n message: 'The value must be greater than or equal to zero',\r\n rule: (val, params, validator) => {\r\n return +val >= 0;\r\n },\r\n };\r\n this.validator = new SimpleReactValidator({\r\n validators: {\r\n geq: this.geqValidator,\r\n },\r\n });\r\n this.validations = {};\r\n }\r\n\r\n showDivInfo() {\r\n this.setState((oldState) => ({ isOpenInfo: !oldState.isOpenInfo }));\r\n }\r\n\r\n divInfo() {\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n
    Start:
    \r\n
    \r\n {moment.utc(this.state.report.start).format('DD/MM/YYYY')}\r\n
    {' '}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    End:
    \r\n
    \r\n {moment.utc(this.state.report.end).format('DD/MM/YYYY')}\r\n
    {' '}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Compiled by:
    \r\n
    {this.state.report.compiledBy}
    {' '}\r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n\r\n showButtonHistory = () => {\r\n return (\r\n this.openModalHistory()}\r\n >\r\n History\r\n \r\n );\r\n };\r\n openModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: true });\r\n };\r\n\r\n closeModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: false });\r\n };\r\n\r\n showDivInfo = () => {\r\n this.setState((oldState) => ({ isOpenInfo: !oldState.isOpenInfo }));\r\n };\r\n\r\n // returns a 2d associative array-like data structure.\r\n // entries are rows and cols ids in the 'schema' innput\r\n buildTwoLevelStructure = (schema, init) => {\r\n let result = {};\r\n schema.rows.forEach((r) => {\r\n result[r.id] = {};\r\n schema.cols.forEach((c) => {\r\n result[r.id][c.id] = init ? {} : null;\r\n });\r\n });\r\n return result;\r\n };\r\n\r\n // returns a 3d associative array-like data structure.\r\n // entries are rows, cols and subcols ids in the input schema\r\n buildThreeLevelStructure = (schema) => {\r\n let result = {};\r\n schema.rows.forEach((r) => {\r\n result[r.id] = {};\r\n schema.cols.forEach((c) => {\r\n result[r.id][c.id] = {};\r\n schema.subCols.forEach((s) => {\r\n result[r.id][c.id][s.id] = null;\r\n });\r\n });\r\n });\r\n return result;\r\n };\r\n\r\n getEnvironmentReport = async () => {\r\n const [schema, report] = await Promise.all([\r\n ReportRepository.getEnvironmentSchema(this.props.match.params.idReport),\r\n ReportRepository.getReportEnvironment(this.props.match.params.idReport),\r\n ]).catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.ENVIROMENT, apioperation.GET)\r\n );\r\n });\r\n\r\n // build associative data structures: it makes referencing/updating their values\r\n // much esier in templates and change handlers.\r\n // pass true as the second parameter for multi-valued fields (e.g.: double measure unit)\r\n const waterBySource = this.buildTwoLevelStructure(schema.waterBySource, false);\r\n const waterDischarged = this.buildThreeLevelStructure(schema.waterDischarged, false);\r\n const waterReused = this.buildTwoLevelStructure(schema.waterReused, false);\r\n const hazardousWaste = this.buildTwoLevelStructure(schema.hazardousWaste, true);\r\n const nonHazardousWaste = this.buildTwoLevelStructure(schema.nonHazardousWaste, true);\r\n const energyBySource = this.buildTwoLevelStructure(schema.energyAccounting, false);\r\n const oilSpill = this.buildTwoLevelStructure(schema.oilSpill, true);\r\n const chemicalSpill = this.buildTwoLevelStructure(schema.chemicalSpill, true);\r\n\r\n // TODO - Seeding for waste monetization schema not available!\r\n let wasteMonetization = this.buildTwoLevelStructure(schema.wasteMonetization, true);\r\n\r\n report.waterSourceReportData &&\r\n report.waterSourceReportData.forEach((w) => {\r\n waterBySource[w.idWaterSourceType][w.idWaterUsageType] = w.valueM3;\r\n });\r\n report.waterDischargedReportData &&\r\n report.waterDischargedReportData.forEach((w) => {\r\n waterDischarged[w.idWaterSourceType][w.idWaterDischargeType][w.idWaterDischargeTreatment] =\r\n w.valueM3;\r\n });\r\n report.waterReusedReportData &&\r\n report.waterReusedReportData.forEach((w) => {\r\n waterReused[w.idWaterSourceType][w.idWaterUsageType] = w.valueM3;\r\n });\r\n report.wasteHazReportData &&\r\n report.wasteHazReportData.forEach((w) => {\r\n hazardousWaste[w.idWasteType][w.idWasteTreatment] = {\r\n m3: w.valueT !== 0 && w.valueM3 === 0 ? '' : w.valueM3,\r\n t: w.valueT,\r\n };\r\n });\r\n report.wasteNonHazReportData &&\r\n report.wasteNonHazReportData.forEach((w) => {\r\n nonHazardousWaste[w.idWasteType][w.idWasteTreatment] = {\r\n m3: w.valueT !== 0 && w.valueM3 === 0 ? '' : w.valueM3,\r\n t: w.valueT,\r\n };\r\n });\r\n report.energySourceReportData &&\r\n report.energySourceReportData.forEach((e) => {\r\n if(energyBySource.hasOwnProperty(e.idEnergySourceType)) // to accept new data and remove the unwanted \r\n energyBySource[e.idEnergySourceType][e.idEnergyUsageType] = e.value;\r\n });\r\n report.oilSpillReportData &&\r\n report.oilSpillReportData.forEach((o) => {\r\n oilSpill[o.idSpillValueRange][o.idSpillDestination] = { n: o.valueN, m3: o.valueM3 };\r\n });\r\n report.chemicalSpillReportData &&\r\n report.chemicalSpillReportData.forEach((c) => {\r\n chemicalSpill[c.idSpillValueRange][c.idSpillDestination] = { n: c.valueN, m3: c.valueM3 };\r\n });\r\n report.wasteMonetizationReportData &&\r\n report.wasteMonetizationReportData.forEach((w) => {\r\n wasteMonetization[w.idWasteType][w.idWasteMonetization] = {\r\n m3: w.valueT !== 0 && w.valueM3 === 0 ? '' : w.valueM3,\r\n t: w.valueT,\r\n euro: w.valueEuro,\r\n };\r\n });\r\n\r\n // assign value to irrelevant fields, otherwise validation will fail\r\n // WARNING: this is a temporary ugly hack\r\n const informativeonlyIds = schema.energyAccounting.rows\r\n .filter((r) => r.informativeonly)\r\n .map((r) => r.id);\r\n informativeonlyIds.forEach((i) => {\r\n Object.keys(energyBySource[i]).forEach((key) => {\r\n energyBySource[i][key] = energyBySource[i][key] || 0;\r\n });\r\n });\r\n\r\n this.setState({\r\n schema,\r\n report,\r\n waterBySource,\r\n waterDischarged,\r\n waterReused,\r\n hazardousWaste,\r\n nonHazardousWaste,\r\n wasteMonetization,\r\n energyBySource,\r\n oilSpill,\r\n chemicalSpill,\r\n\r\n oilSpillExistentOilResponse: report.oilSpillExistentOilResponse,\r\n oilSpillNumberEnvSampling: report.oilSpillNumberEnvSampling,\r\n oilSpillRecoveredVolum: report.oilSpillRecoveredVolum,\r\n chemicalSpillNumberEnvSampling: report.chemicalSpillNumberEnvSampling,\r\n chemicalSpillRecoveredVolum: report.chemicalSpillRecoveredVolum,\r\n bottleWater: report.bottleWater,\r\n\r\n //Notes\r\n waterSourceNotes: report.waterSourceNotes,\r\n waterDischargedReusedNotes: report.waterDischargedReusedNotes,\r\n waterHazNotes: report.waterHazNotes,\r\n waterNonHazNotes: report.waterNonHazNotes,\r\n energySourceNotes: report.energySourceNotes,\r\n oilSpillNotes: report.oilSpillNotes,\r\n chemicalSpillNotes: report.chemicalSpillNotes,\r\n wasteMonetizationNotes: report.wasteMonetizationNotes,\r\n\r\n isLoading: false,\r\n });\r\n };\r\n\r\n componentDidMount() {\r\n this.getEnvironmentReport();\r\n }\r\n\r\n onSimpleInputChange = (field, e) => {\r\n const newState = {};\r\n newState[field] = e.target.value;\r\n this.setState(newState);\r\n };\r\n onReportNotesChange = (e) => {\r\n let newState = {};\r\n newState[e.target.id] = e.target.value;\r\n this.setState(newState);\r\n };\r\n handleRadioChange = (value, id, event) => {\r\n if (value === 'true') {\r\n value = true;\r\n } else if (value === 'false') {\r\n value = false;\r\n } else if (value === 'null') {\r\n value = null;\r\n }\r\n this.setState({\r\n oilSpillExistentOilResponse: value,\r\n });\r\n // this.updateState(id, value, event.target.alt);\r\n };\r\n\r\n onRowColInputChange = (tab, row, col, e) => {\r\n const newState = {};\r\n const newRow = { ...this.state[tab][row] };\r\n newRow[col] = e.target.value;\r\n const newStateEntry = { ...this.state[tab] };\r\n newStateEntry[row] = newRow;\r\n newState[tab] = newStateEntry;\r\n this.setState(newState);\r\n };\r\n\r\n onAutoConvertingInputChange = (tab, row, col, unit, e) => {\r\n // TODO - DO NOT mutate the state directly!\r\n\r\n if (unit === 'euro') {\r\n this.state[tab][row][col][unit] = +e.target.value;\r\n } else {\r\n const { density } = this.state.schema[tab].rows.filter((r) => r.id === row)[0];\r\n const conversionCoefficient = unit === 'm3' ? density : 1 / density;\r\n const targetUnit = unit === 'm3' ? 't' : 'm3';\r\n this.state[tab][row][col][unit] = +e.target.value;\r\n if (unit !== 't')\r\n this.state[tab][row][col][targetUnit] = +e.target.value * conversionCoefficient;\r\n if (unit === 't') {\r\n this.state[tab][row][col][targetUnit] = '';\r\n }\r\n }\r\n this.setState({});\r\n };\r\n\r\n onRowColSubcolInputChange = (tab, row, col, subcol, e) => {\r\n // TODO - DO NOT mutate the state directly!\r\n this.state[tab][row][col][subcol] = e.target.value;\r\n this.setState({});\r\n };\r\n\r\n renderWaterBySourceTab = () => {\r\n const waterBySourceHeaders = this.state.schema.waterBySource.cols.map((w) => ({\r\n key: w.id,\r\n header: w.name,\r\n }));\r\n waterBySourceHeaders.unshift(\r\n { key: 'label', header: 'Description' },\r\n { key: 'total', header: 'Total' }\r\n );\r\n\r\n const waterBySourceRows = this.state.schema.waterBySource.rows.map((r) => {\r\n let total = 0;\r\n this.state.schema.waterBySource.cols.forEach(\r\n (c) => (total += +this.state.waterBySource[r.id][c.id] || 0)\r\n );\r\n return { id: r.id, label: r.name, total };\r\n });\r\n\r\n const grandTotal = waterBySourceRows.map((w) => w.total).reduce((acc, cur) => (acc += cur), 0);\r\n\r\n const bottleWater = { id: 0, key: 'bottleWater', label: 'Bottle water (m³)' };\r\n const secondaryTableHeaders = [\r\n { key: 'key', header: '' },\r\n { key: 'label', header: '' },\r\n ];\r\n\r\n const validations = {};\r\n this.state.schema.waterBySource.rows.forEach((r) => {\r\n validations[r.id] = {};\r\n this.state.schema.waterBySource.cols.forEach((c) => {\r\n validations[r.id][c.id] = this.validator.message(\r\n `waterBySource${r.id}${c.id}`,\r\n this.state.waterBySource[r.id][c.id],\r\n 'geq'\r\n );\r\n });\r\n });\r\n\r\n const rows = Object.keys(validations);\r\n const cols = Object.keys(validations[rows[0]]);\r\n let isValid = true;\r\n for (const r of rows) {\r\n for (const c of cols) {\r\n if (validations[r][c] != null) {\r\n isValid = false;\r\n break;\r\n }\r\n }\r\n if (!isValid) break;\r\n }\r\n validations.bottleWater = this.validator.message(\r\n 'waterBySource' + 'BottleWater',\r\n this.state.bottleWater,\r\n 'geq'\r\n );\r\n if (validations.bottleWater != null) isValid = false;\r\n\r\n return (\r\n \r\n
    \r\n (\r\n \r\n {this.state.isLoadingList ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n {headers.map((header) => (\r\n \r\n {header.header !== 'Description' ? (\r\n
    \r\n {' '}\r\n {header.header}

    m³

    \r\n
    \r\n ) : (\r\n header.header\r\n )}\r\n \r\n ))}\r\n
    \r\n
    \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n \r\n \r\n {row.cells.slice(2).map((cell) => (\r\n \r\n ))}\r\n \r\n ))\r\n )}\r\n \r\n \r\n

    \r\n Total:\r\n {Math.round(grandTotal * 100) / 100}\r\n

    \r\n \r\n
    \r\n \r\n
    {row.cells[0].value}\r\n {Math.round(row.cells[1].value * 100) / 100}\r\n \r\n \r\n this.onRowColInputChange(\r\n 'waterBySource',\r\n row.id,\r\n cell.info.header,\r\n e\r\n )\r\n }\r\n type=\"number\"\r\n min=\"0\"\r\n invalid={validations[row.id][cell.info.header] != null}\r\n />\r\n {validations[row.id][cell.info.header]}\r\n
    \r\n )}\r\n
    \r\n )}\r\n />\r\n
    \r\n
    \r\n (\r\n \r\n {this.state.isLoadingList ? (\r\n \r\n ) : (\r\n \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n <>\r\n {rows.map((row) => (\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n )}\r\n \r\n
    {row.cells[1].value}\r\n this.onSimpleInputChange(row.cells[0].value, e)}\r\n type=\"number\"\r\n min=\"0\"\r\n invalid={validations.bottleWater != null}\r\n />\r\n {validations.bottleWater}\r\n
    \r\n )}\r\n
    \r\n )}\r\n />\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n renderWaterDischargedReusedTab = () => {\r\n const waterDischargedHeaders = this.state.schema.waterDischarged.cols.map((c) => ({\r\n key: c.id,\r\n header: c.name,\r\n }));\r\n const waterDischargedRows = this.state.schema.waterDischarged.rows.map((r) => {\r\n let total = 0;\r\n this.state.schema.waterDischarged.cols.forEach((c) => {\r\n this.state.schema.waterDischarged.subCols.forEach((s) => {\r\n total += +this.state.waterDischarged[r.id][c.id][s.id] || 0;\r\n });\r\n });\r\n return { id: r.id, label: r.name, total };\r\n });\r\n\r\n const grandTotalDischarged = waterDischargedRows\r\n .map((w) => w.total)\r\n .reduce((acc, cur) => (acc += cur), 0);\r\n\r\n const waterDischargedSubHeaders = this.state.schema.waterDischarged.cols\r\n .map((c) =>\r\n this.state.schema.waterDischarged.subCols.map((s) => ({\r\n key: c.id + s.id,\r\n id: s.id,\r\n header: s.name,\r\n }))\r\n )\r\n .flat();\r\n waterDischargedSubHeaders.unshift(\r\n { key: 'label', header: 'Discharged Water' },\r\n { key: 'total', header: 'Total' }\r\n );\r\n\r\n const waterReusedHeaders = this.state.schema.waterReused.cols.map((c) => ({\r\n key: c.id,\r\n header: c.name,\r\n }));\r\n const waterReusedRows = this.state.schema.waterReused.rows.map((r) => {\r\n let total = 0;\r\n this.state.schema.waterReused.cols.forEach(\r\n (c) => (total += +this.state.waterReused[r.id][c.id] || 0)\r\n );\r\n return { id: r.id, label: r.name, total };\r\n });\r\n const grandTotalReused = waterReusedRows\r\n .map((w) => w.total)\r\n .reduce((acc, cur) => (acc += cur), 0);\r\n\r\n waterReusedHeaders.unshift(\r\n { key: 'label', header: 'Reused Water' },\r\n { key: 'total', header: 'Total' }\r\n );\r\n\r\n const waterDischargedValidations = {};\r\n this.state.schema.waterDischarged.rows.forEach((r) => {\r\n waterDischargedValidations[r.id] = {};\r\n this.state.schema.waterDischarged.cols.forEach((c) => {\r\n waterDischargedValidations[r.id][c.id] = {};\r\n this.state.schema.waterDischarged.subCols.forEach((s) => {\r\n waterDischargedValidations[r.id][c.id][s.id] = this.validator.message(\r\n `waterDischarged${r.id}${c.id}${s.id}`,\r\n this.state.waterDischarged[r.id][c.id][s.id],\r\n 'geq'\r\n );\r\n });\r\n });\r\n });\r\n const waterReusedValidations = {};\r\n this.state.schema.waterReused.rows.forEach((r) => {\r\n waterReusedValidations[r.id] = {};\r\n this.state.schema.waterReused.cols.forEach((c) => {\r\n waterReusedValidations[r.id][c.id] = this.validator.message(\r\n `waterReused${r.id}${c.id}`,\r\n this.state.waterReused[r.id][c.id],\r\n 'geq'\r\n );\r\n });\r\n });\r\n\r\n let isValid = true;\r\n for (const r of Object.keys(waterDischargedValidations)) {\r\n for (const c of Object.keys(waterDischargedValidations[r])) {\r\n for (const s of Object.keys(waterDischargedValidations[r][c])) {\r\n if (waterDischargedValidations[r][c][s] != null) {\r\n isValid = false;\r\n break;\r\n }\r\n }\r\n if (!isValid) break;\r\n }\r\n if (!isValid) break;\r\n }\r\n for (const r of Object.keys(waterReusedValidations)) {\r\n for (const c of Object.keys(waterReusedValidations[r])) {\r\n if (waterReusedValidations[r][c] != null) {\r\n isValid = false;\r\n break;\r\n }\r\n if (!isValid) break;\r\n }\r\n if (!isValid) break;\r\n }\r\n\r\n return (\r\n \r\n
    \r\n (\r\n \r\n {this.state.isLoadingList ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n {waterDischargedHeaders.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n \r\n \r\n {headers.map((header) => (\r\n \r\n {header.header !== 'Discharged Water' ? (\r\n
    \r\n {' '}\r\n {header.header}

    m³

    \r\n
    \r\n ) : (\r\n header.header\r\n )}\r\n \r\n ))}\r\n
    \r\n
    \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n \r\n \r\n {waterDischargedHeaders.map((h) => (\r\n \r\n {this.state.schema.waterDischarged.subCols.map((s) => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n ))\r\n )}\r\n \r\n \r\n

    \r\n Total:\r\n {Math.round(grandTotalDischarged * 100) / 100}\r\n

    \r\n \r\n
    \r\n \r\n
    {row.cells[0].value}\r\n {Math.round(row.cells[1].value * 100) / 100}\r\n \r\n \r\n this.onRowColSubcolInputChange(\r\n 'waterDischarged',\r\n row.id,\r\n h.key,\r\n s.id,\r\n e\r\n )\r\n }\r\n type=\"number\"\r\n min=\"0\"\r\n invalid={\r\n waterDischargedValidations[row.id][h.key][s.id] != null\r\n }\r\n />\r\n {waterDischargedValidations[row.id][h.key][s.id]}\r\n
    \r\n )}\r\n
    \r\n )}\r\n />\r\n
    \r\n
    \r\n (\r\n \r\n {this.state.isLoadingList ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n {headers.map((header) => (\r\n \r\n {header.header !== 'Reused Water' ? (\r\n
    \r\n {' '}\r\n {header.header}

    m³

    \r\n
    \r\n ) : (\r\n header.header\r\n )}\r\n \r\n ))}\r\n
    \r\n
    \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n \r\n \r\n {row.cells.slice(2).map((cell) => (\r\n \r\n ))}\r\n \r\n ))\r\n )}\r\n \r\n \r\n

    \r\n Total:\r\n {Math.round(grandTotalReused * 100) / 100}\r\n

    \r\n \r\n
    \r\n \r\n
    {row.cells[0].value}\r\n {Math.round(row.cells[1].value * 100) / 100}\r\n \r\n \r\n this.onRowColInputChange(\r\n 'waterReused',\r\n row.id,\r\n cell.info.header,\r\n e\r\n )\r\n }\r\n type=\"number\"\r\n min=\"0\"\r\n invalid={waterReusedValidations[row.id][cell.info.header] != null}\r\n />\r\n {waterReusedValidations[row.id][cell.info.header]}\r\n
    \r\n )}\r\n
    \r\n )}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n renderHazardousWasteTab = () => {\r\n const wasteHazHeaders = this.state.schema.hazardousWaste.cols.map((c) => ({\r\n key: c.id,\r\n header: c.name,\r\n }));\r\n const wasteHazRows = this.state.schema.hazardousWaste.rows.map((r) => {\r\n let total = 0;\r\n this.state.schema.hazardousWaste.cols.forEach((c) => {\r\n total += +this.state.hazardousWaste[r.id][c.id].t || 0;\r\n });\r\n return { id: r.id, label: r.name, total };\r\n });\r\n const units = [\r\n { id: 'm3', header: 'm³' },\r\n { id: 't', header: 't' },\r\n ];\r\n const wasteHazSubHeaders = this.state.schema.hazardousWaste.cols\r\n .map((c) => units.map((s) => ({ key: c.id + s.id, id: s.id, header: s.header })))\r\n .flat();\r\n wasteHazSubHeaders.unshift(\r\n { key: 'label', header: 'Description' },\r\n { key: 'total', header: 't' }\r\n );\r\n const grandTotal = wasteHazRows.map((w) => w.total).reduce((acc, cur) => (acc += cur), 0);\r\n\r\n const hazardousWasteValidations = {};\r\n this.state.schema.hazardousWaste.rows.forEach((r) => {\r\n hazardousWasteValidations[r.id] = {};\r\n this.state.schema.hazardousWaste.cols.forEach((c) => {\r\n hazardousWasteValidations[r.id][c.id] = {};\r\n units.forEach((u) => {\r\n hazardousWasteValidations[r.id][c.id][u.id] = this.validator.message(\r\n `hazardousWaste${r.id}${c.id}${u.id}`,\r\n this.state.hazardousWaste[r.id][c.id][u.id],\r\n 'geq'\r\n );\r\n });\r\n });\r\n });\r\n\r\n let isValid = true;\r\n for (const r of Object.keys(hazardousWasteValidations)) {\r\n for (const c of Object.keys(hazardousWasteValidations[r])) {\r\n for (const u of Object.keys(hazardousWasteValidations[r][c])) {\r\n if (hazardousWasteValidations[r][c][u] != null) {\r\n isValid = false;\r\n break;\r\n }\r\n }\r\n if (!isValid) break;\r\n }\r\n if (!isValid) break;\r\n }\r\n\r\n return (\r\n \r\n
    \r\n (\r\n \r\n {this.state.isLoadingList ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n Total\r\n {wasteHazHeaders.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n \r\n \r\n {headers.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n \r\n \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n <>\r\n {rows.map((row) => (\r\n \r\n \r\n \r\n {wasteHazHeaders.map((h) => (\r\n \r\n {units.map((u) => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n

    \r\n Total:\r\n {Math.round(grandTotal * 100) / 100}\r\n

    \r\n \r\n
    \r\n \r\n )}\r\n \r\n
    {row.cells[0].value}\r\n {Math.round(row.cells[1].value * 100) / 100}\r\n \r\n \r\n this.onAutoConvertingInputChange(\r\n 'hazardousWaste',\r\n row.id,\r\n h.key,\r\n u.id,\r\n e\r\n )\r\n }\r\n type=\"number\"\r\n min=\"0\"\r\n invalid={\r\n hazardousWasteValidations[row.id][h.key][u.id] != null\r\n }\r\n />\r\n {hazardousWasteValidations[row.id][h.key][u.id]}\r\n
    \r\n )}\r\n
    \r\n )}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n renderNonHazardousWasteTab = () => {\r\n const wasteNonHazHeaders = this.state.schema.nonHazardousWaste.cols.map((c) => ({\r\n key: c.id,\r\n header: c.name,\r\n }));\r\n const wasteNonHazRows = this.state.schema.nonHazardousWaste.rows.map((r) => {\r\n let total = 0;\r\n this.state.schema.nonHazardousWaste.cols.forEach((c) => {\r\n total += +this.state.nonHazardousWaste[r.id][c.id].t || 0;\r\n });\r\n return { id: r.id, label: r.name, total };\r\n });\r\n const units = [\r\n { id: 'm3', header: 'm³' },\r\n { id: 't', header: 't' },\r\n ];\r\n const wasteNonHazSubHeaders = this.state.schema.nonHazardousWaste.cols\r\n .map((c) => units.map((s) => ({ key: c.id + s.id, id: s.id, header: s.header })))\r\n .flat();\r\n wasteNonHazSubHeaders.unshift(\r\n { key: 'label', header: 'Description' },\r\n { key: 'total', header: 't' }\r\n );\r\n const grandTotal = wasteNonHazRows.map((w) => w.total).reduce((acc, cur) => (acc += cur), 0);\r\n\r\n const nonHazardousWasteValidations = {};\r\n this.state.schema.nonHazardousWaste.rows.forEach((r) => {\r\n nonHazardousWasteValidations[r.id] = {};\r\n this.state.schema.nonHazardousWaste.cols.forEach((c) => {\r\n nonHazardousWasteValidations[r.id][c.id] = {};\r\n units.forEach((u) => {\r\n nonHazardousWasteValidations[r.id][c.id][u.id] = this.validator.message(\r\n `nonHazardousWaste${r.id}${c.id}${u.id}`,\r\n this.state.nonHazardousWaste[r.id][c.id][u.id],\r\n 'geq'\r\n );\r\n });\r\n });\r\n });\r\n\r\n let isValid = true;\r\n for (const r of Object.keys(nonHazardousWasteValidations)) {\r\n for (const c of Object.keys(nonHazardousWasteValidations[r])) {\r\n for (const u of Object.keys(nonHazardousWasteValidations[r][c])) {\r\n if (nonHazardousWasteValidations[r][c][u] != null) {\r\n isValid = false;\r\n break;\r\n }\r\n }\r\n if (!isValid) break;\r\n }\r\n if (!isValid) break;\r\n }\r\n\r\n return (\r\n \r\n
    \r\n (\r\n \r\n {this.state.isLoadingList ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n Total\r\n {wasteNonHazHeaders.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n \r\n \r\n {headers.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n \r\n \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n <>\r\n {rows.map((row) => (\r\n \r\n \r\n \r\n {wasteNonHazHeaders.map((h) => (\r\n \r\n {units.map((u) => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n

    \r\n Total:\r\n {Math.round(grandTotal * 100) / 100}\r\n

    \r\n \r\n
    \r\n \r\n )}\r\n \r\n
    {row.cells[0].value}\r\n {Math.round(row.cells[1].value * 100) / 100}\r\n \r\n \r\n this.onAutoConvertingInputChange(\r\n 'nonHazardousWaste',\r\n row.id,\r\n h.key,\r\n u.id,\r\n e\r\n )\r\n }\r\n type=\"number\"\r\n min=\"0\"\r\n invalid={\r\n nonHazardousWasteValidations[row.id][h.key][u.id] != null\r\n }\r\n />\r\n {nonHazardousWasteValidations[row.id][h.key][u.id]}\r\n
    \r\n )}\r\n
    \r\n )}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n renderWasteMonetizationTab = () => {\r\n // TODO\r\n const wasteMonetizationHeaders = this.state.schema.wasteMonetization.cols.map((c) => ({\r\n key: c.id,\r\n header: c.name,\r\n }));\r\n const hWasteMonetizationRows = this.state.schema.wasteMonetization.rows\r\n .filter((x) => x.idWasteHazardousType == 'Hazardous')\r\n .map((r) => ({\r\n id: r.id,\r\n label: r.name,\r\n }));\r\n const nhWasteMonetizationRows = this.state.schema.wasteMonetization.rows\r\n .filter((x) => x.idWasteHazardousType == 'Not Hazardous')\r\n .map((r) => ({\r\n id: r.id,\r\n label: r.name,\r\n }));\r\n const units = [\r\n { id: 'm3', header: 'm³' },\r\n { id: 't', header: 't' },\r\n { id: 'euro', header: '€' },\r\n ];\r\n const hWasteMonetizationSubHeaders = this.state.schema.wasteMonetization.cols\r\n .map((c) => units.map((s) => ({ key: c.id + s.id, id: s.id, header: s.header })))\r\n .flat();\r\n const nhWasteMonetizationSubHeaders = this.state.schema.wasteMonetization.cols\r\n .map((c) => units.map((s) => ({ key: c.id + s.id, id: s.id, header: s.header })))\r\n .flat();\r\n hWasteMonetizationSubHeaders.unshift({ key: 'label', header: 'Description - Hazardous Waste' });\r\n nhWasteMonetizationSubHeaders.unshift({\r\n key: 'label',\r\n header: 'Description - Non Hazardous Waste',\r\n });\r\n\r\n const wasteMonetizationValidations = {};\r\n this.state.schema.wasteMonetization.rows.forEach((r) => {\r\n wasteMonetizationValidations[r.id] = {};\r\n this.state.schema.wasteMonetization.cols.forEach((c) => {\r\n wasteMonetizationValidations[r.id][c.id] = {};\r\n units.forEach((u) => {\r\n wasteMonetizationValidations[r.id][c.id][u.id] = this.validator.message(\r\n `wasteMonetization${r.id}${c.id}${u.id}`,\r\n this.state.wasteMonetization[r.id][c.id][u.id],\r\n 'geq'\r\n );\r\n });\r\n });\r\n });\r\n\r\n let isValid = true;\r\n for (const r of Object.keys(wasteMonetizationValidations)) {\r\n for (const c of Object.keys(wasteMonetizationValidations[r])) {\r\n for (const u of Object.keys(wasteMonetizationValidations[r][c])) {\r\n if (wasteMonetizationValidations[r][c][u] != null) {\r\n isValid = false;\r\n break;\r\n }\r\n }\r\n if (!isValid) break;\r\n }\r\n if (!isValid) break;\r\n }\r\n\r\n return (\r\n \r\n
    \r\n (\r\n \r\n {this.state.isLoadingList ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n {wasteMonetizationHeaders.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n \r\n \r\n {headers.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n \r\n \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n <>\r\n {rows.map((row) => (\r\n \r\n \r\n {wasteMonetizationHeaders.map((h) => (\r\n \r\n {units.map((u) => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n )}\r\n \r\n
    {row.cells[0].value}\r\n \r\n this.onAutoConvertingInputChange(\r\n 'wasteMonetization',\r\n row.id,\r\n h.key,\r\n u.id,\r\n e\r\n )\r\n }\r\n type=\"number\"\r\n min=\"0\"\r\n invalid={\r\n wasteMonetizationValidations[row.id][h.key][u.id] != null\r\n }\r\n />\r\n {wasteMonetizationValidations[row.id][h.key][u.id]}\r\n
    \r\n )}\r\n
    \r\n )}\r\n />\r\n

    \r\n

    \r\n (\r\n \r\n {this.state.isLoadingList ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n {wasteMonetizationHeaders.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n \r\n \r\n {headers.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n \r\n \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n <>\r\n {rows.map((row) => (\r\n \r\n \r\n {wasteMonetizationHeaders.map((h) => (\r\n \r\n {units.map((u) => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n )}\r\n \r\n
    {row.cells[0].value}\r\n \r\n this.onAutoConvertingInputChange(\r\n 'wasteMonetization',\r\n row.id,\r\n h.key,\r\n u.id,\r\n e\r\n )\r\n }\r\n type=\"number\"\r\n min=\"0\"\r\n invalid={\r\n wasteMonetizationValidations[row.id][h.key][u.id] != null\r\n }\r\n />\r\n {wasteMonetizationValidations[row.id][h.key][u.id]}\r\n
    \r\n )}\r\n
    \r\n )}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n renderEnergyBySourceTab = () => {\r\n const energyBySourceHeaders = this.state.schema.energyAccounting.cols.map((w) => ({\r\n key: w.id,\r\n header: w.name,\r\n }));\r\n energyBySourceHeaders.unshift(\r\n { key: 'label', header: 'Source' },\r\n { key: 'unit', header: 'Units' },\r\n { key: 'total', header: 'Total' }\r\n );\r\n const energyBySourceRows = this.state.schema.energyAccounting.rows\r\n .filter((r) => !r.informativeonly)\r\n .map((r) => {\r\n let total = 0;\r\n this.state.schema.energyAccounting.cols.forEach(\r\n (c) => (total += +this.state.energyBySource[r.id][c.id] || 0)\r\n );\r\n return {\r\n id: r.id,\r\n label: r.name,\r\n total,\r\n unit: r.name === 'Natural gas(methane)' ? 'NM3' : 'TON',\r\n };\r\n });\r\n const grandTotal = energyBySourceRows.map((w) => w.total).reduce((acc, cur) => (acc += cur), 0);\r\n\r\n const energyBySourceInformativeHeaders = [\r\n { key: 'label', header: 'Source' },\r\n { key: 'unit', header: 'Units' },\r\n {\r\n key: this.state.schema.energyAccounting.cols.filter((c) => (c.Name = 'Other'))[0].id,\r\n header: 'Total',\r\n },\r\n ];\r\n const energyBySourceInformativeRows = this.state.schema.energyAccounting.rows\r\n .filter((r) => r.informativeonly)\r\n .map((r) => ({ id: r.id, label: r.name, unit: 'KWh', total: null }));\r\n\r\n const energyAccountingValidations = {};\r\n this.state.schema.energyAccounting.rows.forEach((r) => {\r\n energyAccountingValidations[r.id] = {};\r\n this.state.schema.energyAccounting.cols.forEach((c) => {\r\n energyAccountingValidations[r.id][c.id] = this.validator.message(\r\n `energyAccounting${r.id}${c.id}`,\r\n this.state.energyBySource[r.id][c.id],\r\n 'geq'\r\n );\r\n });\r\n });\r\n\r\n let isValid = true;\r\n for (const r of Object.keys(energyAccountingValidations)) {\r\n for (const c of Object.keys(energyAccountingValidations[r])) {\r\n if (energyAccountingValidations[r][c] != null) {\r\n isValid = false;\r\n break;\r\n }\r\n }\r\n if (!isValid) break;\r\n }\r\n\r\n return (\r\n \r\n
    \r\n (\r\n \r\n {this.state.isLoadingList ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n {headers.map((header) => (\r\n \r\n
    {header.header}
    \r\n \r\n ))}\r\n
    \r\n
    \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n <>\r\n {rows.map((row) => (\r\n \r\n \r\n \r\n \r\n {row.cells.slice(3).map((cell) => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
    {row.cells[0].value}{row.cells[1].value}\r\n {Math.round(row.cells[2].value * 100) / 100}\r\n \r\n {\r\n this.onRowColInputChange(\r\n 'energyBySource',\r\n row.id,\r\n cell.info.header,\r\n e\r\n );\r\n }}\r\n type=\"number\"\r\n min=\"0\"\r\n invalid={\r\n energyAccountingValidations[row.id][cell.info.header] != null\r\n }\r\n />\r\n {energyAccountingValidations[row.id][cell.info.header]}\r\n \r\n

    \r\n Total:\r\n {Math.round(grandTotal * 100) / 100}\r\n

    \r\n
    \r\n )}\r\n
    \r\n )}\r\n />\r\n
    \r\n
    \r\n (\r\n \r\n {this.state.isLoadingList ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n {headers.map((header) => (\r\n \r\n
    {header.header}
    \r\n \r\n ))}\r\n
    \r\n
    \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n \r\n \r\n {row.cells.slice(2).map((cell) => (\r\n \r\n ))}\r\n \r\n ))\r\n )}\r\n \r\n
    {row.cells[0].value}\r\n {row.cells[1].value}\r\n \r\n \r\n this.onRowColInputChange(\r\n 'energyBySource',\r\n row.id,\r\n cell.info.header,\r\n e\r\n )\r\n }\r\n type=\"number\"\r\n min=\"0\"\r\n invalid={\r\n energyAccountingValidations[row.id][cell.info.header] != null\r\n }\r\n />\r\n {energyAccountingValidations[row.id][cell.info.header]}\r\n
    \r\n )}\r\n
    \r\n )}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n renderOilSpillTab = () => {\r\n const oilSpillHeaders = this.state.schema.oilSpill.cols\r\n .filter((x) => x.idSpillType === 'Oil Spill')\r\n .map((c) => ({ key: c.id, header: c.name }));\r\n const oilSpillRows = this.state.schema.oilSpill.rows.map((r) => ({ id: r.id, label: r.name }));\r\n\r\n const units = [\r\n { id: 'n', header: 'Number' },\r\n { id: 'm3', header: 'Volume (m³ )' },\r\n ];\r\n\r\n const oilSpillSubHeaders = this.state.schema.oilSpill.cols\r\n .filter((x) => x.idSpillType === 'Oil Spill')\r\n .map((c) => units.map((s) => ({ key: c.id + s.id, id: s.id, header: s.header })))\r\n .flat();\r\n oilSpillSubHeaders.unshift({ key: 'label', header: 'Spill' });\r\n\r\n const totals = [];\r\n this.state.schema.oilSpill.cols\r\n .filter((x) => x.idSpillType === 'Oil Spill')\r\n .forEach((c) => {\r\n units.forEach((u) => {\r\n let total = 0;\r\n this.state.schema.oilSpill.rows.forEach((r) => {\r\n total += +this.state.oilSpill[r.id][c.id][u.id] || 0;\r\n });\r\n totals.push(total);\r\n });\r\n });\r\n\r\n const secondaryTableHeaders = [\r\n { key: 'key', header: '' },\r\n { key: 'label', header: '' },\r\n ];\r\n const secondaryTableRows = [\r\n {\r\n id: 0,\r\n key: 'oilSpillNumberEnvSampling',\r\n label: 'Number of environmental samplings/monitorings after the spill',\r\n },\r\n { id: 1, key: 'oilSpillRecoveredVolum', label: 'Recovered contaminated volume (m³)' },\r\n ];\r\n\r\n const existentOfOilResponsePlan = {\r\n id: 0,\r\n key: 'oilSpillExistentOilResponse',\r\n label: 'Existent of Oil response Plan/Procedure',\r\n };\r\n\r\n const oilSpillValidations = {};\r\n this.state.schema.oilSpill.rows.forEach((r) => {\r\n oilSpillValidations[r.id] = {};\r\n this.state.schema.oilSpill.cols.forEach((c) => {\r\n oilSpillValidations[r.id][c.id] = {};\r\n units.forEach((u) => {\r\n oilSpillValidations[r.id][c.id][u.id] = this.validator.message(\r\n `oilSpill${r.id}${c.id}${u.id}`,\r\n this.state.oilSpill[r.id][c.id][u.id],\r\n 'geq'\r\n );\r\n });\r\n });\r\n });\r\n\r\n let isValid = true;\r\n for (const r of Object.keys(oilSpillValidations)) {\r\n for (const c of Object.keys(oilSpillValidations[r])) {\r\n for (const u of Object.keys(oilSpillValidations[r][c])) {\r\n if (oilSpillValidations[r][c][u] != null) {\r\n isValid = false;\r\n break;\r\n }\r\n }\r\n if (!isValid) break;\r\n }\r\n if (!isValid) break;\r\n }\r\n oilSpillValidations.oilSpillNumberEnvSampling = this.validator.message(\r\n 'oilSpillNumberEnvSampling',\r\n this.state.oilSpillNumberEnvSampling,\r\n 'geq'\r\n );\r\n oilSpillValidations.oilSpillRecoveredVolum = this.validator.message(\r\n 'oilSpillRecoveredVolum',\r\n this.state.oilSpillRecoveredVolum,\r\n 'geq'\r\n );\r\n if (\r\n oilSpillValidations.oilSpillNumberEnvSampling != null ||\r\n oilSpillValidations.oilSpillRecoveredVolum != null\r\n ) {\r\n isValid = false;\r\n }\r\n\r\n return (\r\n \r\n
    \r\n (\r\n \r\n {this.state.isLoadingList ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n {oilSpillHeaders.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n \r\n \r\n {headers.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n \r\n \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n <>\r\n {rows.map((row) => (\r\n \r\n \r\n {oilSpillHeaders.map((h) => (\r\n \r\n {units.map((u) => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n {totals.map((t) => (\r\n \r\n ))}\r\n \r\n \r\n )}\r\n \r\n
    {row.cells[0].value}\r\n \r\n this.onRowColSubcolInputChange(\r\n 'oilSpill',\r\n row.id,\r\n h.key,\r\n u.id,\r\n e\r\n )\r\n }\r\n type=\"number\"\r\n min=\"0\"\r\n invalid={oilSpillValidations[row.id][h.key][u.id] != null}\r\n />\r\n {oilSpillValidations[row.id][h.key][u.id]}\r\n Total{Math.round(t * 100) / 100}
    \r\n )}\r\n
    \r\n )}\r\n />\r\n
    \r\n
    \r\n (\r\n \r\n {this.state.isLoadingList ? (\r\n \r\n ) : (\r\n \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n <>\r\n {rows.map((row) => (\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n )}\r\n \r\n
    {row.cells[1].value}\r\n this.onSimpleInputChange(row.cells[0].value, e)}\r\n type=\"number\"\r\n min=\"0\"\r\n invalid={oilSpillValidations[row.cells[0].value] != null}\r\n />\r\n {oilSpillValidations[row.cells[0].value]}\r\n
    \r\n )}\r\n
    \r\n )}\r\n />\r\n
    \r\n\r\n
    \r\n (\r\n \r\n {this.state.isLoadingList ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    {existentOfOilResponsePlan.label}\r\n \r\n \r\n \r\n \r\n
    \r\n )}\r\n
    \r\n )}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n renderChemicalSpillTab = () => {\r\n const chemicalSpillHeaders = this.state.schema.chemicalSpill.cols\r\n .filter((x) => x.idSpillType === 'Chemical spill')\r\n .map((c) => ({ key: c.id, header: c.name }));\r\n const chemicalSpillRows = this.state.schema.chemicalSpill.rows.map((r) => ({\r\n id: r.id,\r\n label: r.name,\r\n }));\r\n\r\n const units = [\r\n { id: 'n', header: 'Number' },\r\n { id: 'm3', header: 'Volume (m³)' },\r\n ];\r\n\r\n const chemicalSpillSubHeaders = this.state.schema.chemicalSpill.cols\r\n .filter((x) => x.idSpillType === 'Chemical spill')\r\n .map((c) => units.map((s) => ({ key: c.id + s.id, id: s.id, header: s.header })))\r\n .flat();\r\n chemicalSpillSubHeaders.unshift({ key: 'label', header: 'Near Miss' });\r\n\r\n const totals = [];\r\n this.state.schema.chemicalSpill.cols\r\n .filter((x) => x.idSpillType === 'Chemical spill')\r\n .forEach((c) => {\r\n units.forEach((u) => {\r\n let total = 0;\r\n this.state.schema.chemicalSpill.rows.forEach((r) => {\r\n total += +this.state.chemicalSpill[r.id][c.id][u.id] || 0;\r\n });\r\n totals.push(total);\r\n });\r\n });\r\n\r\n const secondaryTableHeaders = [\r\n { key: 'key', header: '' },\r\n { key: 'label', header: '' },\r\n ];\r\n const secondaryTableRows = [\r\n {\r\n id: 0,\r\n key: 'chemicalSpillNumberEnvSampling',\r\n label: 'Number of environmental samplings/monitorings after the spill',\r\n },\r\n { id: 1, key: 'chemicalSpillRecoveredVolum', label: 'Recovered contaminated volume (m³)' },\r\n ];\r\n\r\n const chemicalSpillValidations = {};\r\n this.state.schema.chemicalSpill.rows.forEach((r) => {\r\n chemicalSpillValidations[r.id] = {};\r\n this.state.schema.chemicalSpill.cols.forEach((c) => {\r\n chemicalSpillValidations[r.id][c.id] = {};\r\n units.forEach((u) => {\r\n chemicalSpillValidations[r.id][c.id][u.id] = this.validator.message(\r\n `chemicalSpill${r.id}${c.id}${u.id}`,\r\n this.state.chemicalSpill[r.id][c.id][u.id],\r\n 'geq'\r\n );\r\n });\r\n });\r\n });\r\n\r\n let isValid = true;\r\n for (const r of Object.keys(chemicalSpillValidations)) {\r\n for (const c of Object.keys(chemicalSpillValidations[r])) {\r\n for (const u of Object.keys(chemicalSpillValidations[r][c])) {\r\n if (chemicalSpillValidations[r][c][u] != null) {\r\n isValid = false;\r\n break;\r\n }\r\n }\r\n if (!isValid) break;\r\n }\r\n if (!isValid) break;\r\n }\r\n chemicalSpillValidations.chemicalSpillNumberEnvSampling = this.validator.message(\r\n 'chemicalSpillNumberEnvSampling',\r\n this.state.chemicalSpillNumberEnvSampling,\r\n 'geq'\r\n );\r\n chemicalSpillValidations.chemicalSpillRecoveredVolum = this.validator.message(\r\n 'chemicalSpillRecoveredVolum',\r\n this.state.chemicalSpillRecoveredVolum,\r\n 'geq'\r\n );\r\n if (\r\n chemicalSpillValidations.chemicalSpillNumberEnvSampling != null ||\r\n chemicalSpillValidations.chemicalSpillRecoveredVolum != null\r\n ) {\r\n isValid = false;\r\n }\r\n\r\n return (\r\n \r\n
    \r\n (\r\n \r\n {this.state.isLoadingList ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n {chemicalSpillHeaders.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n \r\n \r\n {headers.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n \r\n \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n <>\r\n {rows.map((row) => (\r\n \r\n \r\n {chemicalSpillHeaders.map((h) => (\r\n \r\n {units.map((u) => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n {totals.map((t) => (\r\n \r\n ))}\r\n \r\n \r\n )}\r\n \r\n
    {row.cells[0].value}\r\n \r\n this.onRowColSubcolInputChange(\r\n 'chemicalSpill',\r\n row.id,\r\n h.key,\r\n u.id,\r\n e\r\n )\r\n }\r\n type=\"number\"\r\n min=\"0\"\r\n invalid={\r\n chemicalSpillValidations[row.id][h.key][u.id] != null\r\n }\r\n />\r\n {chemicalSpillValidations[row.id][h.key][u.id]}\r\n Total{Math.round(t * 100) / 100}
    \r\n )}\r\n
    \r\n )}\r\n />\r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n {/*
    \r\n (\r\n \r\n {this.state.isLoadingList ?\r\n \r\n :\r\n \r\n \r\n {\r\n (rows == null || rows.length == 0)\r\n ?\r\n \r\n :\r\n <>\r\n {\r\n rows.map(row => (\r\n \r\n \r\n \r\n \r\n ))\r\n }\r\n \r\n }\r\n \r\n
    \r\n {row.cells[1].value}\r\n \r\n this.onSimpleInputChange(row.cells[0].value, e)}\r\n type=\"number\"\r\n min=\"0\"\r\n invalid={chemicalSpillValidations[row.cells[0].value] != null}\r\n />\r\n { chemicalSpillValidations[row.cells[0].value] }\r\n
    \r\n }\r\n
    \r\n )}\r\n />\r\n\r\n
    */}\r\n
    \r\n );\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n {({ user }) => (\r\n <>\r\n \r\n
    \r\n {!this.state.isLoading ? (\r\n this.closeModalHistory()}\r\n />\r\n ) : (\r\n ''\r\n )}\r\n
    \r\n {this.state.isLoading ? (\r\n \r\n ) : (\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n {this.divInfo()}\r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n this.submitReport(false)}\r\n disabled={this.state.isLoadingSubmitted}\r\n >\r\n {this.state.isSubmitted ? (\r\n Save\r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.state.isInvalid && !this.validator.allValid() ? (\r\n
    \r\n
    \r\n

    \r\n Some tabs contain erroneous fields\r\n

    \r\n
    \r\n
    \r\n ) : null}\r\n
    \r\n {this.state.isLoading ? (\r\n \r\n ) : (\r\n \r\n {this.renderWaterBySourceTab()}\r\n {this.renderWaterDischargedReusedTab()}\r\n {this.renderHazardousWasteTab()}\r\n {this.renderNonHazardousWasteTab()}\r\n {this.renderWasteMonetizationTab()}\r\n {this.renderEnergyBySourceTab()}\r\n {this.renderOilSpillTab()}\r\n {this.renderChemicalSpillTab()}\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n {this.state.isWarningModalOpen ? (\r\n \r\n ) : null}\r\n \r\n )}\r\n
    \r\n );\r\n }\r\n\r\n toggleWarningModal = () => {\r\n this.setState((prevState) => ({\r\n isWarningModalOpen: !prevState.isWarningModalOpen,\r\n }));\r\n };\r\n\r\n handleConfirmSubmit = () => {\r\n this.setState(\r\n {\r\n isWarningModalOpen: false,\r\n },\r\n () => this.submitReport(true)\r\n );\r\n };\r\n\r\n destructureWaterData(obj, fillEmptyFields) {\r\n const result = [];\r\n let containsEmptyFields = false;\r\n Object.keys(obj).forEach((key1) => {\r\n Object.keys(obj[key1]).forEach((key2) => {\r\n if (!fillEmptyFields && (obj[key1][key2] === undefined || obj[key1][key2] === '')) {\r\n containsEmptyFields = true;\r\n } else {\r\n obj[key1][key2] = obj[key1][key2] || 0;\r\n result.push({\r\n idWaterSourceType: key1,\r\n idWaterUsageType: key2,\r\n idReportEnvironment: this.state.report.idReportEnvironment,\r\n valueM3: obj[key1][key2],\r\n });\r\n }\r\n });\r\n });\r\n return containsEmptyFields ? null : result;\r\n }\r\n\r\n destructureThreeLevelsData(obj, fillEmptyFields) {\r\n const result = [];\r\n let containsEmptyFields = false;\r\n Object.keys(obj).forEach((key1) => {\r\n Object.keys(obj[key1]).forEach((key2) => {\r\n Object.keys(obj[key1][key2]).forEach((key3) => {\r\n if (\r\n !fillEmptyFields &&\r\n (obj[key1][key2][key3] === undefined || obj[key1][key2][key3] === '')\r\n ) {\r\n containsEmptyFields = true;\r\n } else {\r\n obj[key1][key2][key3] = obj[key1][key2][key3] || 0;\r\n result.push({\r\n idWaterSourceType: key1,\r\n idWaterDischargeType: key2,\r\n idWaterDischargeTreatment: key3,\r\n idReportEnvironment: this.state.report.idReportEnvironment,\r\n valueM3: obj[key1][key2][key3],\r\n });\r\n }\r\n });\r\n });\r\n });\r\n return containsEmptyFields ? null : result;\r\n }\r\n\r\n destructureEnergyData(obj, fillEmptyFields) {\r\n const result = [];\r\n let containsEmptyFields = false;\r\n Object.keys(obj).forEach((key1) => {\r\n Object.keys(obj[key1]).forEach((key2) => {\r\n if (!fillEmptyFields && (obj[key1][key2] === undefined || obj[key1][key2] === '')) {\r\n containsEmptyFields = true;\r\n } else {\r\n obj[key1][key2] = obj[key1][key2] || 0;\r\n result.push({\r\n idEnergySourceType: key1,\r\n idEnergyUsageType: key2,\r\n idReportEnvironment: this.state.report.idReportEnvironment,\r\n value: obj[key1][key2],\r\n });\r\n }\r\n });\r\n });\r\n return containsEmptyFields ? null : result;\r\n }\r\n\r\n destructureWasteData(obj, fillEmptyFields) {\r\n const result = [];\r\n let containsEmptyFields = false;\r\n Object.keys(obj).forEach((key1) => {\r\n Object.keys(obj[key1]).forEach((key2) => {\r\n if (\r\n !fillEmptyFields &&\r\n (obj[key1][key2].m3 === undefined ||\r\n obj[key1][key2].m3 === '' ||\r\n obj[key1][key2].t === undefined ||\r\n obj[key1][key2].t === '')\r\n ) {\r\n containsEmptyFields = true;\r\n } else {\r\n obj[key1][key2].m3 = obj[key1][key2].m3 || 0;\r\n obj[key1][key2].t = obj[key1][key2].t || 0;\r\n result.push({\r\n idWasteType: key1,\r\n idWasteTreatment: key2,\r\n idReportEnvironment: this.state.report.idReportEnvironment,\r\n valueM3: obj[key1][key2].m3,\r\n valueT: obj[key1][key2].t,\r\n });\r\n }\r\n });\r\n });\r\n return containsEmptyFields ? null : result;\r\n }\r\n\r\n destructureWasteMonetizationData(obj, fillEmptyFields) {\r\n const result = [];\r\n let containsEmptyFields = false;\r\n Object.keys(obj).forEach((key1) => {\r\n Object.keys(obj[key1]).forEach((key2) => {\r\n if (\r\n !fillEmptyFields &&\r\n (obj[key1][key2].m3 === undefined ||\r\n obj[key1][key2].m3 === '' ||\r\n obj[key1][key2].t === undefined ||\r\n obj[key1][key2].t === '' ||\r\n obj[key1][key2].euro === undefined ||\r\n obj[key1][key2].euro === '')\r\n ) {\r\n containsEmptyFields = true;\r\n } else {\r\n obj[key1][key2].m3 = obj[key1][key2].m3 || 0;\r\n if (obj[key1][key2].m3 === 0) obj[key1][key2].t = obj[key1][key2].t || 0;\r\n obj[key1][key2].euro = obj[key1][key2].euro || 0;\r\n result.push({\r\n idWasteType: key1,\r\n idWasteMonetization: key2,\r\n idReportEnvironment: this.state.report.idReportEnvironment,\r\n valueM3: obj[key1][key2].m3,\r\n valueT: obj[key1][key2].t,\r\n valueEuro: obj[key1][key2].euro,\r\n });\r\n }\r\n });\r\n });\r\n return containsEmptyFields ? null : result;\r\n }\r\n\r\n destructureSpillData(obj, fillEmptyFields) {\r\n const result = [];\r\n let containsEmptyFields = false;\r\n Object.keys(obj).forEach((key1) => {\r\n Object.keys(obj[key1]).forEach((key2) => {\r\n if (\r\n !fillEmptyFields &&\r\n (obj[key1][key2].m3 === undefined ||\r\n obj[key1][key2].m3 === '' ||\r\n obj[key1][key2].n === undefined ||\r\n obj[key1][key2].n === '')\r\n ) {\r\n containsEmptyFields = true;\r\n } else {\r\n obj[key1][key2].n = obj[key1][key2].n || 0;\r\n obj[key1][key2].m3 = obj[key1][key2].m3 || 0;\r\n result.push({\r\n idSpillValueRange: key1,\r\n idSpillDestination: key2,\r\n idReportEnvironment: this.state.report.idReportEnvironment,\r\n valueN: obj[key1][key2].n,\r\n valueM3: obj[key1][key2].m3,\r\n });\r\n }\r\n });\r\n });\r\n return containsEmptyFields ? null : result;\r\n }\r\n\r\n submitReport = (fillEmptyFields) => {\r\n if (this.validator.allValid()) {\r\n this.setState({ isInvalid: false });\r\n // Destructure data in order to make it compatible with BE DTO types\r\n const waterBySource = this.destructureWaterData(this.state.waterBySource, fillEmptyFields);\r\n const waterDischarged = this.destructureThreeLevelsData(\r\n this.state.waterDischarged,\r\n fillEmptyFields\r\n );\r\n const waterReused = this.destructureWaterData(this.state.waterReused, fillEmptyFields);\r\n const hazardousWaste = this.destructureWasteData(this.state.hazardousWaste, fillEmptyFields);\r\n const nonHazardousWaste = this.destructureWasteData(\r\n this.state.nonHazardousWaste,\r\n fillEmptyFields\r\n );\r\n const wasteMonetization = this.destructureWasteMonetizationData(\r\n this.state.wasteMonetization,\r\n fillEmptyFields\r\n );\r\n const energyBySource = this.destructureEnergyData(this.state.energyBySource, fillEmptyFields);\r\n const oilSpill = this.destructureSpillData(this.state.oilSpill, fillEmptyFields);\r\n const chemicalSpill = this.destructureSpillData(this.state.chemicalSpill, fillEmptyFields);\r\n\r\n const dataList = [\r\n waterBySource,\r\n waterDischarged,\r\n waterReused,\r\n hazardousWaste,\r\n nonHazardousWaste,\r\n wasteMonetization,\r\n energyBySource,\r\n oilSpill,\r\n chemicalSpill,\r\n ];\r\n const standaloneFields = [\r\n this.state.oilSpillNumberEnvSampling,\r\n this.state.oilSpillRecoveredVolum,\r\n this.state.chemicalSpillNumberEnvSampling,\r\n this.state.chemicalSpillRecoveredVolum,\r\n this.state.bottleWater,\r\n ];\r\n\r\n if (fillEmptyFields) {\r\n this.setState((prevState) => ({\r\n oilSpillNumberEnvSampling: prevState.oilSpillNumberEnvSampling || 0,\r\n oilSpillRecoveredVolum: prevState.oilSpillRecoveredVolum || 0,\r\n chemicalSpillNumberEnvSampling: prevState.chemicalSpillNumberEnvSampling || 0,\r\n chemicalSpillRecoveredVolum: prevState.chemicalSpillRecoveredVolum || 0,\r\n bottleWater: prevState.bottleWater || 0,\r\n }));\r\n }\r\n\r\n const containEmptyFields =\r\n !fillEmptyFields &&\r\n (dataList.some((e) => e === null) || standaloneFields.some((e) => e == null || e === ''));\r\n\r\n if (containEmptyFields) {\r\n this.toggleWarningModal();\r\n return;\r\n }\r\n\r\n const dto = {\r\n waterSourceReportData: waterBySource,\r\n waterDischargedReportData: waterDischarged,\r\n waterReusedReportData: waterReused,\r\n wasteHazReportData: hazardousWaste,\r\n wasteNonHazReportData: nonHazardousWaste,\r\n wasteMonetizationReportData: wasteMonetization,\r\n energySourceReportData: energyBySource,\r\n oilSpillReportData: oilSpill,\r\n chemicalSpillReportData: chemicalSpill,\r\n\r\n // standalone fields\r\n oilSpillExistentOilResponse: this.state.oilSpillExistentOilResponse || false,\r\n oilSpillNumberEnvSampling: this.state.oilSpillNumberEnvSampling || 0,\r\n oilSpillRecoveredVolum: this.state.oilSpillRecoveredVolum || 0,\r\n chemicalSpillNumberEnvSampling: this.state.chemicalSpillNumberEnvSampling || 0,\r\n chemicalSpillRecoveredVolum: this.state.chemicalSpillRecoveredVolum || 0,\r\n bottleWater: this.state.bottleWater || 0,\r\n\r\n //Notes\r\n waterSourceNotes: this.state.waterSourceNotes,\r\n waterDischargedReusedNotes: this.state.waterDischargedReusedNotes,\r\n waterHazNotes: this.state.waterHazNotes,\r\n waterNonHazNotes: this.state.waterNonHazNotes,\r\n energySourceNotes: this.state.energySourceNotes,\r\n oilSpillNotes: this.state.oilSpillNotes,\r\n chemicalSpillNotes: this.state.chemicalSpillNotes,\r\n wasteMonetizationNotes: this.state.wasteMonetizationNotes,\r\n };\r\n\r\n this.setState({ isSubmitted: false, isLoadingSubmitted: true });\r\n api\r\n .put('reports/environment/', dto, this.props.match.params.idReport)\r\n .then((response) => {\r\n ReportRepository.updateCachedEnvironment(this.props.match.params.idReport, dto);\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.ENVIROMENT, apioperation.PUT)\r\n );\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.ENVIROMENT, apioperation.PUT)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isSubmitted: true,\r\n isLoadingSubmitted: false,\r\n });\r\n });\r\n } else {\r\n this.validator.showMessages();\r\n this.setState({ isInvalid: true });\r\n }\r\n };\r\n}\r\n","import React, { Component } from 'react';\r\nimport {\r\n TextInput,\r\n Button,\r\n Table,\r\n TableContainer,\r\n CodeSnippetSkeleton,\r\n TableBody,\r\n Loading,\r\n InlineLoading,\r\n} from 'carbon-components-react';\r\nimport '../../scss/custom.scss';\r\nimport Save16 from '@carbon/icons-react/lib/save/20';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport moment from 'moment';\r\nimport { Information16 } from '@carbon/icons-react';\r\nimport { api } from '../../helpers/api/api';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport { getError, entitiesLabels, apioperation, getSuccess } from '../../helpers/Constants';\r\nimport PageBreadCrumb from '../../helpers/PageBreadCrumb';\r\nimport { AppContext } from '../../helpers/context/AppContext';\r\nimport { IsEditable } from '../../helpers/authorization/Policies';\r\nimport { HistoryTable } from '../../helpers/HistoryTable';\r\nimport { WarningModal } from '../common/WarningModal';\r\nimport { ConfirmAlertCustom } from '../../helpers/ConfirmAlertCustom';\r\nimport ReportRepository from '../../helpers/api/ReportRepository';\r\n\r\nexport default class AssetIntegrity extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator();\r\n this.geqValidator = {\r\n message: 'The value must be greater than or equal to zero',\r\n rule: (val, params, validator) => {\r\n return +val >= 0;\r\n },\r\n };\r\n\r\n this.assetIntegrityFormModel = [\r\n { label: 'N° of VSC (vessel safety case issued or updated)', fieldRef: 'vsc' },\r\n { label: 'N° of SCEq (Safety Critical Equipment)', fieldRef: 'scEq' },\r\n { label: 'N° of SCC (Safety Critical Competences)', fieldRef: 'scc' },\r\n { label: 'N° of SCP (Safety Critical Procedures)', fieldRef: 'scp' },\r\n { label: 'N° of SCEq PS (Performance Standards)', fieldRef: 'scEqPS' },\r\n { label: 'N° of SCC PS (Performance Standards)', fieldRef: 'sccps' },\r\n { label: 'N° of SCP PS (Performance Standards)', fieldRef: 'scpps' },\r\n {\r\n label: 'N° of SCEq PS ES (Performance Standards with examination scheme)',\r\n fieldRef: 'scEqPSES',\r\n },\r\n {\r\n label: 'N° of SCC PS ES (Performance Standards with examination scheme)',\r\n fieldRef: 'sccpses',\r\n },\r\n {\r\n label: 'N° of Overdue actions during VSC addressing MAEs (Cumulated Value)',\r\n fieldRef: 'vscActionsOverdue',\r\n },\r\n {\r\n label: 'Total N° of actions during VSC addressing MAEs (Cumulated Value)',\r\n fieldRef: 'vscActionsRaised',\r\n },\r\n {\r\n label:\r\n 'N° of closed MoC requiring Risk Assessment (closed management of change requiring risk assessment, cumulated value)',\r\n fieldRef: 'closedMoC',\r\n },\r\n {\r\n label:\r\n 'Total N° of MoC requiring Risk Assessment (total number of management of change requiring risk assessment, cumulated value)',\r\n fieldRef: 'totalMoC',\r\n },\r\n {\r\n label:\r\n 'N° of Overdue work orders on SCEq, (this data could be received from AMOS (3S or HSAF) or manually inputted, cumulated value)',\r\n fieldRef: 'overdueWOSafetyCriticalEquipment',\r\n },\r\n {\r\n label:\r\n 'Total N° of work orders on SCEq (this data could be received from AMOS (3S or HSAF) or manually inputted, cumulated value)',\r\n fieldRef: 'plannedWOSafetyCriticalEquipment',\r\n },\r\n {\r\n label:\r\n 'N° of 3S and HSAF SCEq failures, (this data could be received from AMOS (3S or HSAF) or manually inputted)',\r\n fieldRef: 'scEqFailures',\r\n },\r\n { label: 'Total N° of 3S and HSAF SCEq', fieldRef: 'total3Shsaf' }, //new\r\n {\r\n label: 'N° of SCC matching with a formalized (mandatory) training',\r\n fieldRef: 'sccCoveredByMT',\r\n },\r\n { label: 'N° of missing or expired mandatory training', fieldRef: 'missingOrExpiredMT' },\r\n { label: 'N° of total expected mandatory training', fieldRef: 'totalExpectedMT' },\r\n { label: 'N° of SCC covered by “Competence Assessment', fieldRef: 'sccConveredByCompetence' },\r\n {\r\n label: 'N° of SCC involved in competence, assurance and assessment',\r\n fieldRef: 'numSscInvolved',\r\n }, //new\r\n {\r\n label:\r\n 'N° of Safety Critical Tasks (from VSC) covered by approved and updated procedure or TFC (Task Familiarization Card)',\r\n fieldRef: 'sctCoveredBySCPOrTFC',\r\n },\r\n { label: 'Total N° of Safety Critical Tasks', fieldRef: 'totalSCT' },\r\n { label: 'N° of updated Emergency Plans', fieldRef: 'updatedEmergencyPlan' },\r\n ];\r\n\r\n this.state = {\r\n isDisabled: true,\r\n isOpenInfo: false,\r\n isLoadingReport: true,\r\n report: {},\r\n assetIntegrity: {},\r\n isLoadingSubmitted: false,\r\n isSubmitted: true,\r\n isWarningModalOpen: false,\r\n isHistoryModalOpen: false,\r\n isDeleting: false,\r\n invalidProperties: {},\r\n };\r\n }\r\n\r\n //* ************ HOOKS ************* START\r\n componentDidMount() {\r\n this.getReport();\r\n }\r\n //* ************ HOOKS ************* END\r\n\r\n //* ************ HISTORY ************* START\r\n showButtonHistory = () => (\r\n this.openModalHistory()}\r\n >\r\n History\r\n \r\n );\r\n\r\n openModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: true });\r\n };\r\n\r\n closeModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: false });\r\n };\r\n //* ************ HISTORY ************* END\r\n\r\n //* ************ WARNING MODAL ************* START\r\n handleConfirmSubmit = () => {\r\n this.setState(\r\n {\r\n isWarningModalOpen: false,\r\n },\r\n () => this.submitReport(true)\r\n );\r\n };\r\n\r\n toggleWarningModal = () => {\r\n this.setState((prevState) => ({\r\n isWarningModalOpen: !prevState.isWarningModalOpen,\r\n }));\r\n };\r\n //* ************ WARNING MODAL ************* END\r\n\r\n //* ************ VALIDATIONS ************* START\r\n updateInvalidProperties = () => {\r\n if (this.state.assetIntegrity.validator.messagesShown) {\r\n const invalidProperties = !this.state.assetIntegrity.validator.allValid()\r\n ? 'error'\r\n : undefined;\r\n this.setState({\r\n invalidProperties,\r\n });\r\n }\r\n };\r\n\r\n onInputChange = (field, e) => {\r\n const oldAssetIntegrity = this.state.assetIntegrity;\r\n oldAssetIntegrity[field] = e.target.value;\r\n this.setState(\r\n {\r\n assetIntegrity: oldAssetIntegrity,\r\n },\r\n this.updateInvalidProperties\r\n );\r\n };\r\n //* ************ VALIDATIONS ************* END\r\n\r\n //* ************ API ************* START\r\n getReport = () => {\r\n ReportRepository.getReportAssetIntegrity(this.props.match.params.idReport)\r\n .then((response) => {\r\n response.assetIntegrity.validator = new SimpleReactValidator({\r\n validators: {\r\n geq: this.geqValidator,\r\n },\r\n });\r\n this.setState({\r\n report: response,\r\n assetIntegrity: response.assetIntegrity,\r\n isDisabled: !IsEditable(\r\n 'Report',\r\n 'Reporting',\r\n this.context.user,\r\n response.idStatus,\r\n 'All'\r\n ),\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.REPORT, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingReport: false,\r\n });\r\n });\r\n };\r\n\r\n submitReport = (fillEmptyFields) => {\r\n const { validator } = this.state.assetIntegrity;\r\n if (validator.allValid()) {\r\n if (\r\n fillEmptyFields ||\r\n this.assetIntegrityFormModel.every(\r\n (sd) =>\r\n this.state.assetIntegrity[sd.fieldRef] != undefined &&\r\n this.state.assetIntegrity[sd.fieldRef] !== ''\r\n )\r\n ) {\r\n validator.hideMessages();\r\n\r\n const reportDataList = {};\r\n this.assetIntegrityFormModel.forEach((f) => {\r\n reportDataList[f.fieldRef] = this.state.assetIntegrity[f.fieldRef] || 0;\r\n });\r\n\r\n this.setState({ isSubmitted: false, isLoadingSubmitted: true });\r\n api\r\n .put('reports/assetIntegrity/', reportDataList, this.props.match.params.idReport)\r\n .then(async () => {\r\n await ReportRepository.updateCachedAssetIntegrity(\r\n this.props.match.params.idReport,\r\n reportDataList\r\n );\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,getSuccess(entitiesLabels.REPORT, apioperation.PUT));\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.REPORT, apioperation.PUT));\r\n })\r\n .finally(() => {\r\n this.setState(\r\n {\r\n isSubmitted: true,\r\n isLoadingSubmitted: false,\r\n },\r\n () => this.getReport(true)\r\n );\r\n });\r\n } else {\r\n this.toggleWarningModal();\r\n }\r\n } else {\r\n validator.showMessages();\r\n this.updateInvalidProperties();\r\n }\r\n };\r\n //* ************ API************* END\r\n\r\n //* ************ INFO ************* START\r\n showDivInfo = () => {\r\n this.setState((oldState) => ({ isOpenInfo: !oldState.isOpenInfo }));\r\n };\r\n\r\n divInfo() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Start:
    \r\n
    \r\n {moment.utc(this.state.report.start).local().format('DD/MM/YYYY')}\r\n
    {' '}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    End:
    \r\n
    \r\n {moment.utc(this.state.report.end).local().format('DD/MM/YYYY')}\r\n
    {' '}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Compiled by:
    \r\n
    {this.state.report.compiledBy}
    {' '}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n //* ************ INFO ************* END\r\n\r\n showLoading() {\r\n const show = !this.state.isSubmitted;\r\n const descr = !this.state.isSubmitted ? 'Saving...' : 'Loading data...';\r\n return show && ;\r\n }\r\n\r\n render() {\r\n if (this.state.assetIntegrity.validator != undefined) {\r\n this.state.assetIntegrity.validations = this.assetIntegrityFormModel.reduce((acc, cur) => {\r\n const validationCode = 'geq';\r\n acc[cur.fieldRef] = this.state.assetIntegrity.validator.message(\r\n cur.label,\r\n this.state.assetIntegrity[cur.fieldRef],\r\n validationCode\r\n );\r\n return acc;\r\n }, {});\r\n }\r\n\r\n const confirmDelProps = () => ({\r\n onCloseConfirm: this.onCloseConfirm, // no click\r\n });\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n {!this.state.isLoadingReport ? (\r\n this.closeModalHistory()}\r\n />\r\n ) : (\r\n ''\r\n )}\r\n {this.state.isLoadingReport ? (\r\n \r\n ) : (\r\n <>\r\n
    {this.divInfo()}
    \r\n \r\n )}\r\n {this.showLoading()}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n this.submitReport(false)}\r\n disabled={this.state.isDisabled || this.state.isLoadingSubmitted}\r\n >\r\n {this.state.isSubmitted ? (\r\n Save\r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n {this.state.invalidProperties != undefined &&\r\n this.state.assetIntegrity &&\r\n this.state.assetIntegrity.validator &&\r\n this.state.assetIntegrity.validator.messagesShown ? (\r\n
    \r\n
    \r\n \r\n The following report contains erroneous fields\r\n \r\n
    \r\n
    \r\n ) : null}\r\n\r\n \r\n \r\n \r\n {this.assetIntegrityFormModel.map((f) => (\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    {f.label} \r\n this.onInputChange(f.fieldRef, e)}\r\n type=\"number\"\r\n min=\"0\"\r\n labelText=\"\"\r\n disabled={this.state.isDisabled}\r\n invalid={\r\n this.state.assetIntegrity.validations != undefined\r\n ? this.state.assetIntegrity.validations[f.fieldRef] != null\r\n : false\r\n }\r\n />\r\n {this.state.assetIntegrity.validations != undefined\r\n ? this.state.assetIntegrity.validations[f.fieldRef]\r\n : false}\r\n
    \r\n
    \r\n\r\n {this.state.isWarningModalOpen ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nAssetIntegrity.contextType = AppContext;\r\n","/* eslint-disable import/prefer-default-export */\r\nimport React, { Component } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n\tComposedModal,\r\n\tModalHeader,\r\n\tModalBody,\r\n\tModalFooter,\r\n\tFormGroup,\r\n\tTextInput,\r\n\tDropdownSkeleton,\r\n\tDataTableSkeleton,\r\n\tTableToolbar,\r\n\tSearch,\r\n\tButton,\r\n\tDataTable,\r\n\tTableContainer,\r\n\tTable,\r\n\tTableBody,\r\n\tPagination,\r\n\tDatePickerSkeleton,\r\n\tTableHead,\r\n\tTableHeader,\r\n\tTableRow,\r\n\tTableCell,\r\n\tSelect,\r\n\tSelectItem,\r\n\tForm,\r\n\tFormLabel,\r\n\tFileUploader,\r\n\tLoading,\r\n\tDropdown,\r\n\tInlineLoading\r\n} from \"carbon-components-react\";\r\nimport Export16 from \"@carbon/icons-react/lib/export/16\";\r\nimport Edit16 from \"@carbon/icons-react/lib/edit/16\";\r\nimport Close20 from \"@carbon/icons-react/lib/close/20\";\r\nimport Import16 from \"@carbon/icons-react/lib/download/16\";\r\nimport Delete16 from \"@carbon/icons-react/lib/delete/16\";\r\nimport Add16 from \"@carbon/icons-react/lib/add/16\";\r\nimport Search16 from \"@carbon/icons-react/lib/search/16\";\r\nimport Close16 from \"@carbon/icons-react/lib/close/16\";\r\nimport moment from \"moment\";\r\nimport SimpleReactValidator from \"simple-react-validator\";\r\nimport { v4 as uuid } from \"uuid\";\r\nimport Data16 from \"@carbon/icons-react/lib/data--1/16\";\r\nimport { hoccard, me, api, registry, dynamic } from \"../../helpers/api/api\";\r\nimport { ConfirmAlertCustom } from \"../../helpers/ConfirmAlertCustom\";\r\nimport { getSuccess, getError, entitiesLabels, apioperation, DateFormat } from \"../../helpers/Constants\";\r\nimport { showNotification } from \"../../helpers/notification/BaseNotification\";\r\nimport { ComboBox } from \"../../helpers/ComboBox\";\r\nimport { FindGHRSEmployer } from \"../common/FindGHRSEmployer\";\r\nimport PageBreadCrumb from \"../../helpers/PageBreadCrumb\";\r\nimport { RenderDataTableCell, NoRecordsPlaceholder } from \"../../helpers/jsonschemaform/DataTableExtention\";\r\nimport { IsInRole, IsEditable, CanExecuteAction } from \"../../helpers/authorization/Policies\";\r\nimport { AppContext } from \"../../helpers/context/AppContext\";\r\nimport DateTimePicker from \"../../helpers/DateTimePicker\";\r\nimport { Online, Offline } from \"../common/OnLineOffLine\";\r\nimport FileDownLoadButton from \"../common/FileDownloadButton\";\r\nimport HocCardRepository from \"../../helpers/api/HocCardRepository\";\r\nimport FindSaipemCompilers from \"../common/FindSaipemCompilers\";\r\n\r\nexport class HocCard extends Component {\r\n // static combo option lists\r\n completionStatusList = ['All', 'Not Reviewed', 'Reviewed'];\r\n\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator();\r\n this.validatorworksite = new SimpleReactValidator();\r\n this.year = new Date().getFullYear();\r\n this.state = {\r\n // utilizzato per update\r\n\r\n isEditModal: false,\r\n isLoadingList: true,\r\n idToDelete: null,\r\n isOpenDeleteModal: false,\r\n isDeleting: null,\r\n isImportHC: false,\r\n isImportHoc: false,\r\n // //EMPLOYER\r\n mode: 0,\r\n selectEmployer: null,\r\n selectEmployer2: null,\r\n // SPINNER\r\n isSubmitted: false,\r\n isExportfunction: false,\r\n isImportfunction: false,\r\n hocHandledByMe: [],\r\n hocCarAssignedToMe: [],\r\n message: [],\r\n hoctype: [],\r\n lifesavingrule: [],\r\n hazardtype: [],\r\n hocpriority: [],\r\n status: null,\r\n infooriginator: [],\r\n worksites: [],\r\n worksite: [],\r\n project: null,\r\n allProject: [],\r\n isLoadingWorksite: false,\r\n isLoadingModules: false,\r\n isOpenModalExportTemplate: false,\r\n isOpenFilterHoc: false,\r\n isOpneNewHoc: false,\r\n\r\n // /loading skeleton\r\n isLoadingProject: true,\r\n isLoadingHazardType: true,\r\n isLoadingHocType: true,\r\n // isLoadingStatus: true,\r\n isLoadingInfoOriginator: true,\r\n isLoadingHocPriprity: true,\r\n isLoadingLifeSavingRule: true,\r\n isLoadingDate: true,\r\n isLoadingElement: true,\r\n\r\n isStatus: ['All', 'N/A', 'Opened', 'Closed'],\r\n xCar: ['All', 'Yes', 'No'],\r\n hocHandledByMeOptions: ['Me', 'Other Compilers', 'All Compilers'],\r\n hocCarAssignedToMeOptions: ['Me', 'Other Compilers', 'All'],\r\n\r\n carValidator: false,\r\n\r\n currentPage: 1,\r\n pageSize: 10,\r\n itemList: [],\r\n\r\n importDanger: false,\r\n searchModel: {\r\n ...this.searchProp(),\r\n },\r\n\r\n hocCardModel: {\r\n ...this.hoCardProps(),\r\n },\r\n\r\n hocCardSources: [],\r\n\r\n isBack: this.props.history.action === 'POP' || this.props.location.search === '?isBack',\r\n yearsList: [],\r\n filteredYear: null\r\n };\r\n this.validator = new SimpleReactValidator();\r\n this.getHocCard = this.getHocCard.bind(this);\r\n this.getUserWorksite = this.getUserWorksite.bind(this);\r\n this.downloadHocTemplate = this.downloadHocTemplate.bind(this);\r\n this.uploadHocTemplate = this.uploadHocTemplate.bind(this);\r\n this.toggleModalExportTemplate = this.toggleModalExportTemplate.bind(this);\r\n this.toggleModalUploadTemplate = this.toggleModalUploadTemplate.bind(this);\r\n this.handleChangeWorksite = this.handleChangeWorksite.bind(this);\r\n this.showDivFilter = this.showDivFilter.bind(this);\r\n this.showNewHocCard = this.showNewHocCard.bind(this);\r\n this.showEditModal = this.showEditModal.bind(this);\r\n this.handleChangeComboWorksite = this.handleChangeComboWorksite.bind(this);\r\n this.refreshData = this.refreshData.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n console.log('component did mount');\r\n this.getHocCardsYears();\r\n this.refreshData();\r\n }\r\n\r\n onCloseConfirm = () => {\r\n this.setState({\r\n isOpenDeleteModal: false,\r\n });\r\n };\r\n\r\n getHashtag = () => {\r\n if (this.props.location?.hash != null && this.props.location.hash.length > 1) {\r\n return decodeURIComponent(this.props.location.hash.substring(1));\r\n }\r\n return null;\r\n };\r\n\r\n setEmployer = (employer) => {\r\n if (employer && employer.id) {\r\n this.setState((prevState) => { \r\n const statusCopy = { ...prevState.hocCardModel };\r\n if (statusCopy.hocCardCAR == null) {\r\n statusCopy.hocCardCAR = {};\r\n }\r\n statusCopy.hocCardCAR.idEmployer = employer.id;\r\n statusCopy.hocCardCAR.nameEmployer = employer.name;\r\n statusCopy.hocCardCAR.owner = employer;\r\n statusCopy.hocCardCAR.idOwnerSaipem = null;\r\n statusCopy.hocCardCAR.ownerSaipem = null;\r\n return { hocCardModel: statusCopy, mode: 0 }; \r\n });\r\n this.setState({ selectEmployer: employer });\r\n }\r\n };\r\n\r\n setSaipemOwner = (employer) => {\r\n if (employer && employer.id) {\r\n this.setState((prevState) => {\r\n const statusCopy = { ...prevState.hocCardModel };\r\n if (statusCopy.hocCardCAR == null) {\r\n statusCopy.hocCardCAR = {};\r\n }\r\n statusCopy.hocCardCAR.idOwnerSaipem = employer.id;\r\n statusCopy.hocCardCAR.nameEmployer = employer.name;\r\n statusCopy.hocCardCAR.ownerSaipem = employer;\r\n statusCopy.hocCardCAR.idEmployer = null;\r\n statusCopy.hocCardCAR.owner = null;\r\n return { hocCardModel: statusCopy, mode: 0 };\r\n });\r\n this.setState({ selectEmployer: employer });\r\n }\r\n };\r\n\r\n async getProjectbyWorkSite(idWorkSite) {\r\n try {\r\n const list = await HocCardRepository.getWorkSiteProject();\r\n const projects = list.filter((res) => res.idWorkSite === idWorkSite)\r\n .map((ele) => ({ id: ele.idProject, name: ele.project }));\r\n this.setState({\r\n project: projects,\r\n });\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.PROJECT, apioperation.GET));\r\n }\r\n }\r\n\r\n hoCardProps = () => ({\r\n idProject: null,\r\n idHocType: null,\r\n idHazardType: null,\r\n idHocPriority: null,\r\n idLifeSavingRule: null,\r\n idInfoOriginator: null,\r\n // idStatus: null,\r\n status: null,\r\n immediateActions: null,\r\n comments: null,\r\n description: null,\r\n location: null,\r\n occurredAt: null,\r\n additionalInfo: null,\r\n userReportedBy: null,\r\n idHocCardCar: null,\r\n idWorkSite: null,\r\n idCompiler: null,\r\n code: null,\r\n localId: null,\r\n hocCardCAR: {\r\n // carModel\r\n id: null,\r\n dueDate: null,\r\n description: null,\r\n idEmployer: null,\r\n idOwnerSaipem: null,\r\n owner: null, // {}\r\n ownerSaipem: null,\r\n },\r\n nameEmp: '',\r\n });\r\n\r\n searchProp = () => ({\r\n idProject: null,\r\n idHazardType: null,\r\n idHocType: null,\r\n idWorkSite: null,\r\n idInfoOriginator: null,\r\n status: null,\r\n xCar: null,\r\n code: this.getHashtag(),\r\n localId: null,\r\n hocHandledByMe: null,\r\n hocCarAssignedToMe: null,\r\n idHocCardSource: null,\r\n completionStatus: null,\r\n year: null\r\n });\r\n\r\n clearTemplate = () => {\r\n this.setState({\r\n worksite: {},\r\n isOpenModalExportTemplate: false,\r\n });\r\n\r\n this.forceUpdate();\r\n this.validatorworksite = new SimpleReactValidator();\r\n };\r\n\r\n clearInsertForm = () => {\r\n this.setState({\r\n hocCardModel: {\r\n ...this.hoCardProps(),\r\n },\r\n selectEmployer: null,\r\n });\r\n };\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n statusCopy.isBack = false;\r\n\r\n this.setState(statusCopy);\r\n };\r\n\r\n updateStateCAR = (inputName, inputValue, objName) => {\r\n this.setState((prevState) => {\r\n const statusCopy = { ...prevState.hocCardModel };\r\n if (statusCopy.hocCardCAR == null) {\r\n statusCopy.hocCardCAR = {};\r\n }\r\n statusCopy[objName][inputName] = inputValue;\r\n return { hocCardModel: statusCopy };\r\n });\r\n };\r\n\r\n handleChangeCombo = (inputName, selectedItem, objName) => {\r\n const inputValue = selectedItem ? selectedItem.id : null;\r\n\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n // statusCopy['selectedItemCombo'][inputName] = selectedItem;\r\n statusCopy.isBack = false;\r\n\r\n this.setState(statusCopy);\r\n // console.log(statusCopy);\r\n };\r\n\r\n handleChangeComboStatusModel = (selectedItem, objName) => {\r\n if (objName !== 'All') {\r\n if (objName === 'Closed') {\r\n (this.state.hocCardModel.status = 'Closed');\r\n } else {\r\n (this.state.hocCardModel.status = 'Opened');\r\n }\r\n } else {\r\n (this.state.hocCardModel.status = null);\r\n } \r\n\r\n const statusCopy = { ...this.state.hocCardModel };\r\n statusCopy.status = objName;\r\n // statusCopy['selectedItemCombo'][inputName] = selectedItem;\r\n this.setState(statusCopy);\r\n\r\n this.setState({ IsStatus: ['Opened ', 'Closed', 'All'] });\r\n };\r\n\r\n handleChangeModel = (el) => {\r\n const inputName = el.target.name;\r\n const inputValue = el.target.value;\r\n this.updateState(inputName, inputValue, 'hocCardModel');\r\n };\r\n\r\n handleChangeComboBool = (inputName, selectedItem,) => {\r\n const val = selectedItem !== 'All' ? selectedItem !== 'No' : null;\r\n this.setState((prevState) => {\r\n const statusCopy = { ...prevState.searchModel };\r\n statusCopy.xCar = val;\r\n return { searchModel: statusCopy, isBack: false };\r\n });\r\n };\r\n\r\n handleChangeHocCardSourceFilter = (_, selectedItem) => {\r\n const inputValue = (selectedItem && selectedItem.id) || null;\r\n this.setState((prevState) => {\r\n const stateCopy = { ...prevState.searchModel };\r\n stateCopy.idHocCardSource = inputValue;\r\n return { searchModel: stateCopy, isBack: false };\r\n }); \r\n };\r\n\r\n handleChangeCompletionStatusFilter = (inputName, selectedItem,) => {\r\n // RITM0544922\r\n const stateCopy = { ...this.state };\r\n stateCopy.searchModel.completionStatus = selectedItem !== 'All' ? selectedItem : null;\r\n stateCopy.isBack = false;\r\n this.setState(stateCopy);\r\n };\r\n\r\n handleChangeComboOwner = (inputName, selectedItem,) => {\r\n const val = selectedItem !== 'All Compilers' && selectedItem != null ? selectedItem !== 'Other Compilers' : null;\r\n this.setState((prevState) => {\r\n const statusCopy = { ...prevState.searchModel };\r\n statusCopy.hocHandledByMe = val;\r\n return { searchModel: statusCopy, isBack: false };\r\n });\r\n };\r\n\r\n handleChangeComboCarOwner = (inputName, selectedItem,) => {\r\n const val = selectedItem !== 'All' && selectedItem != null ? selectedItem !== 'Other Compilers' : null;\r\n this.setState((prevState) => {\r\n const statusCopy = { ...prevState.searchModel };\r\n statusCopy.hocCarAssignedToMe = val;\r\n return { searchModel: statusCopy, isBack: false };\r\n });\r\n };\r\n\r\n handleChangeComboStatus = (inputName, selectedItem,) => {\r\n // RITM0544922\r\n const stateCopy = { ...this.state };\r\n stateCopy.searchModel.status = selectedItem !== 'All' ? selectedItem : null;\r\n stateCopy.isBack = false;\r\n this.setState(stateCopy);\r\n };\r\n\r\n handleChangeSearch = (el) => {\r\n const inputName = el.target.name;\r\n\r\n const inputValue = el.target.value;\r\n\r\n this.updateState(inputName, inputValue, 'searchModel');\r\n };\r\n\r\n handleChangeComboWorksite = (inputName, selectedItem, objName) => {\r\n //console.log(selectedItem);\r\n\r\n const inputValue = selectedItem ? selectedItem.id : null;\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n statusCopy.project = null;\r\n statusCopy.hocCardModel.idProject = null;\r\n\r\n this.setState(statusCopy, () => {\r\n if (inputValue) {\r\n this.getProjectbyWorkSite(inputValue);\r\n }\r\n });\r\n };\r\n\r\n handleChangeComboSearchWorkSite = (inputName, selectedItem, objName) => {\r\n const inputValue = selectedItem ? selectedItem.id : null;\r\n\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n // statusCopy['selectedItemCombo'][inputName] = selectedItem;\r\n statusCopy.isBack = false;\r\n this.setState(statusCopy);\r\n };\r\n\r\n updateStateDP = (inputName, inputValue, objName) => {\r\n this.setState(\r\n (prevState) => ({\r\n [objName]: {\r\n ...prevState[objName],\r\n [inputName]: inputValue,\r\n },\r\n }),\r\n () => {\r\n this.hoCardProps(inputName, inputValue);\r\n }\r\n );\r\n };\r\n\r\n updateStateDPCAR = (inputName, inputValue, objName) => {\r\n this.setState((prevState) => { \r\n const statusCopy = { ...prevState.hocCardModel };\r\n if (statusCopy.hocCardCAR == null) {\r\n statusCopy.hocCardCAR = {};\r\n }\r\n statusCopy[objName][inputName] = inputValue;\r\n return { hocCardModel: statusCopy };\r\n });\r\n \r\n this.setState(\r\n (prevState) => ({\r\n [objName]: {\r\n ...prevState[objName],\r\n [inputName]: inputValue,\r\n },\r\n }),\r\n () => {\r\n this.hoCardProps(objName, inputValue);\r\n }\r\n );\r\n };\r\n\r\n handleChangeMode = (m) => {\r\n this.setState({ mode: m });\r\n };\r\n\r\n handleChangeModelCar = (el) => {\r\n const inputName = el.target.name;\r\n const inputValue = el.target.value;\r\n\r\n this.updateStateCAR(inputName, inputValue, 'hocCardCAR');\r\n };\r\n\r\n handleChangeWorksite = (el) => {\r\n const inputValue = el.target.value;\r\n this.setState({\r\n worksite: { id: inputValue },\r\n });\r\n };\r\n\r\n // /////GET Props\r\n getUserWorksite = () => {\r\n this.setState({\r\n isLoadingWorksite: true,\r\n });\r\n me.getAll('worksites')\r\n .then((response) => {\r\n this.setState({\r\n worksites: response.data,\r\n isLoadingWorksite: false,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.WORKSITE, apioperation.GET));\r\n });\r\n };\r\n\r\n getHocType = () => {\r\n dynamic\r\n .getAll('hoctype', { params: { page: 0 } })\r\n .then((response) => {\r\n const data = response.data.itemList;\r\n this.setState({\r\n hoctype: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.HOCTYPE, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingHocType: false,\r\n });\r\n });\r\n };\r\n\r\n getHazardType = () => {\r\n dynamic\r\n .getAll('hazardtype', { params: { page: 0 } })\r\n .then((response) => {\r\n const data = response.data.itemList.filter((a) => moment(a.validUntil).isSameOrAfter(moment())); //RITM1015981\r\n this.setState({\r\n hazardtype: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.HAZARDTYPE, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingHazardType: false,\r\n });\r\n });\r\n };\r\n\r\n getHocPriority = () => {\r\n dynamic\r\n .getAll('hocpriority', { params: { page: 0 } })\r\n .then((response) => {\r\n const data = response.data.itemList;\r\n this.setState({\r\n hocpriority: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.HOCPRIORITY, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingHocPriprity: false,\r\n });\r\n });\r\n };\r\n\r\n getLSR = () => {\r\n dynamic\r\n .getAll('lifesavingrule', { params: { page: 0 } })\r\n .then((response) => {\r\n const data = response.data.itemList;\r\n this.setState({\r\n lifesavingrule: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.LIFESAVINGRULEVIOLATION, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingLifeSavingRule: false,\r\n });\r\n });\r\n };\r\n\r\n getInfoOriginator = () => {\r\n registry\r\n .getAll('infooriginator')\r\n .then((response) => {\r\n const { data } = response;\r\n this.setState({\r\n infooriginator: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INFOORIGINATOR, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingInfoOriginator: false,\r\n });\r\n });\r\n };\r\n\r\n getAllProject = () => {\r\n this.setState({\r\n isLoadingProject: true,\r\n });\r\n me.getAll('project')\r\n .then((response) => {\r\n this.setState({\r\n allProject: response.data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.PROJECT, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingProject: false,\r\n });\r\n });\r\n };\r\n\r\n getHocCardSources = () => {\r\n this.setState({ isLoadingHocCardSources: true });\r\n hoccard.sources\r\n .getAll()\r\n .then((response) => {\r\n this.setState({ hocCardSources: response.data });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.HOCCARDSOURCES, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({ isLoadingHocCardSources: false });\r\n });\r\n };\r\n\r\n getHocCardsYears = () => {\r\n hoccard.years\r\n .getAll()\r\n .then((response) => {\r\n this.setState({ yearsList: response.data });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.HOCCARDSAVAILABLEYEARS, apioperation.GET));\r\n });\r\n }\r\n\r\n onYearChange = (selectedItem) => {\r\n let year;\r\n try {\r\n year = selectedItem.selectedItem;\r\n } catch (error) {\r\n year = this.year;\r\n }\r\n this.setState({ filteredYear: year, isBack: false }, () => {\r\n this.refreshData();\r\n });\r\n }\r\n\r\n\t// ////DOWNLOAD\r\n\ttoggleModalExportTemplate = (open) => {\r\n\t\tthis.setState({ isOpenModalExportTemplate: open });\r\n\t}\r\n\r\n\t\r\n\tgetTemplateExcelForEdit = async () => {\r\n\t\tthis.setState({ isExportfunction: true })\r\n\t\tlet data;\r\n\t\tif (!this.state.isBack) {\r\n\t\t\tdata = {\r\n\t\t\t\tparams: {\r\n\t\t\t\t\t...this.state.searchModel,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t} else {\r\n\t\t\tlet filter = await HocCardRepository.getBackPaged();\r\n\t\t\tif(filter === undefined) {\r\n\t\t\t\tdata = {\r\n\t\t\t\t\tparams: {\r\n\t\t\t\t\t\t...this.state.searchModel,\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\t\tdata.params.page =null;\r\n\t\t\t\tdata.params.pageSize = null;\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tdata = { params: filter.params };\r\n\t\t\t\tdata.params.page = null; \r\n\t\t\t\tdata.params.pageSize = null; \r\n\t\t\t}\r\n\t\t}\r\n\t\tdata.params.year = this.state.filteredYear ? this.state.filteredYear : this.year;\r\n //RITM0958798 - HOC Download Fix\r\n\t\t//hoccard.downloadEditTemplate(data)\r\n\t\t//.then((response) => {\r\n\t\t//\tconst link = document.createElement('a');\r\n\t\t//\tconst data = new Blob([response.data], {\r\n\t\t//\t\ttype: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\r\n\t\t//\t});\r\n\t\t//\tconst url = window.URL.createObjectURL(data);\r\n\t\t//\tlink.setAttribute('href', url);\r\n\t\t//\tlink.setAttribute('download', \"HocCardTemplate.xlsx\");\r\n\t\t//\tlink.style.visibility = 'hidden';\r\n\t\t//\tdocument.body.appendChild(link);\r\n\t\t//\tlink.click();\r\n\t\t//\tdocument.body.removeChild(link);\r\n\t\t//})\r\n hoccard.downloadEditTemplate(data)\r\n .then((response) => {\r\n\t\t\tconst link = document.createElement('a');\r\n const url = window.URL.createObjectURL(new Blob([response.data]));\r\n link.href =url\r\n link.setAttribute('download', \"HocCardTemplate.xlsx\");\r\n document.body.appendChild(link);\r\n\t\t\tlink.click();\r\n window.URL.revokeObjectURL(url);\r\n })\r\n //End\r\n\t\t.catch((error) => {\r\n\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.HOCCARDTEMPLATE, apioperation.DOWNLOAD));\r\n\t\t})\r\n\t\t.finally(() => {\r\n\t\t\tthis.setState({ isExportfunction: false })\r\n\t\t});\r\n\t};\r\n\r\n\ttoggleModalUploadTemplate = (open) => {\r\n\t\tthis.fileUploader.clearFiles();\r\n\t\tthis.setState({\r\n\t\t\tisOpenModalUploadTemplate: open,\r\n\t\t\tisImportHC: true,\r\n\t\t\tmessage: [],\r\n\t\t\tstatusUpload: null,\r\n\t\t\tcanUpload: false,\r\n\t\t\tisFileValid: true,\r\n\t\t\tvalidationErrorTitle: \"\",\r\n\t\t\tvalidationErrorSubTitle: \"\",\r\n\t\t\t__filename: null,\r\n\t\t});\r\n\t};\r\n\ttoggleModalUploadEditTemplate = (open) => {\r\n\t\tthis.fileUploader.clearFiles();\r\n\t\tthis.setState({\r\n\t\t\tisOpenModalUploadEditTemplate: open,\r\n\t\t\tisImportEditHC: true,\r\n\t\t\tmessage: [],\r\n\t\t\tstatusUpload: null,\r\n\t\t\tcanUpload: false,\r\n\t\t\tisFileValid: true,\r\n\t\t\tvalidationErrorTitle: \"\",\r\n\t\t\tvalidationErrorSubTitle: \"\",\r\n\t\t\t__filename: null,\r\n\t\t})\r\n\t}\r\n\tuploadHocTemplate = (event) => {\r\n\t\tif (this.state.statusUpload != null) {\r\n\t\t\tthis.setState({\r\n\t\t\t\tisImportfunction: true,\r\n\t\t\t\tisImportHoc: true,\r\n\t\t\t\tmessage: [],\r\n\t\t\t});\r\n\t\t\tevent.preventDefault();\r\n\t\t\tthis.setState(() => ({\r\n\t\t\t\tcanUpload: true,\r\n\t\t\t\tisFileValid: true,\r\n\t\t\t\tvalidationErrorTitle: \"\",\r\n\t\t\t\tvalidationErrorSubTitle: \"\",\r\n\t\t\t\tstatusUpload: \"uploading\",\r\n\t\t\t\t// isImportHoc: true,\r\n\t\t\t}));\r\n\t\t\tconst formData = new FormData();\r\n\t\t\tformData.append(\"FileUploaded\", event.target.inputFile.files[0]);\r\n\t\t\t// console.log(formData);\r\n\r\n hoccard\r\n .uploadTemplate(formData, this.state.worksite.id)\r\n .then((response) => {\r\n this.setState(() => ({\r\n canUpload: false,\r\n isFileValid: true,\r\n validationErrorTitle: '',\r\n validationErrorSubTitle: '',\r\n statusUpload: 'complete',\r\n message: response.data,\r\n\r\n isImportHoc: false,\r\n isImportfunction: false,\r\n }));\r\n\r\n if (this.state.message[0] === 'Success') {\r\n this.getHocCard({ page: 1 });\r\n showNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.HOCCARDTEMPLATE, apioperation.UPLOAD));\r\n this.setState(() => ({\r\n isOpenModalUploadTemplate: false,\r\n }));\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState(() => ({\r\n canUpload: true,\r\n isFileValid: false,\r\n\r\n statusUpload: 'edit',\r\n isImportHoc: false,\r\n isImportfunction: false,\r\n importDanger: true,\r\n }));\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.HOCCARDTEMPLATE, apioperation.UPLOAD));\r\n });\r\n }\r\n };\r\n\r\n\r\n\tuploadHocEditTemplate = (event) => {\r\n\t\tif (this.state.statusUpload != null) {\r\n\t\t\tthis.setState({\r\n\t\t\t\tisImportEditfunction: true,\r\n\t\t\t\tisImportEditHoc: true,\r\n\t\t\t\tmessage: [],\r\n\t\t\t});\r\n\t\t\tevent.preventDefault();\r\n\t\t\tthis.setState(() => ({\r\n\t\t\t\tcanUpload: true,\r\n\t\t\t\tisFileValid: true,\r\n\t\t\t\tvalidationErrorTitle: \"\",\r\n\t\t\t\tvalidationErrorSubTitle: \"\",\r\n\t\t\t\tstatusUpload: \"uploading\",\r\n\t\t\t\t// isImportHoc: true,\r\n\t\t\t}));\r\n\t\t\tconst formData = new FormData();\r\n\t\t\tformData.append(\"FileUploaded\", event.target.inputFile.files[0]);\r\n\t\t\t// console.log(formData);\r\n\r\n\t\t\thoccard\r\n\t\t\t\t.uploadEditTemplate(formData)\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\tthis.setState(() => ({\r\n\t\t\t\t\t\tcanUpload: false,\r\n\t\t\t\t\t\tisFileValid: true,\r\n\t\t\t\t\t\tvalidationErrorTitle: \"\",\r\n\t\t\t\t\t\tvalidationErrorSubTitle: \"\",\r\n\t\t\t\t\t\tstatusUpload: \"complete\",\r\n\t\t\t\t\t\tmessage: response.data,\r\n\r\n\t\t\t\t\t\tisImportEditHoc: false,\r\n\t\t\t\t\t\tisImportEditfunction: false,\r\n\t\t\t\t\t}));\r\n\r\n\t\t\t\t\tif (this.state.message[0] == \"Success\") {\r\n\t\t\t\t\t\tthis.getHocCard({ page: 1 });\r\n\t\t\t\t\t\tshowNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.HOCCARDTEMPLATE, apioperation.UPLOAD));\r\n\t\t\t\t\t\tthis.setState(() => ({\r\n\t\t\t\t\t\t\tisOpenModalUploadTemplate: false,\r\n\t\t\t\t\t\t}));\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tthis.setState(() => ({\r\n\t\t\t\t\t\tcanUpload: true,\r\n\t\t\t\t\t\tisFileValid: false,\r\n\r\n\t\t\t\t\t\tstatusUpload: \"edit\",\r\n\t\t\t\t\t\tisImportHoc: false,\r\n\t\t\t\t\t\tisImportEditfunction: false,\r\n\t\t\t\t\t\timportDanger: true,\r\n\t\t\t\t\t}));\r\n\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.HOCCARDTEMPLATE, apioperation.UPLOAD));\r\n\t\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\t// //\r\n\tdownloadHocTemplate() {\r\n\t\tif (this.validatorworksite.allValid()) {\r\n\t\t\tthis.setState({\r\n\t\t\t\tisExportfunction: true,\r\n\t\t\t});\r\n\t\t\tif (this.validatorworksite.allValid()) {\r\n\t\t\t\thoccard\r\n\t\t\t\t\t.downloadTemplate(this.state.worksite.id, { responseType: \"arraybuffer\" })\r\n\t\t\t\t\t.then((response) => {\r\n\t\t\t\t\t\tconst data = new Blob([response.data], {\r\n\t\t\t\t\t\t\ttype: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tconst csvURL = window.URL.createObjectURL(data);\r\n\t\t\t\t\t\tconst tempLink = document.createElement(\"a\");\r\n\t\t\t\t\t\ttempLink.href = csvURL;\r\n\t\t\t\t\t\tconst nomefile = \"HocCardTemplate.xlsx\";\r\n\t\t\t\t\t\ttempLink.setAttribute(\"download\", nomefile);\r\n\t\t\t\t\t\tdocument.body.appendChild(tempLink);\r\n\t\t\t\t\t\ttempLink.click();\r\n\t\t\t\t\t\tthis.toggleModalExportTemplate(false);\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((error) => {\r\n\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.HOCCARDTEMPLATE, apioperation.DOWNLOAD));\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.finally(() => {\r\n\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\tisExportfunction: false,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.validatorworksite.showMessages();\r\n\t\t\t\tthis.forceUpdate();\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.validatorworksite.showMessages();\r\n\t\t\tshowNotification.warning(`${entitiesLabels.WARNING}`, ` ${entitiesLabels.WORKSITE} required fields are missing `);\r\n\r\n\t\t\tthis.forceUpdate();\r\n\t\t}\r\n\t}\r\n\r\n\t// ////CREATE/UPDATE NEW HOC\r\n\thandleSubmitInsert = () => {\r\n\t\tif (this.validator.allValid()) {\r\n\t\t\tthis.setState({\r\n\t\t\t\tisSubmitted: true,\r\n\t\t\t});\r\n\r\n const datiForm = this.state.hocCardModel;\r\n datiForm.id = this.state.hocCardModel.id || uuid();\r\n if (datiForm.hocCardCAR != null) {\r\n if ((datiForm.hocCardCAR.description != null && datiForm.hocCardCAR.description !== '') || datiForm.hocCardCAR.dueDate != null || datiForm.hocCardCAR.idEmployer != null) {\r\n // controllo che i due cambi siano diversi da null per creare/modficare una car\r\n\r\n // inserimento\r\n const newid = uuid();\r\n datiForm.idHocCardCar = newid;\r\n datiForm.hocCardCAR.id = newid;\r\n } else if ((datiForm.hocCardCAR.description == null || datiForm.hocCardCAR.description === '') && datiForm.hocCardCAR.dueDate == null && datiForm.hocCardCAR.idEmployer == null) {\r\n // per inserimento e modifica imposta la car a null i campi della car sono null\r\n datiForm.idHocCardCar = null;\r\n datiForm.hocCardCAR = null;\r\n } else {\r\n // mostra messaggio errore e non effettua modifiche\r\n showNotification.error(`${entitiesLabels.ERROR}`, 'hocCardCAR');\r\n return;\r\n }\r\n }\r\n\r\n const method = this.state.isEditModal ? hoccard.put(datiForm, this.state.hocCardModel.id) :\r\n hoccard.post(datiForm);\r\n\r\n method\r\n .then(async (response) => {\r\n if (response.status === 200) {\r\n const dataList = {\r\n id: datiForm.id,\r\n description: datiForm.description,\r\n project: this.state.project && this.state.hocCardModel.idProject ?\r\n this.state.project.find(\r\n (el) => el.id === this.state.hocCardModel.idProject).name : null,\r\n hazardType: (this.state.hazardtype || [])\r\n .find((el) => el.id === this.state.hocCardModel.idHazardType).name,\r\n infoOriginator: (this.state.infooriginator || [])\r\n .find((el) => el.id === this.state.hocCardModel.idInfoOriginator).name,\r\n reportBy: datiForm.reportBy,\r\n hocType: (this.state.hoctype || [])\r\n .find((el) => el.id === this.state.hocCardModel.idHocType).name,\r\n status: datiForm.status || datiForm.idHocCardCar != null ? 'Opened' : 'Closed',\r\n occurredAt: datiForm.occurredAt,\r\n isCar: datiForm.idHocCardCar != null,\r\n };\r\n await HocCardRepository.updateCachedList(this.state.currentPage, \r\n this.state.pageSize, dataList);\r\n await HocCardRepository.updateCachedDetail(datiForm);\r\n showNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.HOCCARD, this.state.isEditModal ? apioperation.PUT : apioperation.POST));\r\n this.getHocCard({ page: 1 });\r\n this.clearInsertForm();\r\n this.setState({\r\n // isOpneNewHoc: true,\r\n isEditModal: false,\r\n isOpneNewHoc: false,\r\n });\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.HOCCARD, this.state.isEditModal ? apioperation.PUT : apioperation.POST));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isSubmitted: false,\r\n });\r\n });\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`, `${entitiesLabels.HOCCARD} required fields are missing `);\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n deleteEmployer = () => {\r\n this.setState((prevState) => {\r\n const statusCopy = { ...prevState.hocCardModel };\r\n statusCopy.hocCardCAR.owner = null;\r\n statusCopy.hocCardCAR.idEmployer = null;\r\n statusCopy.hocCardCAR.idOwnerSaipem = null;\r\n statusCopy.hocCardCAR.ownerSaipem = null;\r\n return { hocCardModel: statusCopy };\r\n });\r\n };\r\n\r\n clearFiles = () => {\r\n this.fileUploader.clearFiles();\r\n this.setState(() => ({\r\n canUpload: false,\r\n isFileValid: true,\r\n validationErrorTitle: '',\r\n validationErrorSubTitle: '',\r\n }));\r\n };\r\n\r\n clearFilter = () => {\r\n this.setState((oldState) => ({ isOpenFilterHoc: !oldState.isOpenFilterHoc }));\r\n this.setState(\r\n {\r\n searchModel: {\r\n ...this.searchProp(),\r\n },\r\n isBack: false,\r\n },\r\n () => {\r\n this.getHocCard({ page: 1 });\r\n }\r\n );\r\n };\r\n\r\n onFileUploadChange = (evt) => {\r\n this.setState(() => ({ statusUpload: 'edit' }));\r\n if (evt.target.files[0] && evt.target.files[0].size >= 4194304) {\r\n const nome = evt.target.files[0].name;\r\n this.fileUploader.clearFiles();\r\n this.setState(() => ({\r\n canUpload: false,\r\n message: [],\r\n isFileValid: false,\r\n isImportHoc: false,\r\n validationErrorTitle: `${nome} exceeds size limit`,\r\n validationErrorSubTitle: '4mb max file size. Please select a new file and try again',\r\n }));\r\n } else {\r\n // this.fileUploader.clearFiles();\r\n this.setState(() => ({\r\n canUpload: true,\r\n isFileValid: true,\r\n validationErrorTitle: '',\r\n validationErrorSubTitle: '',\r\n message: [],\r\n }));\r\n }\r\n };\r\n\r\n // ///DELETE HOC CARD\r\n\r\n deleteItem = () => {\r\n const id = this.state.idToDelete;\r\n this.setState({\r\n isDeleting: true,\r\n });\r\n hoccard\r\n .delete(id)\r\n .then((response) => {\r\n if (response.status === 200) {\r\n this.setState({\r\n idToDelete: null,\r\n isOpenDeleteModal: false,\r\n });\r\n this.onCloseConfirm();\r\n this.getHocCard();\r\n showNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.HOCCARD, apioperation.DELETE));\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.HOCCARD, apioperation.DELETE));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isDeleting: false,\r\n });\r\n });\r\n };\r\n\r\n confirmDelete = (id) => {\r\n this.setState({\r\n idToDelete: id,\r\n isOpenDeleteModal: true,\r\n isDeleting: false,\r\n });\r\n };\r\n\r\n // //Filter HOC CARD\r\n\r\n\tgetHocCard = async (param) => {\r\n\t\tthis.setState({\r\n\t\t\tisLoadingList: true,\r\n\t\t\tisLoadingDate: true,\r\n\t\t\tisLoadingElement: true,\r\n\t\t});\r\n\t\tlet data;\r\n\t\tif (!this.state.isBack) {\r\n\t\t\tdata = {\r\n\t\t\t\tparams: {\r\n\t\t\t\t\t...this.state.searchModel,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t\tdata.params.page = param && param.page ? param.page : this.state.currentPage;\r\n\t\t\tdata.params.pageSize = param && param.pageSize ? param.pageSize : this.state.pageSize;\r\n\t\t\t//RITM0549692\r\n\t\t} else {\r\n\t\t\tlet filter = await HocCardRepository.getBackPaged();\r\n\t\t\t// If navigating back with at least one non-trivial filter applied, open filter panel\r\n\t\t\tif(filter === undefined) {\r\n\t\t\t\tdata = {\r\n\t\t\t\t\tparams: {\r\n\t\t\t\t\t\t...this.state.searchModel,\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\t\tdata.params.page = param && param.page ? param.page : this.state.currentPage;\r\n\t\t\t\tdata.params.pageSize = param && param.pageSize ? param.pageSize : this.state.pageSize;\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tlet isOpenFilterHoc = Object.keys(filter.params).some((p) => p !== \"page\" && p !== \"pageSize\" && filter.params[p] != null);\r\n\t\t\t\tdata = { params: filter.params };\r\n\t\t\t\tdata.params.page = 1; //RITM0549692\r\n\t\t\t\tthis.setState({ searchModel: filter?.params, isOpenFilterHoc });\r\n\t\t\t}\r\n\t\t}\r\n\t\t//console.log(\"YEAR HOC CARD Year: \"+this.year)\r\n\t\t//console.log(\"YEAR HOC CARD FilteredYear: \"+this.state.filteredYear)\r\n\t\tdata.params.year = this.state.filteredYear ? this.state.filteredYear : this.year;\r\n\t\t//console.log(\"params year : \"+ data.params.year)\r\n\t\thoccard\r\n\t\t.getWithParamYear(data,this.year)\r\n\t\t.then((response) => {\r\n\t\t\tthis.setState({\r\n\t\t\t\t...response.data,\r\n\t\t\t});\r\n\t\t\tif (response.status == 200) {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingList: false,\r\n\t\t\t\t\tisLoadingElement: false,\r\n\t\t\t\t\tcurrentPage: data.params.page, //RITM0549692\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif (!this.state.isBack) {\r\n\t\t\t\tHocCardRepository.updateHocCardFilter(data);\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch((error) => {\r\n\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.HOCCARD, apioperation.GET));\r\n\t\t})\r\n\t\t.finally(() => {\r\n\t\t\tthis.setState({\r\n\t\t\t\tisLoadingList: false,\r\n\t\t\t\tisLoadingDate: false,\r\n\t\t\t\tisLoadingElement: false,\r\n\t\t\t});\r\n\t\t});\r\n\t};\r\n\r\n handleClickSearch = (e) => {\r\n e.preventDefault();\r\n this.getHocCard({ page: 1 });\r\n };\r\n\r\n handleChangePaging = (event) => {\r\n this.setState({ isBack: false }, () => this.getHocCard(event));\r\n };\r\n\r\n refreshData() {\r\n this.getHocCard();\r\n this.getUserWorksite();\r\n this.getHocType();\r\n this.getHazardType();\r\n this.getHocPriority();\r\n this.getLSR();\r\n\r\n this.getInfoOriginator();\r\n this.getAllProject();\r\n // this.getHocCardList();\r\n this.getHocCardSources();\r\n }\r\n\r\n showEditModal() {\r\n this.clearInsertForm();\r\n this.setState((oldState) => ({ isEditModal: !oldState.isEditModal }));\r\n }\r\n\r\n showDivFilter() {\r\n this.setState((oldState) => ({ isOpenFilterHoc: !oldState.isOpenFilterHoc }));\r\n this.clearFiles();\r\n }\r\n\r\n showNewHocCard() {\r\n this.props.history.push('/hoccard/new');\r\n }\r\n\r\n // //DIV NEW E UPDATE\r\n divMessaggImportHC() {\r\n return (\r\n
    \r\n {!this.state.isImportHoc ? '' : }\r\n \r\n {this.state.message[0] === 'Success' ? (\r\n
    \r\n ) : (\r\n
    \r\n {this.state.message.map((x) => (\r\n
    \r\n
    \r\n {' '}\r\n {x}\r\n
    \r\n
    \r\n ))}\r\n
    \r\n )}\r\n
    \r\n );\r\n }\r\n\r\n // //\r\n downloadHocTemplate() {\r\n if (this.validatorworksite.allValid()) {\r\n this.setState({\r\n isExportfunction: true,\r\n });\r\n if (this.validatorworksite.allValid()) {\r\n hoccard\r\n .downloadTemplate(this.state.worksite.id, { responseType: 'arraybuffer' })\r\n .then((response) => {\r\n const data = new Blob([response.data], {\r\n type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\r\n });\r\n const csvURL = window.URL.createObjectURL(data);\r\n const tempLink = document.createElement('a');\r\n tempLink.href = csvURL;\r\n const nomefile = 'HocCardTemplate.xlsx';\r\n tempLink.setAttribute('download', nomefile);\r\n document.body.appendChild(tempLink);\r\n tempLink.click();\r\n this.toggleModalExportTemplate(false);\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.HOCCARDTEMPLATE, apioperation.DOWNLOAD));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isExportfunction: false,\r\n });\r\n });\r\n } else {\r\n this.validatorworksite.showMessages();\r\n this.forceUpdate();\r\n }\r\n } else {\r\n this.validatorworksite.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`, ` ${entitiesLabels.WORKSITE} required fields are missing `);\r\n \r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n divFiterHocCard() {\r\n /*\r\n const isCar = {\r\n IsCar: true,\r\n NotCar: false,\r\n AllCar: null,\r\n };\r\n */\r\n let xCarValue = '';\r\n if (this.state.searchModel.xCar == null) xCarValue = 'All';\r\n else if (this.state.searchModel.xCar === false) { xCarValue = 'No'; } else { xCarValue = 'Yes'; }\r\n\r\n let statusValue = '';\r\n if (this.state.searchModel.status == null) statusValue = 'All';\r\n else if (this.state.searchModel.status === false) { statusValue = 'Closed'; } else { statusValue = 'Opened'; }\r\n\r\n let hocHandledByMeValue = '';\r\n if (this.state.searchModel.hocHandledByMe == null) hocHandledByMeValue = 'All Compilers';\r\n else if (this.state.searchModel.hocHandledByMe === false) { hocHandledByMeValue = 'Other Compilers'; } else { hocHandledByMeValue = 'Me'; }\r\n\r\n let hocCarAssignedToMeValue = '';\r\n if (this.state.searchModel.hocCarAssignedToMe == null) hocCarAssignedToMeValue = 'All';\r\n else if (this.state.searchModel.hocCarAssignedToMe === false) { hocCarAssignedToMeValue = 'Other Compilers'; } else { hocCarAssignedToMeValue = 'Me'; }\r\n\r\n const filterItems = {\r\n idProject: this.state.searchModel?.idProject ? (this.state.allProject || [])\r\n .find((el) => el.id === this.state.searchModel.idProject) : [],\r\n idHazardType: this.state.searchModel?.idHazardType ? (this.state.hazardtype || [])\r\n .find((el) => el.id === this.state.searchModel.idHazardType) : [],\r\n idHocType: this.state.searchModel?.idHocType ? (this.state.hoctype || [])\r\n .find((el) => el.id === this.state.searchModel.idHocType) : [],\r\n idWorkSite: this.state.searchModel?.idWorkSite ? (this.state.worksites || [])\r\n .find((el) => el.id === this.state.searchModel.idWorkSite) : [],\r\n xCar: xCarValue,\r\n status: statusValue,\r\n idInfoOriginator: this.state.searchModel.idInfoOriginator ? \r\n (this.state.infooriginator || [])\r\n .find((el) => el.id === this.state.searchModel.idInfoOriginator) : null,\r\n \r\n // isStatus:null\r\n hocHandledByMe: hocHandledByMeValue,\r\n hocCarAssignedToMe: hocCarAssignedToMeValue,\r\n idHocCardSource: this.state.searchModel?.idHocCardSource ? \r\n (this.state.hocCardSources || [])\r\n .find((el) => el.id === this.state.searchModel.idHocCardSource) : [],\r\n completionStatus: this.state.searchModel.completionStatus || 'All',\r\n };\r\n \r\n return (\r\n
    \r\n {' '}\r\n {/* inserire nel form */}\r\n
    \r\n \r\n Worksite\r\n \r\n {this.state.isLoadingWorksite ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={this.state.searchModel.idWorkSite ? filterItems.idWorkSite : 'All'}\r\n items={this.state.worksites}\r\n />\r\n )}\r\n \r\n \r\n \r\n Project\r\n {this.state.isLoadingProject ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={this.state.searchModel.idProject ? filterItems.idProject : 'All'}\r\n items={this.state.allProject}\r\n // invalid={validations.pro != null}\r\n />\r\n )}\r\n \r\n \r\n Hazard Type\r\n {this.state.isLoadingHazardType ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={this.state.searchModel.idHazardType ? filterItems.idHazardType : 'All'}\r\n items={this.state.hazardtype}\r\n // items={this.state.search.search}\r\n />\r\n )}\r\n \r\n \r\n HocType\r\n {this.state.isLoadingHocType ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={this.state.searchModel.idHocType ? filterItems.idHocType : 'All'}\r\n items={this.state.hoctype}\r\n // items={this.state.search.search}\r\n />\r\n )}\r\n \r\n {/* \r\n \r\n Status\r\n \r\n {this.state.isLoadingStatus ? :\r\n (item ? item.name : '')}\r\n initialSelectedItem={filterItems.IsStatus}\r\n items={this.state.status}\r\n // items={this.state.search.search}\r\n \r\n />\r\n }*\r\n \r\n Status\r\n \r\n {this.state.isLoadingInfoOriginator ? :\r\n (item ? item : '')}\r\n initialSelectedItem={filterItems.isStatus}\r\n items={this.state.isStatus}\r\n \r\n />\r\n }\r\n */}\r\n \r\n \r\n HOC raised by\r\n {this.state.isLoadingInfoOriginator ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={this.state.searchModel.idInfoOriginator ? filterItems.idInfoOriginator : 'All'}\r\n items={this.state.infooriginator}\r\n // items={this.state.search.search}\r\n />\r\n )}\r\n \r\n \r\n CAR Associated\r\n (item ? item: '')}\r\n initialSelectedItem={filterItems.xCar}\r\n items={this.state.xCar}\r\n />\r\n \r\n \r\n HOC Code\r\n \r\n \r\n \r\n HOC Local ID\r\n \r\n \r\n \r\n CAR Status\r\n (item ? item: '')}\r\n initialSelectedItem={filterItems.status}\r\n items={this.state.isStatus}\r\n />\r\n \r\n \r\n HOC handled by\r\n \r\n \r\n \r\n HOC CAR assigned to\r\n \r\n \r\n \r\n Source\r\n {this.state.isLoadingProject ? (\r\n \r\n ) : (\r\n (item && item.name) || ''}\r\n onChange={this.handleChangeHocCardSourceFilter}\r\n initialSelectedItem={filterItems.idHocCardSource}\r\n items={this.state.hocCardSources}\r\n />\r\n )}\r\n \r\n \r\n HSE Review Status\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n \r\n render() {\r\n // Header\r\n const headersHocCard = [\r\n { key: 'code', header: 'Code' },\r\n { key: 'localId', header: 'Local ID' },\r\n { key: 'infoOriginator', header: 'HOC raised by' }, // RITM0853708\r\n { key: 'hazardType', header: 'Hazard Type' },\r\n { key: 'project', header: 'Project' },\r\n { key: 'description', header: 'Description' },\r\n { key: 'hocType', header: 'Hoc Type' },\r\n { key: 'occurredAt', header: 'Date Of Occurrence ', type: 'date' },\r\n { key: 'status', header: 'CAR Status', type: 'status' },\r\n { key: 'reportBy', header: 'Reported By' },\r\n { key: 'isCar', header: 'CAR Associated', type: 'bool' },\r\n { key: 'hocCardSource', header: 'Source' },\r\n ];\r\n const validatorworksite = {\r\n worksite: this.validatorworksite.message('worksite', this.state.worksite.id, 'required'),\r\n };\r\n // /DELETE CONFIRM\r\n const confirmDelProps = () => ({\r\n idToDelete: this.state.idToDelete,\r\n nameItem: '',\r\n isDeleting: this.state.isDeleting,\r\n open: this.state.isOpenDeleteModal, // open state\r\n onCloseConfirm: this.onCloseConfirm, // no click\r\n deleteItem: this.deleteItem, // yes click fn()\r\n });\r\n // //PAGINATION\r\n // const paginationProps = () => ({\r\n // page: this.state.currentPage || 1,\r\n // totalItems: this.state.rowCount || 0,\r\n // pageSize: this.state.pageSize || 10,\r\n // pageSizes: [10, 20, 30, 40, 50],\r\n // onChange: this.handleChangePaging,\r\n // });\r\n\r\n\t\tconst skeletonRowCount = this.state.rowCount > 0 && this.state.pageSize > this.state.rowCount ? this.state.rowCount : this.state.pageSize;\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t false}>\r\n\t\t\t\t\t\t\t this.toggleModalUploadTemplate(false)}>\r\n\t\t\t\t\t\t\t\t

    Import HOCs

    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t (this.fileUploader = node)}\r\n\t\t\t\t\t\t\t\t\t\taccept={[\".xlsx\"]}\r\n\t\t\t\t\t\t\t\t\t\tbuttonKind=\"primary\"\r\n\t\t\t\t\t\t\t\t\t\tbuttonLabel=\"Choose a file\"\r\n\t\t\t\t\t\t\t\t\t\tfilenameStatus={this.state.statusUpload}\r\n\t\t\t\t\t\t\t\t\t\ticonDescription=\"Choose\"\r\n\t\t\t\t\t\t\t\t\t\tlabelTitle=\"Upload\"\r\n\t\t\t\t\t\t\t\t\t\tlabelDescription=\"Please, download the template file before upload new items\"\r\n\t\t\t\t\t\t\t\t\t\tmultiple={false}\r\n\t\t\t\t\t\t\t\t\t\tname=\"inputFile\"\r\n\t\t\t\t\t\t\t\t\t\tonClick={this.clearFiles}\r\n\t\t\t\t\t\t\t\t\t\tonChange={this.onFileUploadChange}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{this.state.isImportHC ? this.divMessaggImportHC() : \"\"}\r\n\t\t\t\t\t\t\t\t\t{this.state.isImportfunction ? : \"\"}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t false}>\r\n\t\t\t\t\t\t\t this.toggleModalUploadEditTemplate(false)}>\r\n\t\t\t\t\t\t\t\t

    Import Edited HOCs

    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t (this.fileUploader = node)}\r\n\t\t\t\t\t\t\t\t\t\taccept={[\".xlsx\"]}\r\n\t\t\t\t\t\t\t\t\t\tbuttonKind=\"primary\"\r\n\t\t\t\t\t\t\t\t\t\tbuttonLabel=\"Choose a file\"\r\n\t\t\t\t\t\t\t\t\t\tfilenameStatus={this.state.statusUpload}\r\n\t\t\t\t\t\t\t\t\t\ticonDescription=\"Choose\"\r\n\t\t\t\t\t\t\t\t\t\tlabelTitle=\"Upload\"\r\n\t\t\t\t\t\t\t\t\t\tlabelDescription=\"Please, download the edit template file before upload new items\"\r\n\t\t\t\t\t\t\t\t\t\tmultiple={false}\r\n\t\t\t\t\t\t\t\t\t\tname=\"inputFile\"\r\n\t\t\t\t\t\t\t\t\t\tonClick={this.clearFiles}\r\n\t\t\t\t\t\t\t\t\t\tonChange={this.onFileUploadChange}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{this.state.isImportEditHC ? this.divMessaggImportHC() : \"\"}\r\n\t\t\t\t\t\t\t\t\t{this.state.isImportEditfunction ? : \"\"}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t false}>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t

    Export HOC Template - Select Worksite

    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tWorksite*\r\n\t\t\t\t\t\t\t\t\t\t\t{this.state.isLoadingWorksite ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.worksites.map(({ id, name }, i) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t{validatorworksite.worksite}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{!this.state.isExportfunction ? \"\" : }\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.HOCCARDTEMPLATE, apioperation.DOWNLOAD));\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tonDownLoadStart={() => this.setState({ isExportfunction: true })}\r\n\t\t\t\t\t\t\t\t\tonDownLoadEnd={() => this.setState({ isExportfunction: false })}\r\n\t\t\t\t\t\t\t\t\tapiUrl={`/hoccard/template/${this.state.worksite.id}`}\r\n\t\t\t\t\t\t\t\t\tfileName=\"HocCardTemplate.xlsx\"\r\n\t\t\t\t\t\t\t\t\tkind=\"primary\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\tExport\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t\tCurrent year\r\n\t\t\t\t\t\t\t\t\t\t\t item || \"\"}\r\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"inline\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabel=\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\tCreate new HOCs\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\tManaging HOCs\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{!this.state.isOpenFilterHoc ? \"\" : this.divFiterHocCard()}\r\n\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{this.state.isLoadingList ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{headers.map((header) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{header.header}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tActions\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{rows == null || rows.length == 0 ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trows.map((row) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{row.cells.map((cell) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t x.key === cell.info.header)} />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n )}\r\n
    \r\n )}\r\n />\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nHocCard.contextType = AppContext;\r\nHocCard.propTypes = {\r\n location: PropTypes.shape({\r\n hash: PropTypes.string,\r\n key: PropTypes.string,\r\n pathname: PropTypes.string,\r\n search: PropTypes.string,\r\n }).isRequired,\r\n };\r\n","import { ArrowDown16, ArrowUp16 } from '@carbon/icons-react';\r\nimport React from 'react';\r\n\r\nexport default class SortIcon extends React.Component {\r\n render() {\r\n const { show, isOrderDescending } = this.props;\r\n if (!show) return null;\r\n return isOrderDescending ? : ;\r\n }\r\n}","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Link } from 'react-router-dom';\r\nimport {\r\n Search,\r\n DataTable,\r\n Loading,\r\n DataTableSkeleton,\r\n TextInput,\r\n TableContainer,\r\n Pagination,\r\n Form,\r\n FormLabel,\r\n FormGroup,\r\n TableHead,\r\n Table,\r\n Dropdown,\r\n DropdownSkeleton,\r\n TableSelectRow,\r\n TableBatchActions,\r\n TableBatchAction,\r\n TableBody,\r\n TableRow,\r\n TableCell,\r\n TableHeader,\r\n TableToolbar,\r\n TableToolbarContent,\r\n Button,\r\n} from 'carbon-components-react';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport Send16 from '@carbon/icons-react/lib/send/16';\r\nimport {\r\n CheckmarkOutline16,\r\n Add20,\r\n Error16,\r\n DocumentExport16,\r\n} from '@carbon/icons-react/lib/';\r\nimport Data16 from '@carbon/icons-react/lib/data--1/16';\r\nimport TrainingRepository from '../../helpers/api/TrainingRepository';\r\nimport {\r\n RenderDataTableCell,\r\n NoRecordsPlaceholder,\r\n} from '../../helpers/jsonschemaform/DataTableExtention';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport {\r\n getSuccess,\r\n getError,\r\n entitiesLabels,\r\n apioperation,\r\n STATUS,\r\n} from '../../helpers/Constants';\r\nimport { training, me, api } from '../../helpers/api/api';\r\nimport { ComboBox } from '../../helpers/ComboBox';\r\nimport { CanExecuteAction, IsInRole } from '../../helpers/authorization/Policies';\r\nimport { AppContext } from '../../helpers/context/AppContext';\r\nimport { WFActionModal } from '../common/WFActionModal';\r\nimport PageBreadCrumb from '../../helpers/PageBreadCrumb';\r\nimport { Online, Offline } from '../common/OnLineOffLine';\r\nimport FileDownLoadButton from '../common/FileDownloadButton';\r\nimport SortIcon from '../common/SortIcon';\r\n\r\n\r\nconst defaultOrderBy = {\r\n orderByField: 'startDate',\r\n isOrderDescending: true\r\n};\r\n\r\nexport default class TrainingList extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.year = new Date().getFullYear();\r\n\r\n this.state = {\r\n isApprovalModalOpen: false,\r\n approvalModalAction: '',\r\n approver: null,\r\n approvalStartDate: null,\r\n approvalEndDate: null,\r\n isLoadingApproverOptions: true,\r\n isLoadingNotificationFile: false,\r\n approvalValidationMessages: [],\r\n approvers: [],\r\n selectedData: [],\r\n approverRole: '',\r\n withApprover: true,\r\n isLoadingWFOperation: false,\r\n approvalNotesRequired: false,\r\n itemList: [],\r\n worksite: [],\r\n status: [],\r\n country: [],\r\n maindivision: [],\r\n trainingYear: [],\r\n month: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\r\n prj: [],\r\n company: [],\r\n currentPage: 1,\r\n pageSize: 10,\r\n rowCount: 0,\r\n isBack:\r\n !!(this.props.history.action === 'POP' || this.props.location.search === '?isBack'),\r\n searchModel: {\r\n ...this.searchProp(),\r\n },\r\n };\r\n this.toggleSearchForm = this.toggleSearchForm.bind(this);\r\n this.getStatus = this.getStatus.bind(this);\r\n this.getUserWorksite = this.getUserWorksite.bind(this);\r\n this.getCountry = this.getCountry.bind(this);\r\n this.getCompany = this.getCompany.bind(this);\r\n this.getTrainingList = this.getTrainingList.bind(this);\r\n this.IsRowSelectable = this.IsRowSelectable.bind(this);\r\n this.getTrainingYears = this.getTrainingYears.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.getTrainingList();\r\n this.getCountry();\r\n this.getCompany();\r\n this.getPrj();\r\n this.getUserWorksite();\r\n this.getStatus();\r\n this.getTrainingYears();\r\n this.getUserDivision();\r\n }\r\n\r\n /** ***********API get all Training******************* */\r\n getTrainingList = async (param) => {\r\n let data = null;\r\n this.setState({\r\n isLoading: true,\r\n });\r\n if (!this.state.isBack) {\r\n data = {\r\n params: {\r\n ...this.state.searchModel,\r\n page: param?.page || this.state.currentPage,\r\n pageSize: param?.pageSize || this.state.pageSize,\r\n },\r\n };\r\n } else {\r\n const filter = await TrainingRepository.getBackPaged();\r\n // filter.params.page = param?.page || filter.params.page;\r\n // RITM0549692\r\n filter.params.page = 1; \r\n filter.params.pageSize = param?.pageSize || filter.params.pageSize;\r\n data = {\r\n params: filter.params,\r\n };\r\n this.setState({\r\n searchModel: filter?.params,\r\n });\r\n if (\r\n filter.params.idStatus === undefined &&\r\n filter.params.idWorksite === undefined &&\r\n filter.params.idCountry === undefined &&\r\n filter.params.idPrj === undefined &&\r\n filter.params.idCompany === undefined &&\r\n filter.params.idMainDivision === undefined &&\r\n filter.params.inUse === undefined &&\r\n filter.params.code === undefined &&\r\n filter.params.courseCode === undefined &&\r\n filter.params.compiler === undefined &&\r\n filter.params.dataApprover === undefined &&\r\n filter.params.year === undefined &&\r\n filter.params.month === undefined &&\r\n filter.params.divisionManager === undefined\r\n ) {\r\n this.setState({ isOpenSearchForm: false });\r\n } else {\r\n this.setState({ isOpenSearchForm: true });\r\n }\r\n }\r\n this.getTrainingListFilter(data);\r\n };\r\n\r\n getTrainingListFilter(data) {\r\n training\r\n .getWithParam(data)\r\n .then((response) => {\r\n this.setState({\r\n ...response.data,\r\n });\r\n TrainingRepository.updateReportFilter(data);\r\n TrainingRepository.updateReport(data);\r\n })\r\n .catch((error) => {\r\n showNotification.error(getError(error, entitiesLabels.TRAINING, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoading: false,\r\n });\r\n });\r\n }\r\n\r\n /** ***********API******************* */\r\n searchProp = () => ({\r\n idStatus: null,\r\n idWorksite: null,\r\n idCountry: null,\r\n idPrj: null,\r\n idCompany: null,\r\n idMainDivision: null,\r\n inUse: null,\r\n code: null,\r\n courseCode: null,\r\n year: this.state?.searchModel?.year ? this.state?.searchModel?.year : this.year,\r\n month: null,\r\n compiler: null,\r\n dataApprover: null,\r\n divisionManager: null,\r\n ...defaultOrderBy\r\n });\r\n\r\n // Carico prop per combobox\r\n\r\n // Country\r\n getCountry = () => {\r\n api\r\n .getAll('/admin/country?page=0')\r\n .then((response) => {\r\n const data = response.data.itemList;\r\n this.setState({\r\n country: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.COUNTRY, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingCountry: false,\r\n });\r\n });\r\n };\r\n\r\n // Training Years\r\n getTrainingYears = () => {\r\n api.getAll('/training/years')\r\n .then((response) => {\r\n this.setState({\r\n trainingYear: response.data\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.YEAR, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingYear: false,\r\n });\r\n });\r\n };\r\n\r\n getPrj = () => {\r\n me.getAll('project')\r\n .then((response) => {\r\n const { data } = response;\r\n this.setState({\r\n prj: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.PROJECT, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingProject: false,\r\n });\r\n });\r\n };\r\n\r\n // COMPANY\r\n getCompany = () => {\r\n api\r\n .getAll('/company')\r\n .then((response) => {\r\n const data = response.data.itemList;\r\n this.setState({\r\n company: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.COMPANY, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingCompany: false,\r\n });\r\n });\r\n };\r\n\r\n// STATUS\r\ngetStatus = () => {\r\n api\r\n .getAll('/registry/status')\r\n .then((response) => {\r\n // DEV_255_RITM0565449\r\n const { data } = response;\r\n this.setState({\r\n status: data.filter((stato) => stato.id !== 3)\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.STATUS, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingStatus: false,\r\n });\r\n });\r\n};\r\n\r\n // Division\r\n getUserDivision = () => {\r\n me.getAll('divisions')\r\n .then((response) => {\r\n this.setState({\r\n maindivision: response.data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.DIVISION, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingMainDivision: false,\r\n });\r\n });\r\n };\r\n\r\n // Worksite\r\n getUserWorksite = () => {\r\n me.getAll('worksites')\r\n .then((response) => {\r\n this.setState({\r\n worksite: response.data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.WORKSITEGROUP, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingWorksite: false,\r\n });\r\n });\r\n };\r\n\r\n // /WF\r\n handleApproverSelect = (selectedItem) => {\r\n this.setState({ approver: selectedItem });\r\n };\r\n\r\n handleCloseApprovalModal = () => {\r\n this.setState({ isApprovalModalOpen: false }, this.clearApprovalForm);\r\n };\r\n\r\n handleApprovalNotesChange = (e) => {\r\n this.setState({ approvalNotes: e.target.value });\r\n };\r\n\r\n\r\n getUsersInRole = (role, idEntity) => {\r\n me.getWithParam('users', {\r\n params: { Role: role, IdEntity: idEntity, includeAdmins: true },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n approvers: response.data,\r\n isLoadingApproverOptions: false,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.ROLE, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingApproverOptions: false,\r\n });\r\n });\r\n };\r\n\r\n handleConfirmApprovalModal = () => {\r\n const apiEndpoint = this.state.approvalEndpoint;\r\n\r\n const data = {\r\n ids: this.state.selectedData.map((r) => r.id),\r\n owner: this.state.approver,\r\n workflowNotes: this.state.approvalNotes,\r\n };\r\n\r\n this.setState({\r\n isLoadingWFOperation: true,\r\n });\r\n api\r\n .put(`/training/${apiEndpoint}`, data, '')\r\n .then((response) => {\r\n if (response.status === 200) {\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.TRAINING, apioperation.PUT)\r\n );\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n isApprovalModalOpen: false,\r\n isLoading: true,\r\n itemList: [],\r\n });\r\n this.getTrainingList();\r\n } else {\r\n showNotification.error();\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.TRAINING, apioperation.PUT)\r\n );\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n })\r\n .finally(() => {});\r\n };\r\n\r\n getTraining = (selectedRows) => {\r\n if (selectedRows && selectedRows.length > 0) {\r\n return this.state.itemList.find((el) => el.id === selectedRows[0].id);\r\n }\r\n return null;\r\n };\r\n\r\n getStatusId = (idRow) => {\r\n const r = this.state.itemList.find((el) => el.id === idRow);\r\n return r && r.idStatus;\r\n };\r\n\r\n // Search\r\n handleChangeCombo = (inputName, selectedItem, objName) => {\r\n const inputValue = selectedItem ? selectedItem.id : null;\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n statusCopy.isBack = false;\r\n // statusCopy['selectedItemCombo'][inputName] = selectedItem;\r\n this.setState(statusCopy);\r\n };\r\n\r\n handleChangeDropDownYear = (evt) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy.searchModel.year = evt.selectedItem;\r\n statusCopy.isBack = false;\r\n this.setState((prevState) => ({ isBack: statusCopy.isBack, \r\n searchModel: { ...prevState.searchModel, \r\n year: statusCopy.searchModel.year, \r\n month: evt.selectedItem ? prevState.searchModel.month : null } }), this.getTrainingList);\r\n };\r\n\r\n handleChangeMonth = (inputName, selectedItem,) => {\r\n const item = selectedItem ? this.state.month.indexOf(selectedItem) : null;\r\n const m = selectedItem ? (item + 1).toString() : null;\r\n this.setState((prevState) => (\r\n { searchModel: { ...prevState.searchModel, month: m } }\r\n ));\r\n }\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n statusCopy.isBack = false;\r\n this.setState(statusCopy);\r\n };\r\n\r\n handleChangeSearch = (el) => {\r\n const inputName = el.target.name;\r\n\r\n const inputValue = el.target.value;\r\n this.setState({ isBack: false });\r\n\r\n this.updateState(inputName, inputValue, 'searchModel');\r\n };\r\n\r\n handleClickSearch = (e) => {\r\n e.preventDefault();\r\n this.setState({\r\n isLoading: true,\r\n });\r\n this.getTrainingList({ page: 1 });\r\n };\r\n\r\n handleClickCancelSearch = () => {\r\n this.setState({\r\n isBack: false,\r\n isLoading: true,\r\n searchModel: {\r\n ...this.searchProp(),\r\n },\r\n isOpenSearchForm: false,\r\n });\r\n const params = {\r\n page: 1,\r\n pageSize: 10,\r\n idStatus: null,\r\n idWorksite: null,\r\n idCountry: null,\r\n idPrj: null,\r\n idCompany: null,\r\n idMainDivision: null,\r\n inUse: null,\r\n code: null,\r\n year: this.state?.searchModel?.year ? this.state?.searchModel?.year : this.year,\r\n month: null,\r\n courseCode: null,\r\n compiler: null,\r\n dataApprover: null,\r\n divisionManager: null,\r\n ...defaultOrderBy\r\n };\r\n this.getTrainingListFilter({ params });\r\n };\r\n\r\n handleChangePaging =async (event) => {\r\n await this.setState({ isBack: false });\r\n this.getTrainingList(event);\r\n };\r\n\r\n handleOrderByChange = (key) => {\r\n this.setState((prevState) => {\r\n const isOrderDescending = prevState.searchModel.orderByField === key\r\n ? !prevState.searchModel.isOrderDescending\r\n : true;\r\n return {\r\n isBack: false,\r\n searchModel: {\r\n ...prevState.searchModel,\r\n orderByField: key,\r\n isOrderDescending\r\n }\r\n };\r\n }, this.getTrainingList);\r\n };\r\n\r\n\r\nIsRowSelectable(row, selectedRows, user) {\r\n var row = this.state.itemList.find((i) => i.id === row.id);\r\n\r\n if (row.idStatus == STATUS.Consolidated) return false;\r\n\r\n if (selectedRows.length == 0) {\r\n return true;\r\n }\r\n\r\n if (selectedRows.length > 0) {\r\n const selectableTraining = this.state.itemList.find((i) => i.id == selectedRows[0].id);\r\n const selectableState = selectableTraining.idStatus;\r\n const selectableDivision = selectableTraining.idDivision;\r\n const selectableWorksite = selectableTraining.idWorkSite;\r\n\r\n if (\r\n row.idStatus == selectableState &&\r\n (row.idStatus == STATUS.Draft\r\n ? row.idWorkSite == selectableWorksite\r\n : row.idDivision == selectableDivision)\r\n ) {\r\n const canSelect =\r\n CanExecuteAction('Training', 'Reporting', user, row.idStatus, 'Submit', row) ||\r\n CanExecuteAction('Training', 'Reporting', user, row.idStatus, 'Approve', row) ||\r\n CanExecuteAction('Training', 'Reporting', user, row.idStatus, 'Consolidate', row) ||\r\n CanExecuteAction('Trainign', 'Reporting', user, row.idStatus, 'Reject', row) ||\r\n CanExecuteAction('Training', 'Reporting', user, row.idStatus, 'RejectConsolidate', row) ||\r\n CanExecuteAction('Training', 'Reporting', user, row.idStatus, 'Delete', row);\r\n return canSelect;\r\n // return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n return false;\r\n}\r\n\r\n\r\n batchActionClick(\r\n actionKey,\r\n actionName,\r\n approverRole,\r\n withApprover,\r\n approvalNotesRequired,\r\n selectedRows\r\n ) {\r\n const trainingItem = this.state.itemList.find((i) => i.id === selectedRows[0].id);\r\n\r\n let idEntity;\r\n if (actionKey === 'Submit') {\r\n idEntity = trainingItem.idWorkSite;\r\n } else if (actionKey === 'Approve') {\r\n idEntity = trainingItem.idDivision;\r\n } else {\r\n idEntity = null;\r\n }\r\n\r\n this.setState({\r\n approvalModalAction: actionName,\r\n isApprovalModalOpen: true,\r\n isLoadingApproverOptions: true,\r\n withApprover,\r\n selectedData: selectedRows,\r\n approverRole,\r\n approvalEndpoint: actionKey,\r\n approvalNotesRequired,\r\n });\r\n\r\n if (withApprover) this.getUsersInRole(approverRole, idEntity);\r\n }\r\n\r\n toggleSearchForm(e) {\r\n e.preventDefault();\r\n this.setState((oldState) => ({ isOpenSearchForm: !oldState.isOpenSearchForm }));\r\n }\r\n\r\n renderSearchform() {\r\n const filterItems = {\r\n idStatus: this.state.searchModel?.idStatus\r\n ? (this.state.status || []).find((el) => el.id === this.state.searchModel.idStatus)\r\n : [],\r\n idWorksite: this.state.searchModel?.idWorksite\r\n ? (this.state.worksite || []).find((el) => el.id === this.state.searchModel.idWorksite)\r\n : [],\r\n idCountry: this.state.searchModel?.idCountry\r\n ? (this.state.country || []).find((el) => el.id === this.state.searchModel.idCountry)\r\n : [],\r\n idMainDivision: this.state.searchModel?.idMainDivision\r\n ? (this.state.maindivision || []).find(\r\n (el) => el.id === this.state.searchModel.idMainDivision)\r\n : [],\r\n idPrj: this.state.searchModel?.idPrj\r\n ? (this.state.prj || []).find((el) => el.id === this.state.searchModel.idPrj)\r\n : [],\r\n idCompany: this.state.searchModel?.idCompany\r\n ? (this.state.company || []).find((el) => el.id === this.state.searchModel.idCompany)\r\n : [],\r\n idActionStatus: null,\r\n inUse: this.state.searchModel?.inUse\r\n ? (this.state.inUse || []).find((el) => el.id === this.state.searchModel.inUse)\r\n : [],\r\n };\r\n return (\r\n
    \r\n
    \r\n \r\n Status\r\n {this.state.isLoadingStatus ? (\r\n \r\n ) : (\r\n (item ? item.reportingName : '')}\r\n initialSelectedItem={\r\n this.state.searchModel?.idStatus != null ? filterItems.idStatus : 'All'\r\n }\r\n selectedItem={\r\n this.state.searchModel?.idStatus != null ? filterItems.idStatus : 'All'\r\n }\r\n items={this.state.status}\r\n />\r\n )}\r\n \r\n\r\n \r\n Worksite\r\n {this.state.isLoadingWorksite ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={\r\n this.state.searchModel?.idWorksite != null ? filterItems.idWorksite : 'All'\r\n }\r\n selectedItem={\r\n this.state.searchModel?.idWorksite != null ? filterItems.idWorksite : 'All'\r\n }\r\n items={this.state.worksite}\r\n />\r\n )}\r\n \r\n\r\n \r\n Project\r\n {this.state.isLoadingProject ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={this.state.searchModel.idPrj ? filterItems.idPrj : 'All'}\r\n selectedItem={this.state.searchModel.idPrj ? filterItems.idPrj : 'All'}\r\n items={this.state.prj}\r\n />\r\n )}\r\n \r\n\r\n \r\n Country\r\n {this.state.isLoadingCountry ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={\r\n this.state.searchModel.idCountry ? filterItems.idCountry : 'All'\r\n }\r\n selectedItem={this.state.searchModel.idCountry ? filterItems.idCountry : 'All'}\r\n items={this.state.country}\r\n />\r\n )}\r\n \r\n\r\n {/* \r\n \r\n Reference Year\r\n \r\n (item ? item.name : '')}\r\n initialSelectedItem={filterItems.idReferenceYear}\r\n items={this.state.referenceyear}\r\n // // items={this.state.search.search}\r\n\r\n />\r\n */}\r\n\r\n \r\n Training Code\r\n \r\n \r\n \r\n Course Code\r\n \r\n \r\n\r\n \r\n Email Compiler\r\n \r\n \r\n\r\n \r\n Email Data Approver\r\n \r\n \r\n\r\n \r\n Email Consolidator\r\n \r\n \r\n \r\n {/* RITM0945977 */}\r\n {/* Division */}\r\n Business Line\r\n {this.state.isLoadingMainDivision ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={this.state.searchModel.idMainDivision ? filterItems.idMainDivision : 'All'}\r\n selectedItem={this.state.searchModel.idMainDivision ? filterItems.idMainDivision : 'All'}\r\n items={this.state.maindivision}\r\n />\r\n )}\r\n \r\n \r\n Month\r\n (item || '')}\r\n selectedItem={this.state.searchModel.month ? this.state.month[this.state.searchModel.month - 1] : 'All'}\r\n items={this.state.month}\r\n disabled={this.state.searchModel.year == null}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n render() {\r\n const headersDataTable = [\r\n { key: 'status', header: 'Status', type: 'status' },\r\n { key: 'code', header: 'Code' },\r\n { key: 'workSite', header: 'Worksite' },\r\n { key: 'project', header: 'Project' },\r\n { key: 'startDate', header: 'Start Date', type: 'date' },\r\n { key: 'endDate', header: 'End Date', type: 'date' },\r\n { key: 'courseCode', header: 'Course Code' },\r\n ];\r\n // ///ROWS\r\n const rowsTrainings =\r\n this.state.itemList || []\r\n ? this.state.itemList.map((item) => {\r\n const result = {};\r\n result.workSite = item.workSite;\r\n result.status = item.status;\r\n result.idStatus = item.idStatus;\r\n result.code = item.code;\r\n result.project = item.project;\r\n result.startDate = item.startDate;\r\n result.endDate = item.endDate;\r\n result.trainingCentre = item.trainingCenter?.name;\r\n result.courseCode = item.info.courseCode;\r\n result.id = item.id;\r\n return result;\r\n })\r\n : null;\r\n const paginationProps = () => ({\r\n page: this.state.currentPage || 1,\r\n totalItems: this.state.rowCount || 0,\r\n pageSize: this.state.pageSize || 10,\r\n pageSizes: [10, 20, 30, 40, 50],\r\n onChange: this.handleChangePaging,\r\n });\r\n\r\n const skeletonRowCount =\r\n this.state.rowCount > 0 && this.state.pageSize > this.state.rowCount\r\n ? this.state.rowCount\r\n : 5;\r\n\r\n const fileDownLoadButtonProps = (id) => {\r\n const item = (this.state.itemList || []).find((i) => i.id === id);\r\n return {\r\n size: 'small',\r\n className: 'bx--export-tab-form',\r\n iconDescription: 'Download Report',\r\n title: 'Download Report',\r\n kind: 'ghost',\r\n apiUrl: `/training/${id}/exportReport`,\r\n fileName: `Training_${item ? item.code : ''}.pdf`,\r\n onDownLoadStart: () => {\r\n this.setState({\r\n isLoadingNotificationFile: true,\r\n });\r\n },\r\n onDownLoadEnd: () => {\r\n this.setState({\r\n isLoadingNotificationFile: false,\r\n });\r\n },\r\n onError: (error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.TRAINING, apioperation.DOWNLOAD)\r\n );\r\n },\r\n };\r\n };\r\n\r\n return (\r\n \r\n {({ user }) => (\r\n <>\r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n {IsInRole(user, 'Administrator') || IsInRole(user, 'Compiler') ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n
    \r\n

    \r\n Current year\r\n item || ''}\r\n type=\"inline\"\r\n />\r\n

    \r\n\r\n {!this.state.isOpenSearchForm ? '' : this.renderSearchform()}\r\n\r\n (\r\n \r\n {selectedRows.length > 0 ? (\r\n \r\n \r\n \r\n \r\n {CanExecuteAction(\r\n 'Training',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Submit',\r\n this.getTraining(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Submit',\r\n 'Submit',\r\n 'Data Approver',\r\n true,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Submit Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Training',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Approve',\r\n this.getTraining(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Approve',\r\n 'Approve',\r\n null, /* RUOLI_APPROVATIVI_DEV_255_RITM0565449 */\r\n false, /* RUOLI_APPROVATIVI_DEV_255_RITM0565449 */\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Approve Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Training',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Consolidate',\r\n this.getTraining(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Consolidate',\r\n 'Consolidate',\r\n null,\r\n false,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Consolidate Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Training',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Reject',\r\n this.getTraining(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Reject',\r\n 'Reject',\r\n null,\r\n false,\r\n true,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Reject Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Training',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'RejectConsolidate',\r\n this.getTraining(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'RejectConsolidate',\r\n 'Reject',\r\n null,\r\n false,\r\n true,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Reject Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Training',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Delete',\r\n this.getTraining(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Delete',\r\n 'Delete',\r\n null,\r\n false,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Delete\r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n ) : (\r\n ''\r\n )}\r\n\r\n {this.state.isLoading ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n \r\n \r\n \r\n {/* */}\r\n \r\n\r\n {headers.map((header) => (\r\n \r\n this.handleOrderByChange(header.key)}\r\n role=\"button\"\r\n tabIndex={0}\r\n >\r\n {header.header}\r\n \r\n \r\n \r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n {this.IsRowSelectable(row, selectedRows, user) ? (\r\n <>\r\n \r\n \r\n \r\n {' '}\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n\r\n {row.cells.map((cell) => (\r\n x.key === cell.info.header)}\r\n />\r\n ))}\r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {/*
    \r\n \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n )}\r\n
    \r\n )}\r\n />\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\nTrainingList.propTypes = {\r\n location: PropTypes.shape({\r\n hash: PropTypes.string,\r\n key: PropTypes.string,\r\n pathname: PropTypes.string,\r\n search: PropTypes.string,\r\n }).isRequired,\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport { ComboBox, DropdownSkeleton } from 'carbon-components-react';\r\nimport PropTypes from 'prop-types';\r\nimport { api } from '../../../helpers/api/api';\r\n\r\nexport default class InspectionTypeComboBox extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n items: []\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n async componentDidMount() {\r\n if (!this.props.section && this.props.loadAll === false) return;\r\n this.setState({ loading: true });\r\n const items = await this.getItems();\r\n this.setState({ items, loading: false });\r\n }\r\n\r\n onChange = (selectedItem) => {\r\n const item = selectedItem ? selectedItem.selectedItem : null;\r\n this.props.onChange(item);\r\n };\r\n \r\n\r\n getInspectionType = async (section) => {\r\n const types = (await api.getAll('/inspection/types')).data;\r\n if (section) return types.filter((w) => w.idInspectionSection === section);\r\n return types;\r\n };\r\n\r\n\r\n getItems = async () => {\r\n let items = [];\r\n try {\r\n items = this.props.loadAll\r\n ? await this.getInspectionType()\r\n : await this.getInspectionType(this.props.section);\r\n\r\n if (this.props.loadAll) {\r\n const map = new Map();\r\n const result = [];\r\n items.map((item) => {\r\n if (!map.has(item.name)) {\r\n map.set(item.name, true);\r\n result.push({ name: item.name });\r\n }\r\n return null;\r\n });\r\n items = result;\r\n }\r\n } catch (error) {\r\n this.props.onError(error);\r\n }\r\n return items;\r\n };\r\n\r\n render() {\r\n return this.state.loading ? (\r\n \r\n ) : (\r\n \r\n item.name?.toLowerCase().includes(inputValue?.toLowerCase()) ||\r\n item.code?.toLowerCase().includes(inputValue?.toLowerCase())\r\n }\r\n itemToString={(item) => (item ? item && item.name : '')}\r\n initialSelectedItem={this.props.initialSelectedItem}\r\n />\r\n );\r\n }\r\n}\r\n\r\nInspectionTypeComboBox.propTypes = {\r\n invalid: PropTypes.bool,\r\n invalidText: PropTypes.string,\r\n section: PropTypes.string,\r\n onChange: PropTypes.func.isRequired,\r\n onError: PropTypes.func.isRequired,\r\n loadAll: PropTypes.bool,\r\n initialSelectedItem: PropTypes.object,\r\n disabled: PropTypes.bool\r\n};\r\nInspectionTypeComboBox.defaultProps = {\r\n invalid: false,\r\n invalidText: '',\r\n section: null,\r\n loadAll: false,\r\n initialSelectedItem: null,\r\n disabled: true\r\n};\r\n","import React, { Component } from 'react';\r\nimport { ComboBox, DropdownSkeleton } from 'carbon-components-react';\r\nimport PropTypes from 'prop-types';\r\nimport { api } from '../../../helpers/api/api';\r\n\r\nexport default class InspectionSectionComboBox extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n items: [],\r\n value: ''\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n async componentDidMount() {\r\n this.setState({ loading: true });\r\n const items = await this.getItems();\r\n const value= this.props.selectedItem;\r\n this.setState({ items, loading: false, value});\r\n }\r\n\r\n onChange = (selectedItem) => {\r\n const item = selectedItem ? selectedItem.selectedItem : null;\r\n this.props.onChange(item);\r\n };\r\n\r\n getItems = async () => {\r\n let items = [];\r\n \r\n try {\r\n items = (await api.getAll('/inspection/sections')).data;\r\n } catch (error) {\r\n this.props.onError(error);\r\n }\r\n return items;\r\n };\r\n\r\n render() {\r\n return this.state.loading ? (\r\n \r\n ) : (\r\n \r\n item.name.toLowerCase().includes(inputValue.toLowerCase()) ||\r\n item.code.toLowerCase().includes(inputValue.toLowerCase())\r\n }\r\n invalid={this.props.invalid}\r\n invalidText={this.props.invalidText}\r\n itemToString={(item) => (item ? item && item.name : '')}\r\n />\r\n );\r\n }\r\n}\r\n\r\nInspectionSectionComboBox.propTypes = {\r\n invalid: PropTypes.bool,\r\n invalidText: PropTypes.string,\r\n onChange: PropTypes.func.isRequired,\r\n onError: PropTypes.func.isRequired,\r\n selectedItem: PropTypes.object,\r\n disabled: PropTypes.bool\r\n};\r\nInspectionSectionComboBox.defaultProps = {\r\n invalid: false,\r\n invalidText: '',\r\n selectedItem: null,\r\n disabled: true\r\n};\r\n","/* eslint-disable react/jsx-props-no-spreading */\r\n/* eslint-disable react/forbid-prop-types */\r\n\r\nimport React, { Component } from 'react';\r\nimport moment from 'moment';\r\nimport {\r\n \r\n Button,\r\n \r\n} from 'carbon-components-react';\r\n\r\n\r\nexport default class InspectionWeekHeader extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n\r\n };\r\n\r\n\r\n }\r\n\r\n\r\n render() {\r\n //cella con numero settimana e giorni della settimana \r\n return (\r\n <>\r\n\r\n {this.props.numberweekstart != null ?\r\n
    \r\n
    \r\n {this.props.numberweek}\r\n
    \r\n
    \r\n {moment.utc(this.props.numberweekstart).format('DD/MM')}\r\n
    \r\n
    \r\n {moment.utc(this.props.numberweekend).format('DD/MM')}\r\n
    \r\n
    \r\n :\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n }\r\n \r\n );\r\n }\r\n}\r\n","\r\n\r\nimport React, { Component } from 'react';\r\nimport {\r\n\r\n Button,\r\n\r\n} from 'carbon-components-react';\r\n\r\n\r\nexport class InspectionWeekBody extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n disabled: this.props.disabled,\r\n draft: this.props.statusDraft,\r\n approved: this.props.statusApproved,\r\n submit: this.props.statusSubmitted,\r\n planned: this.props.statusPlanned,\r\n };\r\n\r\n\r\n }\r\n\r\n\r\n render() {\r\n ///Cella con lo stato della week\r\n return (\r\n <>\r\n\r\n
    \r\n
    \r\n {this.props.draft != 0 ?\r\n\r\n < div className={this.props.draft != 0 ? (this.props.isDrill ? 'y' : 'g') : ''} >\r\n {this.props.draft != 0 ? this.props.draft : ''}\r\n
    \r\n :
    \r\n }\r\n {this.props.submitted != 0 ?\r\n\r\n < div className={this.props.submit != 0 ? (this.props.isDrill ? 'o' : 'r') : ''} >\r\n {this.props.submit != 0 ? this.props.submit : ''}\r\n
    \r\n :
    \r\n }\r\n {this.props.approved != 0 ?\r\n\r\n < div className={this.props.approved != 0 ? 'y' : ''} >\r\n {this.props.approved != 0 ? this.props.approved : ''}\r\n
    \r\n :
    \r\n }\r\n {this.props.planned != 0 ?\r\n\r\n < div className={this.props.planned != 0 ? (this.props.isDrill ? 'lg' : 'y') : ''} >\r\n {this.props.planned != 0 ? this.props.planned : ''}\r\n \r\n :
    \r\n }\r\n\r\n\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nInspectionWeekBody.defaultProps = {\r\n isDrill: false\r\n }","import React, { Component } from 'react';\r\nimport {} from 'carbon-components-react';\r\nimport InspectionWeekHeader from './InspectionWeekHeader';\r\nimport { InspectionWeekBody } from './InspectionWeekBody';\r\n\r\nexport class InspectionMonthHeader extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n calendar: this.props.calendar,\r\n };\r\n }\r\n\r\n render() {\r\n return this.props.calendar.map((formonth) => (\r\n <>\r\n \r\n {formonth.months.map((month) => (\r\n \r\n el== month.monthsNumber)?\r\n 'box-information-tilte-description headerSelected' :\r\n month.selected\r\n ? 'box-information-tilte-description headerSelected'\r\n : 'box-information-tilte-description' : null\r\n }\r\n key={month.monthName}\r\n onClick={\r\n this.props?.monthsSelected != null ? this.props?.monthsSelected.find((el) => el== month.monthsNumber)?\r\n month.selected = true : null : null,\r\n (e) => {\r\n this.props.onSelectMonth(month);\r\n month.selected = !month.selected;\r\n }}\r\n >\r\n {month.monthName}\r\n \r\n ))}\r\n \r\n \r\n {formonth.weeksList.map((week) => (\r\n el== week.weekNumber)?\r\n week.selected = true : null : null,\r\n (e) => {\r\n this.props.onSelectWeek(week.weekNumber);\r\n week.selected = !week.selected;\r\n }}\r\n >\r\n \r\n \r\n ))}\r\n \r\n \r\n {formonth.weeksList.map((week) => (\r\n {\r\n this.props.onSelectWeek(week.weekNumber);\r\n week.selected = !week.selected;\r\n }}\r\n >\r\n \r\n \r\n ))}\r\n \r\n \r\n ));\r\n }\r\n}\r\n\r\nInspectionMonthHeader.defaultProps = {\r\n isDrill: false\r\n}\r\n","import React, { Component } from 'react';\r\nimport {} from 'carbon-components-react';\r\nimport InspectionWeekHeader from '../../common/InspectionWeekHeader';\r\nimport { InspectionWeekBody } from '../../common/InspectionWeekBody';\r\n\r\nexport class CalendarSkeleton extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n calendar: [\r\n {\r\n id: 0,\r\n name: 'first',\r\n code: '111',\r\n inspectionName: 'Fire',\r\n inspectionType: 'inspectionType',\r\n division: 'division',\r\n company: 'company',\r\n status: 'draft',\r\n months: [\r\n {\r\n idMonths: 1,\r\n monthName: 'January',\r\n },\r\n {\r\n idMonths: 2,\r\n monthName: 'February',\r\n },\r\n ,\r\n {\r\n idMonths: 3,\r\n monthName: 'March',\r\n },\r\n ,\r\n {\r\n idMonths: 4,\r\n monthName: 'April',\r\n },\r\n ],\r\n weeksList: [\r\n {\r\n weekNumber: 1,\r\n numberweekstart: '',\r\n numberweekend: '4/01',\r\n status: '',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 2,\r\n numberweekstart: '5/01',\r\n numberweekend: '11/01',\r\n status: '',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 3,\r\n numberweekstart: '12/01',\r\n numberweekend: '18/01',\r\n status: '',\r\n disabled: true,\r\n },\r\n\r\n {\r\n weekNumber: 4,\r\n numberweekstart: '19/01',\r\n numberweekend: '25/01',\r\n status: '',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 5,\r\n numberweekstart: '26/01',\r\n numberweekend: '1/02',\r\n status: '',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 6,\r\n numberweekstart: '2/02',\r\n numberweekend: '8/02',\r\n status: '',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 7,\r\n numberweekstart: '9/02',\r\n numberweekend: '15/02',\r\n status: '',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 8,\r\n numberweekstart: '16/02',\r\n numberweekend: '22/02',\r\n status: '',\r\n disabled: true,\r\n },\r\n\r\n {\r\n weekNumber: 9,\r\n numberweekstart: '23/02',\r\n numberweekend: '29/02',\r\n status: '',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 10,\r\n numberweekstart: '1/03',\r\n numberweekend: '7/03',\r\n status: '',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 11,\r\n numberweekstart: '8/03',\r\n numberweekend: '14/03',\r\n status: '',\r\n disabled: true,\r\n },\r\n\r\n {\r\n weekNumber: 12,\r\n numberweekstart: '15/03',\r\n numberweekend: '21/03',\r\n status: '',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 13,\r\n numberweekstart: '12/03',\r\n numberweekend: '28/03',\r\n status: '',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 14,\r\n numberweekstart: '29/03',\r\n numberweekend: '4/04',\r\n status: '',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 15,\r\n numberweekstart: '05/04',\r\n numberweekend: '11/04',\r\n status: '',\r\n disabled: true,\r\n },\r\n\r\n {\r\n weekNumber: 16,\r\n numberweekstart: '12/04',\r\n numberweekend: '18/04',\r\n status: '',\r\n disabled: true,\r\n },\r\n\r\n {\r\n weekNumber: 17,\r\n numberweekstart: '19/04',\r\n numberweekend: '25/04',\r\n status: '',\r\n disabled: true,\r\n },\r\n\r\n {\r\n weekNumber: 18,\r\n numberweekstart: '26/04',\r\n numberweekend: '02/05',\r\n status: '',\r\n disabled: true,\r\n },\r\n ],\r\n },\r\n {\r\n id: 1,\r\n name: 'second',\r\n code: '112',\r\n inspectionName: 'Fire',\r\n inspectionType: 'inspectionType',\r\n division: 'division',\r\n company: 'company',\r\n status: 'draft',\r\n months: [\r\n {\r\n idMonths: 1,\r\n monthName: 'May',\r\n },\r\n {\r\n idMonths: 2,\r\n monthName: 'June',\r\n },\r\n ,\r\n {\r\n idMonths: 3,\r\n monthName: 'July',\r\n },\r\n ,\r\n {\r\n idMonths: 4,\r\n monthName: 'August',\r\n },\r\n ],\r\n weeksList: [\r\n {\r\n weekNumber: 19,\r\n numberweekstart: '03/05',\r\n numberweekend: '09/05',\r\n status: '0',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 20,\r\n numberweekstart: '10/05',\r\n numberweekend: '16/05',\r\n status: '2',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 21,\r\n numberweekstart: '17/05',\r\n numberweekend: '23/05',\r\n status: '1',\r\n disabled: true,\r\n },\r\n\r\n {\r\n weekNumber: 22,\r\n numberweekstart: '24/05',\r\n numberweekend: '30/05',\r\n status: '3',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 23,\r\n numberweekstart: '31/05',\r\n numberweekend: '06/06',\r\n status: '1',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 24,\r\n numberweekstart: '07/06',\r\n numberweekend: '13/06',\r\n status: '1',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 25,\r\n numberweekstart: '14/06',\r\n numberweekend: '20/06',\r\n status: '0',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 26,\r\n numberweekstart: '21/06',\r\n numberweekend: '27/06',\r\n status: '0',\r\n disabled: true,\r\n },\r\n\r\n {\r\n weekNumber: 27,\r\n numberweekstart: '28/06',\r\n numberweekend: '04/07',\r\n status: '1',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 28,\r\n numberweekstart: '05/07',\r\n numberweekend: '11/07',\r\n status: '1',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 29,\r\n numberweekstart: '12/07',\r\n numberweekend: '18/07',\r\n status: '1',\r\n disabled: true,\r\n },\r\n\r\n {\r\n weekNumber: 30,\r\n numberweekstart: '19/07',\r\n numberweekend: '25/07',\r\n status: '1',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 31,\r\n numberweekstart: '26/07',\r\n numberweekend: '01/08',\r\n status: '0',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 32,\r\n numberweekstart: '02/08',\r\n numberweekend: '08/08',\r\n status: '0',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 33,\r\n numberweekstart: '09/08',\r\n numberweekend: '15/08',\r\n status: '0',\r\n disabled: true,\r\n },\r\n\r\n {\r\n weekNumber: 34,\r\n numberweekstart: '16/08',\r\n numberweekend: '22/08',\r\n status: '0',\r\n disabled: true,\r\n },\r\n\r\n {\r\n weekNumber: 35,\r\n numberweekstart: '23/08',\r\n numberweekend: '29/08',\r\n status: '0',\r\n disabled: true,\r\n },\r\n\r\n {\r\n weekNumber: 36,\r\n numberweekstart: '30/08',\r\n numberweekend: '05/09',\r\n status: '0',\r\n disabled: true,\r\n },\r\n ],\r\n },\r\n {\r\n id: 3,\r\n name: 'terz',\r\n code: '114',\r\n inspectionName: 'Fire',\r\n inspectionType: 'inspectionType',\r\n division: 'division',\r\n company: 'company',\r\n status: 'draft',\r\n months: [\r\n {\r\n idMonths: 1,\r\n monthName: 'September',\r\n },\r\n {\r\n idMonths: 2,\r\n monthName: 'October',\r\n },\r\n ,\r\n {\r\n idMonths: 3,\r\n monthName: 'November',\r\n },\r\n ,\r\n {\r\n idMonths: 4,\r\n monthName: 'December',\r\n },\r\n ],\r\n weeksList: [\r\n {\r\n weekNumber: 37,\r\n numberweekstart: '06/09',\r\n numberweekend: '12/09',\r\n status: '0',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 38,\r\n numberweekstart: '13/09',\r\n numberweekend: '19/09',\r\n status: '2',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 39,\r\n numberweekstart: '20/09',\r\n numberweekend: '26/09',\r\n status: '1',\r\n disabled: true,\r\n },\r\n\r\n {\r\n weekNumber: 40,\r\n numberweekstart: '27/09',\r\n numberweekend: '03/10',\r\n status: '3',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 41,\r\n numberweekstart: '04/10',\r\n numberweekend: '10/10',\r\n status: '1',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 42,\r\n numberweekstart: '11/10',\r\n numberweekend: '17/10',\r\n status: '1',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 43,\r\n numberweekstart: '18/10',\r\n numberweekend: '24/10',\r\n status: '0',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 44,\r\n numberweekstart: '25/10',\r\n numberweekend: '31/10',\r\n status: '',\r\n disabled: true,\r\n },\r\n\r\n {\r\n weekNumber: 45,\r\n numberweekstart: '01/11',\r\n numberweekend: '07/11',\r\n status: '1',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 46,\r\n numberweekstart: '08/11',\r\n numberweekend: '14/11',\r\n status: '1',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 47,\r\n numberweekstart: '15/11',\r\n numberweekend: '21/11',\r\n status: '1',\r\n disabled: true,\r\n },\r\n\r\n {\r\n weekNumber: 48,\r\n numberweekstart: '22/11',\r\n numberweekend: '28/11',\r\n status: '1',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 49,\r\n numberweekstart: '29/11',\r\n numberweekend: '05/12',\r\n status: '0',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 50,\r\n numberweekstart: '06/12',\r\n numberweekend: '12/12',\r\n status: '0',\r\n disabled: true,\r\n },\r\n {\r\n weekNumber: 51,\r\n numberweekstart: '13/12',\r\n numberweekend: '19/12',\r\n status: '0',\r\n disabled: true,\r\n },\r\n\r\n {\r\n weekNumber: 52,\r\n numberweekstart: '20/12',\r\n numberweekend: '26/12',\r\n status: '0',\r\n disabled: true,\r\n },\r\n\r\n {\r\n weekNumber: 53,\r\n numberweekstart: '27/12',\r\n numberweekend: '02/01',\r\n status: '0',\r\n disabled: true,\r\n },\r\n ],\r\n },\r\n ],\r\n };\r\n }\r\n\r\n render() {\r\n return this.state.calendar.map((formonth) => (\r\n <>\r\n \r\n {formonth.months.map((month) => (\r\n \r\n {month.monthName}\r\n \r\n ))}\r\n \r\n \r\n {formonth.weeksList.map((week) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n {formonth.weeksList.map((week) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n ));\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\n\r\nexport class AsyncFilterContainer extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n async componentDidMount() {\r\n this.props.onMount();\r\n }\r\n\r\n render() {\r\n if (this.props.check() == null) return this.props.placeholder\r\n if (this.props.check()) return this.props.children;\r\n else return null\r\n }\r\n};","/* eslint-disable class-methods-use-this */\r\n/* eslint-disable react/sort-comp */\r\n/* eslint-disable import/prefer-default-export */\r\nimport React, { Component } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport {\r\n FormGroup,\r\n TextInput,\r\n DropdownSkeleton,\r\n DataTableSkeleton,\r\n TableToolbar,\r\n Dropdown,\r\n Search,\r\n Button,\r\n DataTable,\r\n TableContainer,\r\n Table,\r\n TableBody,\r\n Pagination,\r\n TableHead,\r\n TableHeader,\r\n TableRow,\r\n TableCell,\r\n Form,\r\n FormLabel,\r\n Loading,\r\n TableSelectRow,\r\n TableBatchActions,\r\n TableBatchAction,\r\n TableToolbarContent,\r\n ButtonSkeleton,\r\n} from 'carbon-components-react';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport Close20 from '@carbon/icons-react/lib/close/20';\r\nimport Data16 from '@carbon/icons-react/lib/data--1/16';\r\nimport Task16 from '@carbon/icons-react/lib/task/16';\r\nimport Report16 from '@carbon/icons-react/lib/report/16';\r\nimport { Information16, Calendar16, Model16 } from '@carbon/icons-react';\r\nimport DocumentExport16 from '@carbon/icons-react/lib/document--export/16';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport Send16 from '@carbon/icons-react/lib/send/16';\r\nimport Error16 from '@carbon/icons-react/lib/error/16';\r\nimport Add20 from '@carbon/icons-react/lib/add/20';\r\nimport CheckmarkOutline16 from '@carbon/icons-react/lib/checkmark--outline/16';\r\nimport InspectionTypeComboBox from './common/InspectionTypeComboBox';\r\nimport InspectionSectionComboBox from './common/InspectionSectionComboBox';\r\nimport moment from 'moment';\r\nimport { v4 as uuid } from 'uuid';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { AppContext } from '../../helpers/context/AppContext';\r\nimport { CanExecuteAction, IsInRole, IsEditable } from '../../helpers/authorization/Policies';\r\nimport { me, api, dynamic, inspection, registry } from '../../helpers/api/api';\r\nimport { WFActionModal } from '../common/WFActionModal';\r\nimport { getError, entitiesLabels, apioperation, getSuccess, NotificationModule } from '../../helpers/Constants';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport { ComboBox } from '../../helpers/ComboBox';\r\nimport { InspectionMonthHeader } from './common/InspectionMonthHeader';\r\nimport { CalendarSkeleton } from './inspectionReport/common/CalendarSkeleton';\r\nimport PageBreadCrumb from '../../helpers/PageBreadCrumb';\r\nimport EmailChips from '../../helpers/EmailChips';\r\nimport {\r\n RenderDataTableCell,\r\n NoRecordsPlaceholder,\r\n} from '../../helpers/jsonschemaform/DataTableExtention';\r\nimport { HistoryTable } from '../../helpers/HistoryTable';\r\nimport { Online, Offline } from '../common/OnLineOffLine';\r\nimport FileDownLoadButton from '../common/FileDownloadButton';\r\nimport MeRepository from '../../helpers/api/MeRepository';\r\nimport InspectionRepository from '../../helpers/api/InspectionRepository';\r\n// CR 156\r\nimport { AsyncFilterContainer } from '../common/AsyncFilterContainer';\r\n\r\n//RITM0623664_InspectionEstemporanea\r\nconst typeEXT = [\r\n { key: \"onlyExt\", name: \"Only Ext\" },\r\n { key: \"notExt\", name: \"Not Ext\" },\r\n]\r\n\r\nexport class Inspection extends Component {\r\n inpsectionProps = () => ({\r\n id: null,\r\n idDivision: null,\r\n idWorkSite: null,\r\n idInspectionSection: null,\r\n idInspectionType: null,\r\n idProject: null,\r\n inspectors: [],\r\n plannedWeek: null,\r\n referenceYear: null,\r\n distributionList: null,\r\n projectArea: null,\r\n inspectionReport: null,\r\n //RITM0623664_InspectionEstemporanea\r\n onlyExt: null,\r\n notExt: null,\r\n // FINE RITM0623664\r\n });\r\n\r\n searchProp = () => {\r\n let inspectionCode = this.getHashtag();\r\n return ({\r\n emailCompiler: '',\r\n emailDataApprover: '',\r\n emailDivisionManager: '',\r\n inspectionCode: inspectionCode,\r\n idStatus: null,\r\n idStatusReport: null,\r\n idDivision: null,\r\n idWorkSite: null,\r\n idInspectionSection: null,\r\n idInspectionType: null,\r\n idProject: null,\r\n referenceYear: inspectionCode ? +inspectionCode.toString().slice(-4) : new Date().getFullYear(),\r\n plannedWeek: null,\r\n monthNumber: null,\r\n plannedWeeks: [],\r\n monthNumbers: [],\r\n })\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator();\r\n this.state = {\r\n emailChipsKey: `Email_${new Date().getTime()}`,\r\n CBChipsKey: `CB_${new Date().getTime()}`,\r\n calendar: [],\r\n isLoadingWeeksItems: false,\r\n currentPage: 1,\r\n pageSize: 10,\r\n rowCount: 0,\r\n inspections: [],\r\n idStatus: null,\r\n approverRole: '',\r\n project: undefined,\r\n status: [],\r\n insepctorUser: [],\r\n isfilterByWeek: false,\r\n isLoadingDivision: false,\r\n isLoadingWorksite: false,\r\n isLoadingProject: false,\r\n isLoadingInspectors: false,\r\n isLoadingInspectionType: false,\r\n isLoadingStatus: false,\r\n isEditModal: false,\r\n isOpenCalendar: true,\r\n isOpenSearchForm: false,\r\n isOpenModalInspection: false,\r\n isOpenModalInspectiondetail: false,\r\n spinner: false,\r\n isSubmitted: false,\r\n isLoading: false,\r\n // InspectionModel\r\n inspectionModel: {\r\n ...this.inpsectionProps(),\r\n },\r\n\r\n searchModel: {\r\n ...this.searchProp(),\r\n needToChange: true,\r\n },\r\n // WF\r\n weeksItems: [],\r\n isDisabled: false,\r\n isApprovalModalOpen: false,\r\n approvalModalAction: '',\r\n approver: null,\r\n approvalStartDate: null,\r\n approvalEndDate: null,\r\n isLoadingApproverOptions: true,\r\n approvalValidationMessages: [],\r\n approvers: [],\r\n selectedData: [],\r\n withApprover: true,\r\n isLoadingWFOperation: false,\r\n approvalNotesRequired: false,\r\n // History\r\n isHistoryModalOpen: false,\r\n //\r\n weeks: [],\r\n years: this.getYears(),\r\n // All\r\n divisions: [],\r\n appAllWorksites: null,\r\n appAllWorksitePrj: null,\r\n appAllInspectors: null,\r\n //\r\n worksites: [],\r\n projects: [],\r\n inspectors: [],\r\n inspecionType: [],\r\n inspectionSection: [],\r\n\r\n isBack: this.props.history.action === 'POP' || this.props.location.search === '?isBack' ? true : false,\r\n monthsSelected: [],\r\n weeksSelected: []\r\n };\r\n this.year = new Date().getFullYear();\r\n this.years = this.getYears();\r\n this.month = new Date().getMonth();\r\n this.updateState = this.updateState.bind(this);\r\n this.getInspections = this.getInspections.bind(this);\r\n this.weeks = moment().weeks();\r\n this.weeks = Array.from(new Array(18), (val, index) => (index + this.weeks).toString());\r\n this.IsRowSelectable = this.IsRowSelectable.bind(this);\r\n this.getAllDivision = this.getAllDivision.bind(this);\r\n this.getAllWorkSite = this.getAllWorkSite.bind(this);\r\n this.getAllProjects = this.getAllProjects.bind(this);\r\n this.getInspectors = this.getInspectors.bind(this);\r\n this.getStatus = this.getStatus.bind(this);\r\n this.getInspectionType = this.getInspectionType.bind(this);\r\n this.getInspectionSection = this.getInspectionSection.bind(this);\r\n this.showDivModaleInspection = this.showDivModaleInspection.bind(this);\r\n this.showDivModaleInspectionDetail = this.showDivModaleInspectionDetail.bind(this);\r\n this.onYearChange = this.onYearChange.bind(this);\r\n this.clearModalInspection = this.clearModalInspection.bind(this);\r\n this.toggleSearchForm = this.toggleSearchForm.bind(this);\r\n this.toogleCalendar = this.toogleCalendar.bind(this);\r\n this.updateState = this.updateState.bind(this);\r\n this.handleClickCancelSearch = this.handleClickCancelSearch.bind(this);\r\n this.onSelectSectionChange = this.onSelectSectionChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n\r\n this.getInspections();\r\n this.getInspectorsWS();\r\n this.getAllDivision();\r\n this.getAllWorkSite();\r\n this.getAllProjects();\r\n // this.getInspectors();\r\n this.getInspectionSection('');\r\n this.getInspectionType('');\r\n this.getStatus();\r\n this.getYears();\r\n }\r\n\r\n getHashtag = () => {\r\n if (this.props.location?.hash != null && this.props.location.hash.length > 1) {\r\n return decodeURIComponent(this.props.location.hash.substring(1));\r\n }\r\n return null;\r\n };\r\n\r\n weeksInYear(year) {\r\n let startWeek = 1;\r\n const weeksInYear = [];\r\n const today = moment();\r\n if (today.year() === year) {\r\n startWeek = today.week();\r\n }\r\n for (let i = startWeek; i <= 53; i++) {\r\n const x = moment(year.toString()).add(i - 1, 'weeks');\r\n weeksInYear.push({\r\n id: i,\r\n name: `Week ${i} :${x.startOf('isoWeek').format('DD/MM/YYYY')} - ${x\r\n .endOf('isoWeek')\r\n .format('DD/MM/YYYY')}`,\r\n });\r\n }\r\n return weeksInYear;\r\n }\r\n\r\n getWeekYears(years) {\r\n this.setState({\r\n isLoadingWeeksItems: true,\r\n });\r\n me.getAll(`weeks/${years}`)\r\n .then((response) => {\r\n let listWeek = response.data || [];\r\n const yearNow = new Date().getFullYear();\r\n\r\n listWeek = listWeek.map((item) => ({\r\n id: item.weekNum,\r\n name: `Week:${item.name} | ${moment(item.weekStart).format('DD/MM/YYYY')}-${moment(\r\n item.weekFinish\r\n ).format('DD/MM/YYYY')}`,\r\n }));\r\n if (years === yearNow) {\r\n const weekNow = moment().isoWeek(); //RITM0536127 moment().week();\r\n listWeek = (listWeek || []).filter((el) => el.id >= weekNow || el.id === this.state.inspectionModel?.plannedWeek);\r\n }\r\n this.setState({\r\n weeksItems: listWeek,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INSPECTION, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingWeeksItems: false,\r\n });\r\n });\r\n }\r\n\r\n YearList(year) {\r\n year = moment().year() + 2;\r\n // if (year == moment().year()) {\r\n // year = year + 2;\r\n // }\r\n // if (year == moment().year()+1) {\r\n // year = year + 1;\r\n // }\r\n const years = [\r\n { id: year - 2, name: (year - 2).toString() },\r\n { id: year - 1, name: (year - 1).toString() },\r\n { id: year, name: year.toString() },\r\n { id: year + 1, name: (year + 1).toString() },\r\n { id: year + 2, name: (year + 2).toString() },\r\n { id: year + 3, name: (year + 3).toString() },\r\n ];\r\n return years;\r\n }\r\n\r\n getWorksiteFiltered(idDivision) {\r\n if (idDivision != null) {\r\n const data = (this.state.appAllWorksites || []).filter((el) => el.idDivision === idDivision);\r\n return data;\r\n }\r\n return this.state.appAllWorksites;\r\n }\r\n getInspectorFiltered(user) {\r\n if (user != null) {\r\n const data = (this.state.insepctorUser || []).filter((el) => el.worksite.includes(this.state.inspectionModel?.idWorkSite) || el.divisions.includes(this.state.inspectionModel?.idDivision));\r\n\r\n return data;\r\n }\r\n return this.state.insepctorUser;\r\n }\r\n getWorksitePrjFiltered(idWorksite) {\r\n if (idWorksite != null) {\r\n const data = (this.state.appAllWorksitePrj || []).filter((el) => el.idWorkSite === idWorksite);\r\n return data;\r\n }\r\n return this.state.appAllWorksitePrj;\r\n }\r\n\r\n DownloadInspectiontNotification(inpsectionId) {\r\n this.setState({ isLoadingNotificationFile: true });\r\n api\r\n .getWithParam(`/inspection/${inpsectionId}/export`, { responseType: 'arraybuffer' })\r\n .then((response) => {\r\n const data = new Blob([response.data], { type: 'application/pdf' });\r\n const csvURL = window.URL.createObjectURL(data);\r\n const tempLink = document.createElement('a');\r\n tempLink.href = csvURL;\r\n const inspectionCode = this.state.inspections.find((i) => i.id === inpsectionId);\r\n const nomefile = `Inspection_Notification_${inspectionCode.inspectionCode}.pdf`;\r\n tempLink.setAttribute('download', nomefile);\r\n document.body.appendChild(tempLink);\r\n tempLink.click();\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.INSPECTION_NOTIFICATION, apioperation.DOWNLOAD)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({ isLoadingNotificationFile: false });\r\n });\r\n }\r\n\r\n DownloadInspectionReport(inpsectionId) {\r\n this.setState({ isLoadingNotificationFile: true });\r\n api\r\n .getWithParam(`/inspection/${inpsectionId}/exportreport`, {\r\n responseType: 'arraybuffer',\r\n })\r\n .then((response) => {\r\n const data = new Blob([response.data], { type: 'application/pdf' });\r\n const csvURL = window.URL.createObjectURL(data);\r\n const tempLink = document.createElement('a');\r\n tempLink.href = csvURL;\r\n const inspectionCode = this.state.inspections.find((i) => i.id === inpsectionId);\r\n\r\n const nomefile = `Inspection_Report_${inspectionCode.inspectionCode}.pdf`;\r\n tempLink.setAttribute('download', nomefile);\r\n document.body.appendChild(tempLink);\r\n tempLink.click();\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.INSPECTION_REPORT, apioperation.DOWNLOAD)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({ isLoadingNotificationFile: false });\r\n });\r\n }\r\n\r\n // FUNCTION\r\n toggleSearchForm(e) {\r\n e.preventDefault();\r\n this.setState((oldState) => ({ isOpenSearchForm: !oldState.isOpenSearchForm }));\r\n // TODO this.getUserWorksiteFilter();\r\n // this.getAllProjectsFilter();\r\n }\r\n\r\n toogleCalendar(e) {\r\n e.preventDefault();\r\n this.setState((oldState) => ({ isOpenCalendar: !oldState.isOpenCalendar }));\r\n }\r\n\r\n // showDivModaleInspection() {\r\n // this.setState((oldState) => ({ isOpenModalInspection: !oldState.isOpenModalInspection }));\r\n // }\r\n //RITM0623664_InspectionEstemporanea\r\n showDivModaleInspection(isExt = false) {\r\n if (isExt) this.setState((oldState) => ({ isOpenModalInspection: !oldState.isOpenModalInspection, inspectionModel: { ...this.state.inspectionModel, isExt: true } }));\r\n else this.setState((oldState) => ({ isOpenModalInspection: !oldState.isOpenModalInspection }));\r\n }\r\n //----FINE RITM0623664\r\n\r\n showDivModaleInspectionDetail() {\r\n this.setState((oldState) => ({\r\n isOpenModalInspectiondetail: !oldState.isOpenModalInspectiondetail,\r\n }));\r\n }\r\n\r\n clearModalInspection = () => {\r\n this.setState({\r\n inspectionModel: this.inpsectionProps(),\r\n year: undefined,\r\n week: undefined,\r\n isEditModal: false,\r\n isOpenModalInspection: false,\r\n emailChipsKey: `Email_${new Date().getTime()}`,\r\n CBChipsKey: `CB_${new Date().getTime()}`,\r\n });\r\n this.getAllDivision();\r\n this.validator.hideMessages();\r\n };\r\n\r\n async onYearChange(selectedItem) {\r\n this.setState({\r\n isfilterByWeek: false,\r\n isBack: false,\r\n });\r\n let year;\r\n try {\r\n year = selectedItem.selectedItem;\r\n const yearsNew = this.getYears(year);\r\n\r\n const statusCopy = { ...this.state };\r\n statusCopy.years = yearsNew;\r\n statusCopy.searchModel.referenceYear = year;\r\n statusCopy.searchModel.needToChange = true;\r\n statusCopy.searchModel.monthNumbers = [];\r\n statusCopy.searchModel.plannedWeeks = [];\r\n statusCopy.searchModel.needToChange = true;\r\n statusCopy.isBack = false;\r\n this.setState(statusCopy);\r\n // this.setState({\r\n // searchModel: {\r\n // ...this.searchProp(),\r\n // needToChange: true,\r\n // },\r\n // });\r\n this.getInspections({ page: 1 }, false);\r\n } catch (error) {\r\n year = this.state.years;\r\n } finally {\r\n this.setState({\r\n referenceYear: year,\r\n loading: true,\r\n filteredMonth: null,\r\n isBack: false,\r\n });\r\n }\r\n }\r\n\r\n handleClickCancelSearch = (e) => {\r\n e.preventDefault();\r\n this.toggleSearchForm(e);\r\n this.setState(\r\n {\r\n searchModel: {\r\n ...this.searchProp(),\r\n needToChange: true,\r\n },\r\n worksites: null,\r\n projects: null,\r\n isBack: false,\r\n monthsSelected: [],\r\n weeksSelected: []\r\n },\r\n () => {\r\n this.getInspections();\r\n }\r\n );\r\n };\r\n\r\n handleChangeComboWorksite = (inputName, selectedItem, objName) => {\r\n const inputValue = selectedItem ? selectedItem.id : null;\r\n const inputValueName = selectedItem ? selectedItem.name : null;\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n statusCopy.projects = null;\r\n statusCopy.inspectionModel.idProject = null;\r\n statusCopy.inspectionModel.inspectors = [];\r\n statusCopy.inspectionModel.workSite = inputValueName;\r\n this.getInspectors(inputValue);\r\n this.setState(statusCopy);\r\n };\r\n\r\n handleChangeModel = (el) => {\r\n const inputName = el.target.name;\r\n const inputValue = el.target.value;\r\n const objName = el.target.alt;\r\n this.updateState(inputName, inputValue, objName);\r\n };\r\n\r\n handleChangePaging = async (event) => {\r\n const searchModel = { ...this.state.searchModel };\r\n searchModel.needToChange = false;\r\n await this.setState({ searchModel, isBack: false });\r\n this.getInspections(event);\r\n };\r\n\r\n onChangeInspector = (inputName, selectedItem, objName) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName][0] = selectedItem;\r\n this.setState(statusCopy);\r\n };\r\n\r\n handleChangeComboForFilter = (inputName, selectedItem, objName) => {\r\n const statusCopy = { ...this.state };\r\n\r\n //RITM0623664_InspectionEstemporanea\r\n if (inputName === \"ext\") {\r\n if (!selectedItem) statusCopy[objName] = { ...statusCopy[objName], onlyExt: null, notExt: null }\r\n else {\r\n const onlyExtObj = { onlyExt: true, notExt: null }\r\n const notExtObj = { onlyExt: null, notExt: true }\r\n statusCopy[objName] = (selectedItem?.key === \"onlyExt\") ? { ...statusCopy[objName], ...onlyExtObj } : { ...statusCopy[objName], ...notExtObj }\r\n }\r\n this.setState(statusCopy);\r\n return\r\n }\r\n //FINE RITM0623664_InspectionEstemporanea\r\n\r\n const inputValue = selectedItem ? selectedItem.id : null;\r\n //statusCopy.isBack = false;\r\n statusCopy[objName][inputName] = inputValue;\r\n\r\n if (inputName === 'idDivision') {\r\n statusCopy.worksites = null;\r\n statusCopy.searchModel.idWorkSite = null;\r\n statusCopy.searchModel.idProject = null;\r\n }\r\n if (inputName === 'idWorkSite') {\r\n statusCopy.project = null;\r\n statusCopy.searchModel.idProject = null;\r\n }\r\n if (inputName === 'idProject') {\r\n statusCopy[objName][inputName] = selectedItem?.idProject;\r\n }\r\n this.setState(statusCopy);\r\n };\r\n\r\n handleChangeModel = (el) => {\r\n const inputName = el.target.name;\r\n const inputValue = el.target.value;\r\n const objName = el.target.alt;\r\n this.updateState(inputName, inputValue, objName);\r\n };\r\n\r\n handleChangeCombo = (inputName, selectedItem, objName) => {\r\n const inputValue = selectedItem ? selectedItem.id : null;\r\n const inputValueName = selectedItem ? selectedItem.name : null;\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n\r\n if (inputName === 'idDivision') {\r\n statusCopy.inspectionModel.division = inputValueName;\r\n statusCopy.worksites = null;\r\n statusCopy.inspectionModel.idWorkSite = null;\r\n statusCopy.inspectionModel.idProject = null;\r\n }\r\n if (inputName === 'idWorkSite') {\r\n statusCopy.inspectionModel.workSite = inputValueName;\r\n }\r\n if (inputName === 'idInspectionSection') {\r\n statusCopy.inspectionModel.inspectionSection = inputValueName;\r\n }\r\n if (inputName === 'idInspectionType') {\r\n statusCopy.inspectionModel.inspectionType = inputValueName;\r\n }\r\n if (inputName === 'idProject') {\r\n statusCopy[objName][inputName] = selectedItem?.idProject;\r\n }\r\n\r\n this.setState(statusCopy);\r\n };\r\n\r\n handleChangeComboDate = (inputName, selectedItem, objName) => {\r\n const inputValue = selectedItem ? selectedItem.id : null;\r\n const statusCopy = { ...this.state };\r\n\r\n statusCopy[objName][inputName] = inputValue;\r\n statusCopy[objName].plannedWeek = null;\r\n this.setState(statusCopy);\r\n if (inputValue != null) this.getWeekYears(inputValue);\r\n };\r\n\r\n // DEV 156\r\n handleApproveReportCheck = (user) => {\r\n if (this.state.inspectors == null || this.state.inspectors?.length == 0) return null;\r\n else return this.state.inspectors.some(inspector => inspector.id === user.id)\r\n }\r\n\r\n onSelectSectionChange = (selectedItem) => {\r\n this.setState((prevState) => {\r\n const inspectionModel = { ...prevState.inspectionModel };\r\n inspectionModel.inspectionSection = selectedItem || {};\r\n inspectionModel.inspectionType = {};\r\n return { inspectionModel };\r\n });\r\n };\r\n onSelectInspectionTypeChange = (selectedItem) => {\r\n this.setState((prevState) => {\r\n const inspectionModel = { ...prevState.inspectionModel };\r\n inspectionModel.inspectionType = selectedItem || null;\r\n return { inspectionModel };\r\n });\r\n };\r\n\r\n handleChangeComboDateWeek = (inputName, selectedItem, objName) => {\r\n const inputValue = selectedItem ? selectedItem.id : null;\r\n const statusCopy = { ...this.state };\r\n\r\n statusCopy[objName][inputName] = inputValue;\r\n this.setState(statusCopy);\r\n };\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n statusCopy.isBack = false;\r\n this.setState(statusCopy);\r\n };\r\n\r\n filterByWeek = (weekNumber) => {\r\n let year;\r\n try {\r\n year = this.state.searchModel.referenceYear ? this.state.searchModel.referenceYear : null;\r\n const statusCopy = { ...this.state };\r\n statusCopy.searchModel.referenceYear = year;\r\n\r\n const index = statusCopy.searchModel.plannedWeeks.indexOf(weekNumber);\r\n if (index > -1) statusCopy.searchModel.plannedWeeks.splice(index, 1);\r\n else statusCopy.searchModel.plannedWeeks.push(weekNumber);\r\n\r\n statusCopy.searchModel.needToChange = false;\r\n statusCopy.isfilterByWeek = true;\r\n this.setState(statusCopy);\r\n this.getInspections({ page: 1 }, true);\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INSPECTION, apioperation.GET));\r\n } finally {\r\n }\r\n };\r\n\r\n filterByMonths = (month) => {\r\n let year;\r\n try {\r\n year = this.state.searchModel.referenceYear ? this.state.searchModel.referenceYear : null;\r\n const statusCopy = { ...this.state };\r\n statusCopy.searchModel.referenceYear = year;\r\n const index = statusCopy.searchModel.monthNumbers.indexOf(month.monthsNumber);\r\n if (index > -1) statusCopy.searchModel.monthNumbers.splice(index, 1);\r\n else statusCopy.searchModel.monthNumbers.push(month.monthsNumber);\r\n statusCopy.isBack = false;\r\n statusCopy.searchModel.needToChange = false;\r\n statusCopy.isfilterByWeek = true;\r\n statusCopy.monthsSelected = this.state.monthsSelected.filter((el) => el != month.monthsNumber);\r\n this.setState(statusCopy);\r\n this.getInspections({ page: 1 }, true);\r\n // this.setState({\r\n // searchModel: {\r\n // ...this.searchProp(),\r\n // }\r\n // })\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INSPECTION, apioperation.GET));\r\n } finally {\r\n }\r\n };\r\n\r\n // GET PROPS\r\n\r\n getInspectionSection(parent) {\r\n this.setState({\r\n isLoadingInspectionSection: true,\r\n });\r\n dynamic\r\n .getAll('inspectionsection', { params: { page: 0, parent } })\r\n .then((response) => {\r\n const data = response.data.itemList;\r\n this.setState({\r\n\r\n inspectionSection: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.WORKPROCESS, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingInspectionType: false,\r\n });\r\n });\r\n }\r\n\r\n getInspectionType(parent) {\r\n this.setState({\r\n isLoadingInspectionType: true,\r\n });\r\n dynamic\r\n .getAll('inspectiontype', { params: { page: 0, parent } })\r\n .then((response) => {\r\n const data = response.data.itemList;\r\n this.setState({\r\n inspecionType: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.WORKPROCESS, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingInspectionType: false,\r\n });\r\n });\r\n }\r\n\r\n getStatus = () => {\r\n this.setState({\r\n isLoadingStatus: true,\r\n });\r\n registry\r\n .getAll('status')\r\n .then((response) => {\r\n const { data } = response;\r\n this.setState({\r\n status: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.STATUS, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingStatus: false,\r\n });\r\n });\r\n };\r\n getInspectorsWS = () => {\r\n this.setState({\r\n isLoadingInspectors: true,\r\n });\r\n api.getAll(`/users/userworksite/${NotificationModule.ModuleInspection}`)\r\n .then((response) => {\r\n const { data } = response;\r\n this.setState({\r\n insepctorUser: data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INSPECTION_NOTIFICATION, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingInspectors: false,\r\n });\r\n });\r\n };\r\n getUserWorksite = (id) => {\r\n if (id == null) return;\r\n this.setState({\r\n isLoadingWorksite: true,\r\n });\r\n me.getAll(`division/${id}/worksites`)\r\n .then((response) => {\r\n this.setState({\r\n worksites: response.data,\r\n worksitesFilter: response.data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.WORKSITE, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingWorksite: false,\r\n });\r\n });\r\n };\r\n\r\n getAllProjectsForWorksite = (id) => {\r\n if (id == null) return;\r\n this.setState({\r\n isLoadingProject: true,\r\n });\r\n api\r\n .getAll(`project/worksite/${id}/projects`)\r\n .then((response) => {\r\n this.setState({\r\n projects: response.data,\r\n projectsFilter: response.data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.PROJECT, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingProject: false,\r\n });\r\n });\r\n };\r\n\r\n // GETALL\r\n getAllDivision = () => {\r\n this.setState({\r\n isLoadingDivision: true,\r\n });\r\n MeRepository.getDivisions()\r\n .then((response) => {\r\n this.setState({\r\n divisions: response,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.DIVISION, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingDivision: false,\r\n });\r\n });\r\n };\r\n getInspectionCode(id) {\r\n const inspectionCode = this.state.inspections.filter(x => x.id === id);\r\n return \"Inspection_Notification_\" + inspectionCode[0].inspectionCode + \".pdf\"\r\n }\r\n getInspectionReportCode(id) {\r\n const inspectionCode = this.state.inspections.filter(x => x.id === id);\r\n return \"Inspection_Report_\" + inspectionCode[0].inspectionCode + \".pdf\"\r\n }\r\n getAllWorkSite = () => {\r\n this.setState({\r\n isLoadingWorksite: true,\r\n });\r\n me.getAll('worksites')\r\n .then((response) => {\r\n this.setState({\r\n appAllWorksites: response.data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.WORKSITE, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingWorksite: false,\r\n });\r\n });\r\n };\r\n\r\n getAllProjects = () => {\r\n this.setState({\r\n isLoadingProject: true,\r\n });\r\n api\r\n .getAll('/me/worksitesproject')\r\n .then((response) => {\r\n this.setState({\r\n appAllWorksitePrj: response.data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.PROJECT, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingProject: false,\r\n });\r\n });\r\n };\r\n\r\n getInspectors(idWorkSite) {\r\n if (idWorkSite == null) return;\r\n this.setState({\r\n isLoadingInspectors: true,\r\n });\r\n this.setState({\r\n inspectors: [],\r\n });\r\n api\r\n .get('inspection/inspectors/', idWorkSite)\r\n .then((response) => {\r\n this.setState({\r\n inspectors: response.data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INSPECTION, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingInspectors: false,\r\n });\r\n });\r\n }\r\n\r\n getYears = () => {\r\n const year = moment().year() + 2;\r\n\r\n // var years = [\r\n // { id: year - 2, name: (year - 2).toString() },\r\n // { id: year - 1, name: (year - 1).toString() },\r\n // { id: year, name: (year).toString() },\r\n // { id: year + 1, name: (year + 1).toString() },\r\n // { id: year + 2, name: (year + 2).toString() },\r\n // { id: year + 3, name: (year + 3).toString() },\r\n // { id: year + 4, name: (year + 4).toString() }\r\n // ];\r\n // return years;\r\n // ANNI VARIABILI\r\n // if (selectYear == null) selectYear = new Date().getFullYear();\r\n // const year = new Date(selectYear, null, null).getFullYear();\r\n const yearsArray = []; //RITM0771499\r\n\r\n for (var i = 2021; i <= year + 3; i++) {\r\n yearsArray.push(i.toString());\r\n } //RITM0771499\r\n\r\n return yearsArray;\r\n };\r\n\r\n getUsersInRole = (role, idEntity) => {\r\n me.getWithParam('users', {\r\n params: { Role: role, IdEntity: idEntity, includeAdmins: true },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n approvers: response.data,\r\n isLoadingApproverOptions: false,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.ROLE, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingApproverOptions: false,\r\n });\r\n });\r\n };\r\n\r\n setLoading = (isLoading, isFinally) => {\r\n if (isFinally) {\r\n if (this.state.searchModel.plannedWeek == null) {\r\n this.setState({\r\n isLoadingList: false,\r\n isLoadingElement: false,\r\n isLoadingCalendar: false,\r\n });\r\n } else {\r\n this.setState({\r\n isLoadingList: false,\r\n isLoadingDate: false,\r\n isLoadingElement: false,\r\n });\r\n }\r\n } else if (isLoading) {\r\n if (this.state.searchModel.plannedWeek == null) {\r\n this.setState({\r\n isLoadingList: true,\r\n isLoadingElement: true,\r\n isLoadingCalendar: true,\r\n });\r\n } else {\r\n this.setState({\r\n isLoadingList: true,\r\n isLoadingElement: true,\r\n });\r\n }\r\n } else if (this.state.searchModel.plannedWeek == null) {\r\n this.setState({\r\n isLoadingList: false,\r\n isLoadingDate: false,\r\n isLoadingElement: false,\r\n isLoadingCalendar: false,\r\n });\r\n } else {\r\n this.setState({\r\n isLoadingList: false,\r\n isLoadingElement: false,\r\n isfilterByWeek: false,\r\n });\r\n }\r\n };\r\n\r\n getInspections = async (param, back) => {\r\n\r\n let data = null;\r\n if (!this.state.isBack || back || this.state.searchModel.inspectionCode) {\r\n data = {\r\n params: {\r\n page: param && param.page ? param.page : this.state.currentPage,\r\n pageSize: param && param.pageSize ? param.pageSize : this.state.pageSize,\r\n ...this.state.searchModel,\r\n plannedWeeks: this.state.searchModel.plannedWeeks?.join(','),\r\n monthNumbers: this.state.searchModel.monthNumbers?.join(','),\r\n needToChange: this.state.searchModel.needToChange,\r\n },\r\n };\r\n\r\n // RITM0558173 commentate le seguenti 2 righe perche errate come spiega il ticket\r\n // data.params.page = this.state.currentPage; \r\n // data.params.pageSize = this.state.pageSize;\r\n } else {\r\n let filter = await InspectionRepository.getBackPaged();\r\n let stateFilter = filter?.params;\r\n let weeks = stateFilter.plannedWeeks != '' ? stateFilter.plannedWeeks.split(',') : [];\r\n let weekInt = weeks.map((el) => parseInt(el));\r\n let month = stateFilter.monthNumbers != '' ? stateFilter.monthNumbers.split(',') : [];\r\n let monthInt = month.map((el) => parseInt(el));\r\n this.setState({\r\n searchModel: {\r\n emailCompiler: filter?.params.emailCompiler,\r\n emailDataApprover: filter?.params.emailDataApprover,\r\n emailDivisionManager: filter?.params.emailDivisionManager,\r\n inspectionCode: filter?.params.inspectionCode,\r\n idStatus: filter?.params.idStatus,\r\n idStatusReport: filter?.params.idStatusReport,\r\n idDivision: filter?.params.idDivision,\r\n idWorkSite: filter?.params.idWorkSite,\r\n idInspectionSection: filter?.params.idInspectionSection,\r\n idInspectionType: filter?.params.idInspectionType,\r\n idProject: filter?.params.idProject,\r\n referenceYear: filter?.params.referenceYear,\r\n plannedWeek: weekInt,\r\n monthNumber: monthInt,\r\n plannedWeeks: weekInt,\r\n monthNumbers: monthInt,\r\n needToChange: false,\r\n },\r\n monthsSelected: monthInt,\r\n weeksSelected: weekInt\r\n });\r\n if (filter?.params) filter.params.plannedWeeks = weekInt?.join(',');\r\n data = {\r\n params: filter?.params,\r\n };\r\n //RITM0558173\r\n data.params.page = 1\r\n //\r\n let calendarfilter = await InspectionRepository.getBackPagedCalendar()\r\n this.setState({\r\n calendar: calendarfilter.events.fourMonthsList,\r\n });\r\n\r\n }\r\n this.getInspectionsFilter(data);\r\n }\r\n\r\n getInspectionsFilter(filter) {\r\n this.setLoading(true, false);\r\n inspection\r\n .getCalendar(filter)\r\n .then((response) => {\r\n if (response.status === 200) {\r\n const { data } = response;\r\n response.data.itemList.forEach(\r\n (x) =>\r\n (x.plannedWeek =\r\n x.inspectionPlannedWeeks.length > 0 ? x.inspectionPlannedWeeks[0].weekNumber : null)\r\n );\r\n InspectionRepository.updateInspectionFilter(filter);\r\n this.setState({\r\n data,\r\n currentPage: data.currentPage,\r\n pageSize: data.pageSize,\r\n rowCount: data.rowCount,\r\n inspections: data.itemList,\r\n });\r\n\r\n if (this.state.searchModel.needToChange && !this.state.isBack) {\r\n this.setState({\r\n calendar: data.events.fourMonthsList,\r\n });\r\n InspectionRepository.updateInspectionCalendarFilter(data);\r\n }\r\n\r\n this.setLoading(false, false);\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INSPECTION, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setLoading(true, true);\r\n });\r\n }\r\n\r\n handleClickSearch = (e) => {\r\n e.preventDefault();\r\n const searchModel = { ...this.state.searchModel };\r\n searchModel.needToChange = true;\r\n this.setState({ searchModel });\r\n this.state.searchModel.needToChange = true;\r\n this.toggleSearchForm(e);\r\n this.getInspections({ page: 1 }, true);\r\n };\r\n\r\n // ///INSERT INSPECTION ///UPDATE\r\n insertNewInspection = () => {\r\n if (this.validator.allValid()) {\r\n this.setState({\r\n isSubmitted: true,\r\n spinner: true,\r\n });\r\n\r\n const datiForm = this.state?.inspectionModel;\r\n\r\n if (!this.state.isEditModal) {\r\n datiForm.id = uuid();\r\n\r\n datiForm.idStatus = 1;\r\n datiForm.status = 'Draft';\r\n }\r\n datiForm.IdSection = this.state?.inspectionModel?.inspectionSection.id;\r\n datiForm.idInspectionType = this.state?.inspectionModel?.inspectionType.id;\r\n datiForm.plannedWeek = parseInt(datiForm.plannedWeek, 10);\r\n\r\n datiForm.referenceYear = parseInt(datiForm.referenceYear, 10);\r\n\r\n datiForm.needToChange = true;\r\n\r\n datiForm.inspectionPlannedWeeks = [\r\n {\r\n idInspection: this.state.inspectionModel.id,\r\n quantity: 1,\r\n weekNumber: parseInt(datiForm.plannedWeek, 10),\r\n },\r\n ];\r\n const year = this.state.searchModel.referenceYear;\r\n const method = this.state.isEditModal\r\n ? inspection.put(datiForm, this.state.inspectionModel.id)\r\n : inspection.post(datiForm);\r\n\r\n method\r\n .then(async (response) => {\r\n if (response.status === 200) {\r\n showNotification.success(`${entitiesLabels.SUCCESS}`, 'Successfully saved');\r\n await InspectionRepository.updateCachedInspectionList(datiForm);\r\n await InspectionRepository.updateCachedInspection(datiForm);\r\n // this.showDivModaleInspection();\r\n this.clearModalInspection();\r\n } else {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError('Unsuccessfully saved', entitiesLabels.INSPECTION, apioperation.POST)\r\n );\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INSPECTION, apioperation.POST));\r\n })\r\n .finally(() => {\r\n this.setState(\r\n {\r\n searchModel: {\r\n emailCompiler: '',\r\n emailDataApprover: '',\r\n emailDivisionManager: '',\r\n inspectionCode: this.getHashtag(),\r\n idStatus: null,\r\n idStatusReport: null,\r\n idDivision: null,\r\n idWorkSite: null,\r\n idInspectionSection: null,\r\n idInspectionType: null,\r\n idProject: null,\r\n referenceYear: year,\r\n plannedWeek: null,\r\n monthNumber: null,\r\n plannedWeeks: [],\r\n monthNumbers: [],\r\n needToChange: true,\r\n },\r\n worksites: null,\r\n projects: null,\r\n isSubmitted: false,\r\n spinner: false,\r\n },\r\n () => {\r\n this.getInspections();\r\n this.forceUpdate();\r\n }\r\n );\r\n });\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.INSPECTION} required fields are missing `\r\n );\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n getInspectionEdit(id) {\r\n this.setState({\r\n isEditModal: true,\r\n isOpenModalInspection: true,\r\n isLoadingElement: true,\r\n });\r\n\r\n inspection\r\n .get(id)\r\n .then((response) => {\r\n this.validator.hideMessages();\r\n\r\n const plannedWeek =\r\n response.data.inspectionPlannedWeeks.length > 0\r\n ? response.data.inspectionPlannedWeeks[0].weekNumber\r\n : null;\r\n response.data.plannedWeek = plannedWeek;\r\n this.setState(\r\n {\r\n inspectionModel: response.data,\r\n },\r\n this.getInspectors(response.data.idWorkSite)\r\n );\r\n this.getWeekYears(response.data.referenceYear);\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INSPECTION, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.validator.hideMessages();\r\n this.setState(\r\n {\r\n isLoadingElement: false,\r\n },\r\n () => {\r\n // this.getSelectedEntityRoles();\r\n }\r\n );\r\n });\r\n }\r\n\r\n // //COMPONENT\r\n modalNewInspection(user) {\r\n const listOfWeeks = this.state.inspectionModel?.referenceYear ? this.state.weeksItems : null;\r\n const listOfYears = this.YearList(this.state.inspectionModel?.referenceYear || moment().year());\r\n\r\n const listWorksite = this.state.inspectionModel.idDivision\r\n ? this.getWorksiteFiltered(this.state.inspectionModel.idDivision)\r\n : [];\r\n const listProject = this.state.inspectionModel.idWorkSite\r\n ? this.getWorksitePrjFiltered(this.state.inspectionModel.idWorkSite)\r\n : [];\r\n const listInspectors = this.state.inspectionModel.idWorkSite\r\n ? this.getInspectorFiltered(user)\r\n : [];\r\n const validations = {\r\n // type: this.validator.message('type', this.state.model.owner.type, 'required'),\r\n // division: this.validator.message(\r\n // 'division',\r\n // this.state.inspectionModel.idDivision,\r\n // 'required'\r\n // ), //RITM0945977\r\n division: this.validator.message(\r\n 'businessLine',\r\n this.state.inspectionModel.idDivision,\r\n 'required'\r\n ),\r\n worksite: this.validator.message(\r\n 'worksite',\r\n this.state.inspectionModel.idWorkSite,\r\n 'required'\r\n ),\r\n project: this.validator.message('project', this.state.inspectionModel.idProject, 'required'),\r\n // DEV 156\r\n //inspectors: this.validator.message(\r\n // 'inspector',\r\n // this.state.inspectionModel.inspectors,\r\n // 'required'\r\n //),\r\n inspectionType: this.validator.message(\r\n 'inspection type',\r\n this.state.inspectionModel?.inspectionType?.id,\r\n 'required'\r\n ),\r\n distributionList: this.validator.message(\r\n 'distribution list',\r\n this.state.inspectionModel.distributionList,\r\n this.state.inspectionModel.isExt ? \"\" : 'required'\r\n ),\r\n referenceYear: this.validator.message(\r\n 'reference year',\r\n this.state.inspectionModel.referenceYear,\r\n 'required'\r\n ),\r\n plannedWeek: this.validator.message(\r\n 'planned week',\r\n this.state.inspectionModel.plannedWeek,\r\n 'required'\r\n ),\r\n section: this.validator.message(\r\n 'Section',\r\n this.state.inspectionModel?.inspectionSection?.id,\r\n 'required'),\r\n };\r\n const selectedItemCombo = {\r\n idDivision: this.state.inspectionModel.idDivision\r\n ? (this.state.divisions || []).find((el) => el.id === this.state.inspectionModel?.idDivision)\r\n : [],\r\n idWorkSite: this.state.inspectionModel.idWorkSite\r\n ? (listWorksite || []).find((el) => el.id === this.state.inspectionModel.idWorkSite)\r\n : [],\r\n idProject: this.state.inspectionModel.idProject\r\n ? (listProject || []).find((el) => el.idProject === this.state.inspectionModel.idProject)\r\n : [],\r\n inspectors: this.state.inspectionModel.inspectors\r\n ? (listInspectors || []).find((el) => el.id === this.state?.inspectionModel?.inspectors[0]?.id)\r\n : [],\r\n idInspectionSection: this.state.inspectionModel.idInspectionSection\r\n ? (this.state.inspectionSection || []).find(\r\n (el) => el.id === this.state.inspectionModel.idInspectionSection\r\n )\r\n : [],\r\n idInspectionType: this.state.inspectionModel.idInspectionType\r\n ? (this.state.inspecionType || []).find(\r\n (el) => el.id === this.state.inspectionModel.idInspectionType\r\n )\r\n : [],\r\n referenceYear: this.state.inspectionModel.referenceYear\r\n ? (listOfYears || []).find((el) => el.id === this.state.inspectionModel.referenceYear)\r\n : [],\r\n // plannedWeek: this.state.inspectionModel.plannedWeek ?(listOfWeeks || []).find(el => el.id == this.state.inspectionModel?.plannedWeek) : [],\r\n plannedWeek: this.state.inspectionModel.plannedWeek\r\n ? (listOfWeeks || []).find((el) => el.id === this.state.inspectionModel?.plannedWeek)\r\n : [],\r\n };\r\n\r\n //RITM0623664_InspectionEstemporanea\r\n let modalTitle = this.state.isEditModal ? 'UPDATE INSPECTION ' : 'ADD NEW INSPECTION';\r\n if (this.state.inspectionModel?.isExt) {\r\n modalTitle += \" REPORT\"\r\n }\r\n //---FINE RITM0623664\r\n return (\r\n \r\n {({ user }) => (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {modalTitle}\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.isEditModal && this.showButtonHistory()}\r\n {\r\n this.closeModalHistory()}\r\n />\r\n }\r\n
    \r\n\r\n
    \r\n {this.state.isLoadingElement && }\r\n
    \r\n \r\n {/* RITM0945977 */}\r\n {/* Division* */}\r\n Business Line*\r\n {this.state.isLoadingDivision ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={\r\n selectedItemCombo.idDivision ? selectedItemCombo.idDivision : {}\r\n }\r\n items={this.state.divisions}\r\n disabled={\r\n this.state.isDisabled ||\r\n this.state?.divisions == null ||\r\n this.state?.divisions?.length <= 0 ||\r\n (this.state.isEditModal &&\r\n !IsEditable(\r\n 'Inspection',\r\n 'Planning',\r\n user,\r\n this.getStatusId(this.state.inspectionModel.id),\r\n 'All',\r\n this.getCanEditResource(this.state.inspectionModel.id)\r\n ))\r\n }\r\n invalid={validations.division != null}\r\n />\r\n )}\r\n {validations.division}\r\n \r\n \r\n Worksite*\r\n {this.state.isLoadingWorksite ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.idWorkSite}\r\n items={listWorksite}\r\n disabled={\r\n this.state.isDisabled ||\r\n this.state.inspectionModel.idDivision == null ||\r\n listWorksite == null ||\r\n listWorksite?.length <= 0 ||\r\n (this.state.isEditModal &&\r\n !IsEditable(\r\n 'Inspection',\r\n 'Planning',\r\n user,\r\n this.getStatusId(this.state.inspectionModel.id),\r\n 'All',\r\n this.getCanEditResource(this.state.inspectionModel.id)\r\n ))\r\n }\r\n invalid={validations?.worksite != null}\r\n />\r\n )}\r\n {validations.worksite}\r\n \r\n \r\n Project*\r\n {this.state.isLoadingProject ? (\r\n \r\n ) : (\r\n (item ? item.project : '')}\r\n initialSelectedItem={selectedItemCombo.idProject}\r\n items={listProject}\r\n disabled={\r\n this.state.inspectionModel.idDivision == null ||\r\n this.state.inspectionModel.idWorkSite == null ||\r\n listProject == null ||\r\n listProject?.length <= 0 ||\r\n (this.state.isEditModal &&\r\n !IsEditable(\r\n 'Inspection',\r\n 'Planning',\r\n user,\r\n this.getStatusId(this.state.inspectionModel.id),\r\n 'All',\r\n this.getCanEditResource(this.state.inspectionModel.id)\r\n ))\r\n }\r\n invalid={validations.idProject != null}\r\n />\r\n )}\r\n {validations.project}\r\n \r\n\r\n {/**/}\r\n {/* Inspector*/}\r\n\r\n {/* {this.state.isLoadingInspectors ? (*/}\r\n {/* */}\r\n {/* ) : (*/}\r\n {/* (item ? item.email : '')}*/}\r\n {/* initialSelectedItem={*/}\r\n {/* this.state.inspectionModel.idWorkSite != null*/}\r\n {/* ? selectedItemCombo?.inspectors*/}\r\n {/* : 'Select'*/}\r\n {/* }*/}\r\n {/* items={listInspectors}*/}\r\n {/* disabled={*/}\r\n {/* this.state.inspectionModel.idWorkSite == null ||*/}\r\n {/* this.state.inspectors == null ||*/}\r\n {/* this.state.inspectors?.length <= 0 ||*/}\r\n {/* (this.state.isEditModal &&*/}\r\n {/* !IsEditable(*/}\r\n {/* 'Inspection',*/}\r\n {/* 'Planning',*/}\r\n {/* user,*/}\r\n {/* this.getStatusId(this.state.inspectionModel.id),*/}\r\n {/* 'All',*/}\r\n {/* this.getCanEditResource(this.state.inspectionModel.id)*/}\r\n {/* ))*/}\r\n {/* }*/}\r\n {/* invalid={validations.inspectors != null}*/}\r\n {/* />*/}\r\n {/* )*/}\r\n {/* }*/}\r\n {/* //*/}{/*{validations.inspectors}*/}\r\n {/**/}\r\n \r\n Project Area\r\n \r\n \r\n\r\n \r\n Reference Year*\r\n\r\n item.name || ''}\r\n initialSelectedItem={selectedItemCombo.referenceYear}\r\n items={listOfYears}\r\n disabled={\r\n this.state.isDisabled ||\r\n (this.state.isEditModal &&\r\n !IsEditable(\r\n 'Inspection',\r\n 'Planning',\r\n user,\r\n this.getStatusId(this.state.inspectionModel.id),\r\n 'All',\r\n this.getCanEditResource(this.state.inspectionModel.id)\r\n ))\r\n }\r\n invalid={validations.referenceYear != null}\r\n />\r\n {validations.referenceYear}\r\n \r\n\r\n \r\n Inspection Section*\r\n {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.SECTION, apioperation.GET)\r\n );\r\n }}\r\n selectedItem={this.state.inspectionModel?.inspectionSection}\r\n disabled={\r\n this.state.isDisabled ||\r\n (this.state.isEditModal &&\r\n !IsEditable(\r\n 'Inspection',\r\n 'Planning',\r\n user,\r\n this.getStatusId(this.state.inspectionModel.id),\r\n 'All',\r\n this.getCanEditResource(this.state.inspectionModel.id)\r\n ))\r\n }\r\n />\r\n \r\n\r\n \r\n Inspection Type*\r\n {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.inspectionType, apioperation.GET)\r\n );\r\n }}\r\n section={this.state.inspectionModel?.inspectionSection?.id}\r\n key={'idInspectionType_' + this.state.inspectionModel?.inspectionSection?.id}\r\n initialSelectedItem={this.state.inspectionModel?.inspectionType}\r\n disabled={\r\n this.state.isDisabled ||\r\n this.state.inspectionModel?.inspectionSection?.id === null ||\r\n (this.state.isEditModal &&\r\n !IsEditable(\r\n 'Inspection',\r\n 'Planning',\r\n user,\r\n this.getStatusId(this.state.inspectionModel.id),\r\n 'All',\r\n this.getCanEditResource(this.state.inspectionModel.id)\r\n ))\r\n }\r\n />\r\n \r\n\r\n\r\n\r\n \r\n Reference Week*\r\n {!this.state.isLoadingWeeksItems ? (\r\n item?.name || ''}\r\n initialSelectedItem={selectedItemCombo.plannedWeek}\r\n disabled={\r\n listOfWeeks == null ||\r\n listOfWeeks.length <= 0 ||\r\n (this.state.isEditModal &&\r\n !IsEditable(\r\n 'Inspection',\r\n 'Planning',\r\n user,\r\n this.getStatusId(this.state.inspectionModel.id),\r\n 'All',\r\n this.getCanEditResource(this.state.inspectionModel.id)\r\n ))\r\n }\r\n items={listOfWeeks || []}\r\n invalid={validations.plannedWeek != null}\r\n />\r\n ) : (\r\n \r\n )}\r\n {validations.plannedWeek}\r\n \r\n {!this.state.inspectionModel?.isExt && ( // RITM0623664\r\n \r\n Distribution List * (Personal Email adddress are not allowed)\r\n\r\n \r\n this.updateState('distributionList', value, 'inspectionModel')\r\n }\r\n invalid={validations.distributionList != null}\r\n disabled={\r\n this.state.isDisabled ||\r\n (this.state.isEditModal &&\r\n !IsEditable(\r\n 'Inspection',\r\n 'Planning',\r\n user,\r\n this.getStatusId(this.state.inspectionModel.id),\r\n 'All',\r\n this.getCanEditResource(this.state.inspectionModel.id)\r\n ))\r\n }\r\n />\r\n {validations.distributionList}\r\n \r\n )} {/*RITM0623664*/}\r\n
    \r\n \r\n\r\n
    \r\n \r\n Cancel\r\n \r\n this.insertNewInspection()}\r\n disabled={\r\n this.state.isSubmitted ||\r\n (this.state.isEditModal &&\r\n !IsEditable(\r\n 'Inspection',\r\n 'Planning',\r\n user,\r\n this.getStatusId(this.state.inspectionModel.id),\r\n 'All',\r\n this.getCanEditResource(this.state.inspectionModel.id)\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 divFilter() {\r\n const filterItems = {\r\n idDivision: this.state.searchModel?.idDivision\r\n ? (this.state.divisions || []).find((el) => el.id === this.state.searchModel.idDivision)\r\n : [],\r\n idWorkSite: this.state.searchModel?.idWorkSite\r\n ? (this.state.appAllWorksites || []).find((el) => el.id === this.state.searchModel.idWorkSite)\r\n : [],\r\n idProject: this.state.searchModel?.idProject\r\n ? (this.state.appAllWorksitePrj || []).find((el) => el.idProject === this.state.searchModel.idProject)\r\n : [],\r\n idInspectionType: this.state.searchModel?.idInspectionType\r\n ? (this.state.inspecionType || []).find((el) => el.id === this.state.searchModel.idInspectionType)\r\n : [],\r\n idInspectionSection: this.state.searchModel?.idInspectionSection\r\n ? (this.state.inspectionSection || []).find((el) => el.id === this.state.searchModel.idInspectionSection)\r\n : [],\r\n idStatus: this.state.searchModel?.idStatus\r\n ? (this.state.status || []).find((el) => el.id === this.state.searchModel.idStatus)\r\n : [],\r\n idStatusReport: this.state.searchModel?.idStatusReport\r\n ? (this.state.status || []).find((el) => el.id === this.state.searchModel.idStatusReport)\r\n : [],\r\n //RITM0623664_InspectionEstemporanea\r\n onlyExt: this.state.searchModel.onlyExt,\r\n notExt: this.state.searchModel.notExt\r\n };\r\n const listWorksite = this.getWorksiteFiltered(this.state.searchModel?.idDivision);\r\n const listProject = this.getWorksitePrjFiltered(this.state.searchModel?.idWorkSite);\r\n return (\r\n // FILTRO\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {'FILTER INSPECTIONS'}

    {' '}\r\n
    \r\n \r\n
    \r\n
    {/*RITM0999787*/}\r\n
    \r\n \r\n {/* RITM0945977 */}\r\n {/* Division */}\r\n Business Line\r\n\r\n {this.state.isLoadingDivision ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={\r\n this.state.searchModel?.idDivision ? filterItems.idDivision : 'All'\r\n }\r\n items={this.state.divisions}\r\n disabled={this.state?.divisions == null || this.state?.divisions?.length === 0}\r\n />\r\n )}\r\n \r\n\r\n \r\n Worksite\r\n\r\n {this.state.isLoadingWorksite ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={\r\n this.state.searchModel?.idWorkSite ? filterItems.idWorkSite : 'All'\r\n }\r\n items={listWorksite}\r\n disabled={listWorksite == null || listWorksite === 0}\r\n />\r\n )}\r\n \r\n \r\n Project\r\n {this.state.isLoadingProject ? (\r\n \r\n ) : (\r\n (item ? item.project : '')}\r\n initialSelectedItem={\r\n this.state.searchModel?.idProject ? filterItems.idProject : 'All'\r\n }\r\n items={listProject}\r\n disabled={listProject == null || listProject?.length === 0}\r\n />\r\n )}\r\n \r\n \r\n Inspection Section\r\n {this.state.isLoadingInspectionType ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={\r\n this.state.searchModel?.idInspectionSection\r\n ? filterItems.idInspectionSection\r\n : 'All'\r\n }\r\n items={this.state.inspectionSection}\r\n />\r\n )}\r\n \r\n \r\n Inspection Type\r\n {this.state.isLoadingInspectionType ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={\r\n this.state.searchModel?.idInspectionType\r\n ? filterItems.idInspectionType\r\n : 'All'\r\n }\r\n items={this.state.inspecionType}\r\n />\r\n )}\r\n \r\n {/* //RITM0623664_InspectionEstemporanea */}\r\n \r\n Inspection EXT\r\n (item ? item.name : '')}\r\n initialSelectedItem={filterItems.onlyExt ? typeEXT.find(el => el.name === \"onlyExt\") : filterItems.notExt ? typeEXT.find(el => el.name === \"notExt\") : null}\r\n items={typeEXT}\r\n />\r\n \r\n {/* //RITM0623664_InspectionEstemporanea */}\r\n\r\n \r\n Status Plan\r\n {this.state.isLoadingStatus ? (\r\n \r\n ) : (\r\n (item ? item.planningName : '')}\r\n initialSelectedItem={\r\n this.state.searchModel.idStatus ? filterItems.idStatus : 'All'\r\n }\r\n items={this.state.status.filter((e) => e.id !== 3)}\r\n />\r\n )}\r\n \r\n\r\n \r\n Status Report\r\n {this.state.isLoadingStatus ? (\r\n \r\n ) : (\r\n (item ? item.reportingName : '')}\r\n initialSelectedItem={\r\n this.state.searchModel.idStatusReport ? filterItems.idStatusReport : 'All'\r\n }\r\n items={this.state.status.filter((e) => e.id !== 3)} /*RUOLI_APPROVATIVI_DEV_255_RITM0565449*/\r\n />\r\n )}\r\n \r\n\r\n \r\n Code Inspection\r\n \r\n \r\n \r\n Email Compiler\r\n \r\n \r\n \r\n Email Data Approver\r\n \r\n \r\n \r\n Email Consolidator\r\n \r\n \r\n
    \r\n
    {/*RITM0999787*/}\r\n
    \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n // /HISOTRY\r\n showButtonHistory = () => (\r\n \r\n );\r\n\r\n openModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: true });\r\n };\r\n\r\n closeModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: false });\r\n };\r\n\r\n // WF\r\n batchActionClick(\r\n actionKey,\r\n actionName,\r\n approverRole,\r\n withApprover,\r\n approvalNotesRequired,\r\n selectedRows\r\n ) {\r\n const inspection = this.state.inspections.find((i) => i.id === selectedRows[0].id);\r\n const idEntity =\r\n actionName === 'Submit'\r\n ? inspection.idWorkSite\r\n : actionName === 'Approve'\r\n ? inspection.idDivision\r\n : null;\r\n\r\n this.setState({\r\n approvalModalAction: actionName,\r\n isApprovalModalOpen: true,\r\n isLoadingApproverOptions: true,\r\n withApprover,\r\n selectedData: selectedRows,\r\n approverRole,\r\n approvalEndpoint: actionKey,\r\n approvalNotesRequired,\r\n });\r\n\r\n if (withApprover) this.getUsersInRole(approverRole, idEntity);\r\n }\r\n\r\n isRowOfExtInspection = (incidentId) => {\r\n const inspection = this.state.inspections.find((i) => i.id === incidentId);\r\n return inspection?.isExt ?? false\r\n }\r\n\r\n IsRowSelectable(row, selectedRows, user) {\r\n const entity = this.state.inspections.find((i) => i.id === row.id);\r\n\r\n if (entity.idStatusReport === 4) return false;\r\n\r\n const canSelectReporting =\r\n CanExecuteAction(\r\n 'Inspection',\r\n 'Reporting',\r\n user,\r\n entity.idStatusReport,\r\n 'Create',\r\n this.getCompilerRow(entity)\r\n ) ||\r\n CanExecuteAction(\r\n 'Inspection',\r\n 'Reporting',\r\n user,\r\n entity.idStatusReport,\r\n 'Submit',\r\n entity && entity.inspectionReport\r\n ) ||\r\n CanExecuteAction(\r\n 'Inspection',\r\n 'Reporting',\r\n user,\r\n entity.idStatusReport,\r\n 'Approve',\r\n entity && entity.inspectionReport\r\n ) ||\r\n CanExecuteAction(\r\n 'Inspection',\r\n 'Reporting',\r\n user,\r\n entity.idStatusReport,\r\n 'Consolidate',\r\n entity && entity.inspectionReport\r\n ) ||\r\n CanExecuteAction(\r\n 'Inspection',\r\n 'Reporting',\r\n user,\r\n entity.idStatusReport,\r\n 'Reject',\r\n entity && entity.inspectionReport\r\n ) ||\r\n CanExecuteAction(\r\n 'Inspection',\r\n 'Reporting',\r\n user,\r\n entity.idStatusReport,\r\n 'RejectConsolidate',\r\n entity && entity.inspectionReport\r\n );\r\n const canSelect =\r\n CanExecuteAction('Inspection', 'Planning', user, entity.idStatus, 'Submit', entity) ||\r\n CanExecuteAction('Inspection', 'Planning', user, entity.idStatus, 'Approve', entity) ||\r\n CanExecuteAction('Inspection', 'Planning', user, entity.idStatus, 'Reject', entity) ||\r\n CanExecuteAction('Inspection', 'Planning', user, entity.idStatus, 'Delete', entity)\r\n //RITM0623664_InspectionEstemporanea\r\n || CanExecuteAction('Inspection', 'PlanningExt', user, entity.idStatus, 'AssignExtReport', entity)\r\n //---FINE RITM0623664\r\n\r\n if (selectedRows.length === 0) {\r\n if (entity?.inspectionReport || entity.idStatus >= 4) return canSelectReporting;\r\n return canSelect;\r\n }\r\n\r\n if (selectedRows.length > 0) {\r\n const selectableInspection = this.state.inspections.find((i) => i.id === selectedRows[0].id);\r\n const selectableState = selectableInspection.idStatus;\r\n const selectableStateReporting = selectableInspection.idStatusReport;\r\n const selectableDivision = selectableInspection.idDivision;\r\n const selectableWorksite = selectableInspection.idWorkSite;\r\n //RITM0623664_InspectionEstemporanea\r\n if ((selectableInspection.isExt ?? false) !== (entity.isExt ?? false)) return false\r\n //--FINE RITM0623664\r\n\r\n const process =\r\n (selectableStateReporting != null && selectableStateReporting > 0) ||\r\n (selectableState != null && selectableState >= 4)\r\n ? 'REPORTING'\r\n : 'PLANNING';\r\n\r\n\r\n if (process === 'REPORTING') {\r\n if (\r\n entity.idStatusReport === selectableStateReporting &&\r\n (entity.idStatusReport === 1\r\n ? entity.idWorkSite === selectableWorksite\r\n : entity.idDivision === selectableDivision)\r\n ) {\r\n return canSelectReporting;\r\n }\r\n }\r\n\r\n if (process === 'PLANNING') {\r\n if (entity.idStatus === selectableState && entity.idWorkSite === selectableWorksite) {\r\n return canSelect;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n }\r\n\r\n handleApproverSelect = (selectedItem) => {\r\n this.setState({ approver: selectedItem });\r\n };\r\n\r\n handleCloseApprovalModal = () => {\r\n this.setState({ isApprovalModalOpen: false, approver: null });\r\n };\r\n\r\n handleApprovalNotesChange = (e) => {\r\n this.setState({ approvalNotes: e.target.value });\r\n };\r\n\r\n handleConfirmApprovalModal = () => {\r\n const apiEndpoint = this.state.approvalEndpoint;\r\n\r\n const data = {\r\n ids: this.state.selectedData.map((r) => r.id),\r\n owner: this.state.approver,\r\n workflowNotes: this.state.approvalNotes,\r\n };\r\n\r\n this.setState({\r\n isLoadingWFOperation: true,\r\n });\r\n api\r\n .put(`/inspection/${apiEndpoint}`, data, '')\r\n .then((response) => {\r\n if (response.status === 200) {\r\n showNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.INSPECTION, apioperation.PUT));\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n isApprovalModalOpen: false,\r\n isLoading: true,\r\n inspection: [],\r\n searchModel: {\r\n ...this.searchProp(),\r\n needToChange: true,\r\n },\r\n });\r\n this.getInspections();\r\n } else {\r\n showNotification.error();\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INSPECTION, apioperation.PUT));\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n })\r\n .finally(() => {\r\n this.setState({\r\n approver: null,\r\n });\r\n });\r\n };\r\n\r\n getInspection = (selectedRows) => {\r\n if (selectedRows && selectedRows.length > 0) {\r\n return this.state.inspections.find((el) => el.id === selectedRows[0].id);\r\n }\r\n return null;\r\n };\r\n\r\n getCompilerRow = (entity) => {\r\n if (entity != null) {\r\n const ins = this.state.inspections.find((el) => el.id === entity.id);\r\n // return ins && ins.inspectors && ins.inspectors[0]\r\n // ? { idCompiler: ins.inspectors[0].id }\r\n // : null;\r\n //RITM0628222\r\n return { idCompiler: ins?.idCompiler }\r\n }\r\n return null;\r\n };\r\n\r\n getCompiler = (selectedRows) => {\r\n if (selectedRows && selectedRows.length > 0) {\r\n const ins = this.state.inspections.find((el) => el.id === selectedRows[0].id);\r\n // return ins && ins.inspectors && ins.inspectors[0]\r\n // ? { idCompiler: ins.inspectors[0].id }\r\n // : null;\r\n //RITM0628222\r\n return { idCompiler: ins?.idCompiler }\r\n }\r\n return null;\r\n };\r\n\r\n getInspectionReport = (selectedRows) => {\r\n if (selectedRows && selectedRows.length > 0) {\r\n const ins = this.state.inspections.find((el) => el.id === selectedRows[0].id);\r\n return ins && ins.inspectionReport;\r\n }\r\n return null;\r\n };\r\n\r\n getStatusId = (idRow) => {\r\n const r = this.state.inspections.find((el) => el.id === idRow);\r\n return r && r.idStatus;\r\n };\r\n\r\n getReportStatusId = (idRow) => {\r\n const r = this.state.inspections.find((el) => el.id === idRow);\r\n\r\n return r && r.inspectionReport && r.inspectionReport.idStatus;\r\n };\r\n\r\n getCanEditResource = (idRow) => {\r\n const r = this.state.inspections.find((el) => el.id === idRow);\r\n return r;\r\n };\r\n\r\n render() {\r\n const inspectionHeader = [\r\n { key: 'inspectionCode', header: 'Code' },\r\n //RITM0945977\r\n // { key: 'division', header: 'Division' },\r\n { key: 'division', header: 'Business Line' },\r\n { key: 'workSite', header: 'WorkSite' },\r\n { key: 'inspectionSection', header: 'Inspection Section' },\r\n { key: 'inspectionType', header: 'Inspection Type' },\r\n { key: 'plannedWeek', header: 'Planned Week' },\r\n { key: 'status', header: 'Status Plan', type: 'status' },\r\n { key: 'statusReport', header: 'Status Report', type: 'status' },\r\n ];\r\n const paginationProps = () => ({\r\n page: this.state.currentPage || 1,\r\n totalItems: this.state.rowCount || 0,\r\n pageSize: this.state.pageSize || 10,\r\n pageSizes: [10, 20, 30, 40, 50],\r\n onChange: this.handleChangePaging,\r\n });\r\n\r\n const rows = [];\r\n\r\n const getWeekPeriod = (week, year) => {\r\n //INC1534463 - Inspection Week Span Fix\r\n //const x = moment(year.toString()).add(week, 'weeks');\r\n const x = moment(year.toString()).add(week - 1, 'weeks');\r\n //End\r\n return `Week ${week} :${x.startOf('isoWeek').format('DD/MM/YYYY')} - ${x\r\n .endOf('isoWeek')\r\n .format('DD/MM/YYYY')}`;\r\n };\r\n\r\n if (this.state.inspections) {\r\n this.state.inspections.forEach((item) => {\r\n const weeekPeriod = getWeekPeriod(item.plannedWeek, item.referenceYear);\r\n const inspectionSection = this.state.inspectionSection.filter(x => x.id === item.inspectionType.idInspectionSection);\r\n rows.push({\r\n id: item.id,\r\n inspectionCode: item.inspectionCode,\r\n division: item.division,\r\n workSite: item.workSite,\r\n inspectionType: item.inspectionType.name,\r\n inspectionSection: inspectionSection[0]?.name,\r\n plannedWeek: weeekPeriod,\r\n status: item.status,\r\n statusReport: item.statusReport,\r\n });\r\n });\r\n }\r\n return (\r\n \r\n {({ user }) => (\r\n <>\r\n \r\n {this.state.isLoadingNotificationFile ? : ''}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {/* //RITM0623664_InspectionEstemporanea */}\r\n this.showDivModaleInspection(true)}\r\n renderIcon={Add20}\r\n disabled={!(IsInRole(user, 'Administrator') || IsInRole(user, 'Compiler'))}\r\n >\r\n New Inspection Report\r\n \r\n {/* //RITM0623664_InspectionEstemporanea */}\r\n\r\n this.showDivModaleInspection(false)}\r\n renderIcon={Add20}\r\n disabled={!(IsInRole(user, 'Administrator') || IsInRole(user, 'Compiler'))}\r\n >\r\n Plan New Inspection\r\n \r\n \r\n
    \r\n

    \r\n Current year\r\n item || ''}\r\n type=\"inline\"\r\n />\r\n

    \r\n\r\n {this.state.spinner ? : ''}\r\n {this.divFilter()}\r\n {this.modalNewInspection(user)}\r\n {/* CALENDAR */}\r\n
    \r\n {this.state.isLoadingCalendar ? (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n ) : (\r\n \r\n \r\n \r\n \r\n
    \r\n )}\r\n
    \r\n \r\n (\r\n \r\n {selectedRows.length > 0 ? (\r\n \r\n \r\n \r\n \r\n {CanExecuteAction(\r\n 'Inspection',\r\n this.isRowOfExtInspection(selectedRows[0].id) ? \"PlanningExt\" : 'Planning',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Submit',\r\n this.getInspection(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Submit',\r\n 'Submit',\r\n 'Data Approver',\r\n true,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Submit Plan\r\n \r\n ) : null}\r\n {CanExecuteAction(\r\n 'Inspection',\r\n 'Planning',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Approve',\r\n this.getInspection(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Approve',\r\n 'Approve',\r\n null,\r\n false,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Approve Plan\r\n \r\n ) : null}\r\n {CanExecuteAction(\r\n 'Inspection',\r\n 'Planning',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Reject',\r\n this.getInspection(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Reject',\r\n 'Reject',\r\n null,\r\n false,\r\n true,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Reject Plan\r\n \r\n ) : null}\r\n {/* //RITM0623664_InspectionEstemporanea */}\r\n {CanExecuteAction(\r\n 'Inspection',\r\n this.isRowOfExtInspection(selectedRows[0].id) ? \"PlanningExt\" : 'Planning',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'AssignExtReport',\r\n this.getInspection(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'AssignExtReport',\r\n 'Assign Ext Report',\r\n null,\r\n false,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Assign Ext Report\r\n \r\n ) : null}\r\n {/* FINE //RITM0623664_InspectionEstemporanea */}\r\n {CanExecuteAction(\r\n 'Inspection',\r\n 'Planning',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getStatusId(selectedRows[0].id)\r\n : null,\r\n 'Delete',\r\n this.getInspection(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Delete',\r\n 'Delete',\r\n null,\r\n false,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Delete Plan\r\n \r\n ) : null}\r\n {selectedRows.length > 0 &&\r\n this.getStatusId(selectedRows[0].id) === 4 && (\r\n // DEV 156\r\n <>{CanExecuteAction(\r\n 'Inspection',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getReportStatusId(selectedRows[0].id)\r\n : null,\r\n 'Create',\r\n this.getCompiler(selectedRows)\r\n ) ? (\r\n this.handleApproveReportCheck(user)}\r\n onMount={async () => {\r\n const inspection = await this.getInspection(selectedRows);\r\n this.getInspectors(inspection.idWorkSite);\r\n }}\r\n placeholder={\r\n \r\n }\r\n >\r\n {\r\n this.batchActionClick('newreport', 'Assign', null, false, false, selectedRows);\r\n }}\r\n >\r\n Assign Report\r\n \r\n \r\n ) : null\r\n }\r\n {CanExecuteAction(\r\n 'Inspection',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getReportStatusId(selectedRows[0].id)\r\n : null,\r\n 'Submit',\r\n this.getInspectionReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'submitreport',\r\n 'Submit',\r\n 'Data Approver',\r\n true,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Submit Report\r\n \r\n ) : null}\r\n {CanExecuteAction(\r\n 'Inspection',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getReportStatusId(selectedRows[0].id)\r\n : null,\r\n 'Approve',\r\n this.getInspectionReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'approvereport',\r\n 'Approve',\r\n null, /*RUOLI_APPROVATIVI_DEV_255_RITM0565449*/\r\n false, /*RUOLI_APPROVATIVI_DEV_255_RITM0565449*/\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Approve Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Inspection',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getReportStatusId(selectedRows[0].id)\r\n : null,\r\n 'Consolidate',\r\n this.getInspectionReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'consolidatereport',\r\n 'Consolidate',\r\n null,\r\n false,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Consolidate Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Inspection',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getReportStatusId(selectedRows[0].id)\r\n : null,\r\n 'Reject',\r\n this.getInspectionReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'rejectreport',\r\n 'Reject',\r\n null,\r\n false,\r\n true,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Reject Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Inspection',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getReportStatusId(selectedRows[0].id)\r\n : null,\r\n 'RejectConsolidate',\r\n this.getInspectionReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'rejectconsolidatereport',\r\n 'Reject',\r\n null,\r\n false,\r\n true,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Reject Report\r\n \r\n ) : null}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n ) : (\r\n ''\r\n )}\r\n {this.state.isLoadingList ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n {/* */}\r\n \r\n\r\n {headers.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n \r\n {this.IsRowSelectable(row, selectedRows, user) ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {row.cells.map((cell) => (\r\n x.key === cell.info.header)}\r\n //RITM0623664_InspectionEstemporanea\r\n isExt={this.isRowOfExtInspection(row.id)}\r\n />\r\n ))}\r\n\r\n \r\n
    \r\n \r\n {this.getReportStatusId(row.id) && !this.isRowOfExtInspection(row.id) && (\r\n {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(\r\n error,\r\n entitiesLabels.INSPECTION_NOTIFICATION,\r\n apioperation.DOWNLOAD\r\n )\r\n );\r\n }}\r\n size=\"small\"\r\n renderIcon={DocumentExport16}\r\n iconDescription=\"Download Notification\"\r\n className=\"bx--export-form\"\r\n title=\"Download Notification\"\r\n kind=\"ghost\"\r\n apiUrl={`/inspection/${row.id}/export`}\r\n //fileName={`Inspection_Notification_${row.inspectionCode}.pdf`}\r\n fileName={this.getInspectionCode(row.id)}\r\n onDownLoadStart={() => {\r\n this.setState({\r\n isLoadingNotificationFile: true,\r\n });\r\n }}\r\n onDownLoadEnd={() => {\r\n this.setState({\r\n isLoadingNotificationFile: false,\r\n });\r\n }}\r\n />\r\n )}\r\n {this.getReportStatusId(row.id) && (\r\n {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(\r\n error,\r\n entitiesLabels.INCIDENT_NOTIFICATION,\r\n apioperation.DOWNLOAD\r\n )\r\n );\r\n }}\r\n size=\"small\"\r\n className=\" bx--export-tab-form\"\r\n renderIcon={DocumentExport16}\r\n iconDescription=\"Download Report\"\r\n title=\"Download Report\"\r\n kind=\"ghost\"\r\n apiUrl={`/inspection/${row.id}/exportreport`}\r\n //fileName={`Inspection_Report_${row.inspectionCode}.pdf`}\r\n fileName={this.getInspectionReportCode(row.id)}\r\n onDownLoadStart={() => {\r\n this.setState({\r\n isLoadingNotificationFile: true,\r\n });\r\n }}\r\n onDownLoadEnd={() => {\r\n this.setState({\r\n isLoadingNotificationFile: false,\r\n });\r\n }}\r\n />\r\n )}\r\n \r\n {!this.getReportStatusId(row.id) && (\r\n this.getInspectionEdit(row.id)}\r\n />\r\n )}\r\n {this.getReportStatusId(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 />\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, { Component } from 'react';\r\nimport {\r\n Loading,SkeletonText, AccordingItem, TextInput, Accordion, AccordionItem, AccordionProps, AccordionSkeleton, Tile, DatePicker, DatePickerInput, Button, DataTable, DataTableCell, Table, TableHeader, TableHead, TableRow, TableContainer, TableBody, TableCell, InlineLoading\r\n} from 'carbon-components-react';\r\nimport moment from 'moment';\r\nimport { NoRecordsPlaceholder } from '../../../../helpers/jsonschemaform/DataTableExtention';\r\nimport View16 from '@carbon/icons-react/lib/view/16';\r\nimport FileUpload from '../../../common/FileUpload';\r\nimport Save16 from '@carbon/icons-react/lib/save/16';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport Close16 from '@carbon/icons-react/lib/close/16';\r\nimport { api, inspection,me } from '../../../../helpers/api/api';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { IsEnabled, IsEditable, CanExecuteAction, IsInRole } from '../../../../helpers/authorization/Policies';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { showNotification } from '../../../../helpers/notification/BaseNotification';\r\nimport {\r\n getError,\r\n sizeFormat,\r\n getSuccess,\r\n apioperation,\r\n entitiesLabels,\r\n STATUS\r\n} from '../../../../helpers/Constants';\r\nimport { AppContext } from '../../../../helpers/context/AppContext';\r\nexport class InspectionInformation extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.validations = new SimpleReactValidator();\r\n this.state = {\r\n attachments:this.props.inspectionInfo.inspectionReport?.attachments!=null ? this.props.inspectionInfo.inspectionReport?.attachments: [],\r\n isSubmitted: false,\r\n editingDisabled: false,\r\n checkstartDate:true\r\n };\r\n this.onStartDateChange = this.onStartDateChange.bind(this);\r\n this.updateMainInformation = this.updateMainInformation.bind(this);\r\n this.renderLoadingModal = this.renderLoadingModal.bind(this);\r\n\r\n }\r\n\r\n\r\n\r\n renderLoadingModal = () => {\r\n const show = this.state.isSubmitted;\r\n return show && ;\r\n };\r\n updateMainInformation = async () => {\r\n try {\r\n if (this.validations.allValid()) {\r\n this.setState({ isSubmitted: true, editingDisabled: true });\r\n await api.put('/inspection/maininformation', this.props.inspectionInfo);\r\n \r\n showNotification.success(`${entitiesLabels.SUCCESS}`,getSuccess(entitiesLabels.INSPECTION, apioperation.PUT));\r\n } else {\r\n this.validations.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.NOTIFICATION} required fields are missing `\r\n );\r\n \r\n this.forceUpdate();\r\n }\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(entitiesLabels.INSPECTION, apioperation.PUT));\r\n } finally {\r\n this.setState({ isSubmitted: false , editingDisabled: false});\r\n }\r\n };\r\n onStartDateChange(e) { \r\n this.props.onDateChange();\r\n var inspection =this.props.inspectionInfo.inspectionReport;\r\n inspection.startDate = moment(e[0]).format('YYYY-MM-DD');\r\n inspection.endDate = moment(e[1]).format('YYYY-MM-DD');\r\n if(inspection.startDate != null){\r\n this.setState({ checkstartDate: false });\r\n }\r\n return { inspection };\r\n \r\n }\r\n \r\n renderMainInformationTitle = () => {\r\n return (\r\n <>\r\n <>\r\n
    \r\n
    \r\n Main Information\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* RITM0945977 */}\r\n {/* Division */}\r\n Business Line\r\n
    \r\n
    \r\n {this.props.tabsLoading ? (\r\n \r\n ) : (\r\n {this.props.inspectionInfo.division}\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n WorkSite\r\n
    \r\n
    \r\n {this.props.tabsLoading ? (\r\n \r\n ) : (\r\n \r\n {this.props.inspectionInfo.workSite}\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Inspection Section\r\n
    \r\n
    \r\n {this.props.tabsLoading ? (\r\n \r\n ) : (\r\n \r\n {this.props.inspectionInfo.inspectionSection?.name}\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Inspection Type\r\n
    \r\n
    \r\n {this.props.tabsLoading ? (\r\n \r\n ) : (\r\n \r\n {this.props.inspectionInfo.inspectionType?.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 render() {\r\n const isProjectAreaDisabled = this.props.inspectionInfo.idStatusReport != 1 || this.props.editingDisabledCheck;\r\n\r\n const validationsL = {\r\n startdate: this.validations.message('start date', this.props.inspectionInfo?.inspectionReport?.startDate, 'required'),\r\n enddate: this.validations.message('end date', this.props.inspectionInfo?.inspectionReport?.endDate, 'required'),\r\n projectArea: isProjectAreaDisabled ? false : this.validations.message('project area', this.props.inspectionInfo.projectArea, 'required')\r\n };\r\n\r\n return (\r\n {\r\n ({ user }) =>\r\n <>\r\n {\r\n this.state.mainInformationOpened ? (\r\n Main Information\r\n ) : (\r\n
    \r\n {this.renderLoadingModal()}\r\n \r\n \r\n {!this.props.tabsLoading ? (\r\n <>\r\n
    \r\n
    Inspection code
    \r\n
    \r\n {this.props.inspectionInfo.inspectionCode}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {/* RITM0945977 */}\r\n {/*
    Division
    */}\r\n
    Business Line
    \r\n
    \r\n {this.props.inspectionInfo.division}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    Worksite
    \r\n
    \r\n {this.props.inspectionInfo.workSite}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    Project
    \r\n
    \r\n {this.props.inspectionInfo.project}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    Project Area*
    \r\n {isProjectAreaDisabled ? (\r\n
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t {this.props.inspectionInfo.projectArea} \r\n
    \r\n ) : (\r\n
    \r\n this.props.onProjectAreaChange(e.target.value)}\r\n value={this.props.inspectionInfo.projectArea}\r\n invalid={validationsL.projectArea}\r\n invalidText=\"This field is Required!\"\r\n />\r\n
    \r\n )\r\n }\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    Inspection Section
    \r\n
    \r\n {this.props.inspectionInfo.inspectionSection?.name} \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    Inspection Type
    \r\n
    \r\n {this.props.inspectionInfo.inspectionType?.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 {validationsL.startdate}\r\n {validationsL.enddate}\r\n
    \r\n
    \r\n
    \r\n { !this.props.editingDisabledCheck&&\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\n\r\n )} \r\n }\r\n
    );\r\n\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","/* eslint-disable react/sort-comp */\r\n/* eslint-disable import/prefer-default-export */\r\nimport React, { Component } from 'react';\r\nimport {\r\n ModalBody,\r\n ModalFooter,\r\n ModalHeader,\r\n FormGroup,\r\n ComposedModal,\r\n TextArea,\r\n TimePicker,\r\n DatePicker,\r\n DatePickerInput,\r\n Button,\r\n DataTable,\r\n Table,\r\n TableHeader,\r\n TableHead,\r\n TableRow,\r\n TableContainer,\r\n TableBody,\r\n TableCell,\r\n Tile,\r\n TableToolbar,\r\n TableToolbarContent,\r\n TextInput,\r\n Loading,\r\n} from 'carbon-components-react';\r\nimport moment from 'moment';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport Add16 from '@carbon/icons-react/lib/add/16';\r\nimport Save16 from '@carbon/icons-react/lib/save/16';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport Email16 from '@carbon/icons-react/lib/email/16';\r\nimport { NoRecordsPlaceholder } from '../../../helpers/jsonschemaform/DataTableExtention';\r\nimport { IsInRole } from '../../../helpers/authorization/Policies';\r\nimport { entitiesLabels } from '../../../helpers/Constants';\r\nimport { showNotification } from '../../../helpers/notification/BaseNotification';\r\nimport EmailChips from '../../../helpers/EmailChips';\r\nimport DateTimePicker from '../../../helpers/DateTimePicker';\r\nimport { AppContext } from '../../../helpers/context/AppContext';\r\n\r\nexport class InspectionNotification extends Component {\r\n notificaFormProps = () => ({});\r\n\r\n inspectionNotificationFormProp = () => ({\r\n id: null,\r\n distributionList: null,\r\n responsibleEmail: null,\r\n });\r\n\r\n inspectionNotificationFormDocumentProps = () => ({\r\n id: null,\r\n name: null,\r\n });\r\n\r\n inspectionReportActivityProps = () => ({\r\n id: null,\r\n activity: null,\r\n inspector: null,\r\n date: null,\r\n to: null,\r\n from: null,\r\n });\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.validationsActivity = new SimpleReactValidator({\r\n validators: {\r\n time: {\r\n message: ':attribute must be a valid time',\r\n rule: (val, params, validator) =>\r\n validator.helpers.testRegex(val, /^(0[0-9]|1[0-9]|2[0-3]|[0-9]):[0-5][0-9]+$/) &&\r\n params.indexOf(val) === -1,\r\n required: true, // optional\r\n },\r\n },\r\n });\r\n this.validatorTime = new SimpleReactValidator({ locale: 'en' });\r\n this.validationsDocuments = new SimpleReactValidator();\r\n this.validationsNotifications = new SimpleReactValidator();\r\n\r\n // var a = this.props.inspectionInfo.inspectionReport.notificationForm;\r\n this.state = {\r\n inspectionNotificationFormModel: {\r\n ...this.inspectionNotificationFormModel,\r\n distributionList: this.props.notificationForm.distributionList,\r\n responsibleEmail: this.props.notificationForm.responsibleEmail,\r\n },\r\n inspectionNotificationFormDocumentModel: {\r\n ...this.inspectionNotificationFormDocumentProps(),\r\n },\r\n inspectionReportActivityModel: {\r\n ...this.inspectionReportActivityProps(),\r\n },\r\n flagTime: false,\r\n isOpenModalActivity: false,\r\n isOpenModalDocuments: false,\r\n documents: [],\r\n notificationForm: this.props.notificationForm,\r\n activities: [],\r\n isSubmitted: false,\r\n //RITM0960566 - Inspection Report Problem Fix\r\n //isDisabledSend: true,\r\n //End\r\n };\r\n this.showModalActivity = this.showModalActivity.bind(this);\r\n this.showModalDocument = this.showModalDocument.bind(this);\r\n this.updateState = this.updateState.bind(this);\r\n this.addDocuments = this.addDocuments.bind(this);\r\n this.addActivities = this.addActivities.bind(this);\r\n this.deleteDocuments = this.deleteDocuments.bind(this);\r\n this.deletedeleteActivities = this.deletedeleteActivities.bind(this);\r\n this.updateDocuments = this.updateDocuments.bind(this);\r\n this.updateActivity = this.updateActivity.bind(this);\r\n this.onActivityDateChange = this.onActivityDateChange.bind(this);\r\n this.updateDistributionList = this.updateDistributionList.bind(this);\r\n }\r\n\r\n componentDidMount() {}\r\n\r\n renderLoadingModal = () => {\r\n const show = this.state.isSubmitted;\r\n return show && ;\r\n };\r\n\r\n showModalActivity() {\r\n this.setState({\r\n inspectionReportActivityModel: {\r\n ...this.inspectionReportActivityProps(),\r\n },\r\n });\r\n this.setState((oldState) => ({ isOpenModalActivity: !oldState.isOpenModalActivity }));\r\n }\r\n\r\n showModalDocument() {\r\n this.setState((oldState) => ({ isOpenModalDocuments: !oldState.isOpenModalDocuments }));\r\n this.setState({\r\n inspectionNotificationFormDocumentModel: {\r\n ...this.inspectionNotificationFormDocumentProps(),\r\n },\r\n });\r\n }\r\n\r\n // ////FUNZIONI\r\n\r\n saveNotificationForm = () => {\r\n const notification = this.state.inspectionNotificationFormModel;\r\n if (this.validationsNotifications.allValid()) {\r\n this.props.saveNotificationForm(notification);\r\n //RITM0960566 - Inspection Report Problem Fix\r\n //this.setState({\r\n // isDisabledSend: false,\r\n //});\r\n //End\r\n } else {\r\n this.validationsNotifications.showMessages();\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n ` ${entitiesLabels.NOTIFICATION} required fields are missing `\r\n );\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n sendNotification = () => {\r\n if (this.validationsNotifications.allValid()) {\r\n const notification = this.state.inspectionNotificationFormModel;\r\n this.props.sendNotification(notification);\r\n } else {\r\n this.validationsNotifications.showMessages();\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.NOTIFICATION} required fields are missing `\r\n );\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n updateDistributionList = (inputName, inputValue, objName) => {\r\n this.props.notificationForm.distributionList = inputValue;\r\n this.updateState(inputName, inputValue, objName);\r\n };\r\n\r\n updateStatesTime = (inputName, inputValue, objName) => {\r\n if (inputValue == false) {\r\n this.setState({ flagTime: true });\r\n if (!this.validatorTime.allValid()) {\r\n this.validatorTime.showMessages();\r\n }\r\n } else {\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n statusCopy.flagTime = false;\r\n this.setState(statusCopy);\r\n }\r\n };\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n this.setState(statusCopy);\r\n };\r\n\r\n handleChangeModelNotificationForm = (el) => {\r\n const inputName = el.target.name;\r\n const inputValue = el.target.value;\r\n this.updateState(inputName, inputValue, 'inspectionNotificationFormModel');\r\n };\r\n\r\n handleChangeModelActivity = (el) => {\r\n const inputName = el.target.name;\r\n const inputValue = el.target.value;\r\n const objName = 'inspectionReportActivityModel';\r\n this.updateState(inputName, inputValue, objName);\r\n };\r\n\r\n handleChangeModelDocuments = (el) => {\r\n const inputName = el.target.name;\r\n const inputValue = el.target.value;\r\n const objName = 'inspectionNotificationFormDocumentModel';\r\n this.updateState(inputName, inputValue, objName);\r\n };\r\n\r\n // //DATEPIKER\r\n\r\n onActivityDateChange(e) {\r\n this.setState((prevState) => {\r\n const inspectionReportActivityModel = { ...prevState.inspectionReportActivityModel };\r\n inspectionReportActivityModel.date = moment(e[0]).format('YYYY-MM-DD');\r\n return { inspectionReportActivityModel };\r\n });\r\n }\r\n\r\n // //ACTIVITY\r\n addActivities = () => {\r\n if (this.validationsActivity.allValid()) {\r\n if (!this.validatorTime.allValid()) {\r\n if (this.state.inspectionReportActivityModel.id == null) {\r\n this.setState(\r\n {\r\n activities: this.state.activities.concat(this.state.inspectionReportActivityModel),\r\n notificationForm: {\r\n ...this.state.notificationForm,\r\n activities: this.state.notificationForm.activities.concat(\r\n this.state.inspectionReportActivityModel\r\n ),\r\n },\r\n },\r\n this.props.addActivity(this.state.inspectionReportActivityModel)\r\n );\r\n\r\n this.setState({\r\n inspectionReportActivityModel: {\r\n ...this.inspectionReportActivityProps(),\r\n },\r\n });\r\n } else {\r\n this.props.addActivity(this.state.inspectionReportActivityModel);\r\n this.setState({\r\n inspectionReportActivityModel: {\r\n id: null,\r\n activity: null,\r\n inspector: null,\r\n date: null,\r\n to: null,\r\n from: null,\r\n },\r\n });\r\n }\r\n this.showModalActivity();\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.INSPECTION} Time is invalid `\r\n );\r\n this.forceUpdate();\r\n }\r\n } else {\r\n this.validationsActivity.showMessages();\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n ` ${entitiesLabels.ACTIVITY} required fields are missing `\r\n );\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n deletedeleteActivities = (id) => {\r\n const activity = this.state.notificationForm.activities.filter((x) => x.id != id);\r\n this.setState(\r\n {\r\n notificationForm: {\r\n ...this.state.notificationForm,\r\n activities: activity,\r\n },\r\n },\r\n this.props.deleteActivity(id)\r\n );\r\n };\r\n\r\n updateActivity = (id) => {\r\n this.setState((prevState) => {\r\n const copy = { ...prevState.inspectionReportActivityModel };\r\n const activities = this.props.notificationForm.activities.filter(\r\n (document) => document.id == id\r\n );\r\n copy.activity = activities[0].activity;\r\n copy.inspector = activities[0].inspector;\r\n copy.from = activities[0].from;\r\n copy.to = activities[0].to;\r\n copy.date = activities[0].date;\r\n copy.id = activities[0].id;\r\n this.setState({ inspectionReportActivityModel: copy });\r\n });\r\n\r\n this.showModalActivity();\r\n };\r\n\r\n // ////DOCUMENT\r\n addDocuments = () => {\r\n if (this.validationsDocuments.allValid()) {\r\n if (this.state.inspectionNotificationFormDocumentModel.id == null) {\r\n this.setState({\r\n documents: this.state.documents.concat(\r\n this.state.inspectionNotificationFormDocumentModel\r\n ),\r\n });\r\n this.props.addDocument(this.state.inspectionNotificationFormDocumentModel);\r\n this.setState({\r\n inspectionNotificationFormDocumentModel: {\r\n id: null,\r\n name: null,\r\n },\r\n });\r\n } else {\r\n this.props.addDocument(this.state.inspectionNotificationFormDocumentModel);\r\n this.setState({\r\n inspectionNotificationFormDocumentModel: {\r\n id: null,\r\n name: null,\r\n },\r\n });\r\n }\r\n this.showModalDocument();\r\n } else {\r\n this.validationsDocuments.showMessages();\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.DOCUMENTS} required fields are missing `\r\n );\r\n\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n updateDocuments = (id) => {\r\n this.setState((prevState) => {\r\n const copy = { ...prevState.inspectionNotificationFormDocumentModel };\r\n const documents = this.props.notificationForm.documents.filter(\r\n (document) => document.id == id\r\n );\r\n copy.name = documents[0].name;\r\n copy.id = documents[0].id;\r\n this.setState({ inspectionNotificationFormDocumentModel: copy });\r\n });\r\n\r\n this.showModalDocument();\r\n };\r\n\r\n deleteDocuments = (id) => {\r\n this.props.deleteDocument(id);\r\n };\r\n\r\n // //RENDER MODALI\r\n newActivity() {\r\n const validationsTime = {\r\n validTime: this.validatorTime.message('validTime', this.state.flagTime, 'accepted'),\r\n };\r\n let diffFromTo = false;\r\n if (this.state.inspectionReportActivityModel.to != null) {\r\n const timeEnd = moment(this.state.inspectionReportActivityModel.to, 'HH:mm a');\r\n const timeStart = moment(this.state.inspectionReportActivityModel.from, 'HH:mm a');\r\n const duration = moment.duration(timeEnd.diff(timeStart));\r\n const minutes = parseInt(duration.asMinutes()) % 60;\r\n const hours = parseInt(duration.asHours());\r\n if (minutes >= 0 && hours >= 0) diffFromTo = true;\r\n }\r\n const validationsActivity = {\r\n inspector: this.validationsActivity.message(\r\n 'Inspector',\r\n this.state.inspectionReportActivityModel.inspector,\r\n 'required',\r\n (this.validator = new SimpleReactValidator({\r\n messages: {\r\n required: 'the :attribute field is required',\r\n },\r\n }))\r\n ),\r\n date: this.validationsActivity.message(\r\n 'Date',\r\n this.state.inspectionReportActivityModel.date,\r\n 'required',\r\n (this.validator = new SimpleReactValidator({\r\n messages: {\r\n required: 'the :attribute field is required',\r\n },\r\n }))\r\n ),\r\n from: this.validationsActivity.message(\r\n 'From',\r\n this.state.inspectionReportActivityModel.from,\r\n 'required'\r\n ),\r\n to: this.validationsActivity.message(\r\n 'To',\r\n this.state.inspectionReportActivityModel.to,\r\n 'required'\r\n ),\r\n activity: this.validationsActivity.message(\r\n 'Activity',\r\n this.state.inspectionReportActivityModel.activity,\r\n 'required'\r\n ),\r\n diffTIme: this.validationsActivity.message('diffTIme', diffFromTo, 'accepted'),\r\n };\r\n const modalHeader = {\r\n title: this.props.isEditModal ? 'Edit ' : 'Add new ',\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.showModalActivity(),\r\n };\r\n return (\r\n <>\r\n 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 this.onActivityDateChange(e)}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {validationsActivity.diffTIme ||\r\n validationsActivity.to != null ||\r\n validationsActivity.to ? (\r\n
    Invalid time format
    \r\n ) : null}\r\n {this.state.flagTime ? (\r\n
    Invalid time format
    \r\n ) : 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\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n newDocuments() {\r\n const validationsDocuments = {\r\n name: this.validationsDocuments.message(\r\n 'Name',\r\n this.state.inspectionNotificationFormDocumentModel.name,\r\n 'required'\r\n ),\r\n };\r\n\r\n const modalHeader = {\r\n title: this.state.isUpdateDocument ? 'Edit Related Document' : 'Add new Related Document',\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.showModalDocument(),\r\n };\r\n\r\n return (\r\n <>\r\n 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 {validationsDocuments.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 render() {\r\n const headers = [\r\n {\r\n key: 'inspector',\r\n header: 'Personnel Involved',\r\n isSortable: true,\r\n },\r\n {\r\n key: 'activity',\r\n header: 'Activity',\r\n },\r\n {\r\n key: 'date',\r\n header: 'Date',\r\n },\r\n {\r\n key: 'from',\r\n header: 'Time From',\r\n },\r\n {\r\n key: 'to',\r\n header: 'Time To',\r\n },\r\n ];\r\n const headersDoc = [\r\n {\r\n key: 'name',\r\n header: 'Name',\r\n isSortable: true,\r\n },\r\n ];\r\n const activirty = this.props.activities.sort((a, b) => {\r\n const dateA = new Date(a.date);\r\n const dateB = new Date(b.date);\r\n const hA = moment(a.from, 'HH:mm a');\r\n const hB = moment(b.from, 'HH:mm a');\r\n dateA.setHours(hA.hours(), hA.minutes());\r\n dateB.setHours(hB.hours(), hB.minutes());\r\n return dateA - dateB;\r\n });\r\n const document = this.props.documents;\r\n\r\n const validationsNotifications = {\r\n distributionList: this.validationsNotifications.message(\r\n 'Distribution List',\r\n this.state.inspectionNotificationFormModel.distributionList,\r\n 'required'\r\n ),\r\n // responsibleEmail: this.validationsNotifications.message('Responsible Email', this.state.inspectionNotificationFormModel.responsibleEmail, 'required'),\r\n activitymodal: this.validationsNotifications.message(\r\n 'Activity',\r\n this.state.notificationForm.activities,\r\n 'required'\r\n ),\r\n\r\n maininformation: this.validationsNotifications.message(\r\n 'Main informationdate ',\r\n this.props.inspectionModel?.inspectionReport?.startDate &&\r\n this.props.inspectionModel?.inspectionReport?.endDate &&\r\n //RITM0560302 \r\n (this.props.inspectionModel?.inspectionReport?.idStatus != 1 ? false : this.props.inspectionModel?.projectArea),\r\n 'required'\r\n ),\r\n // documentsmodal: this.validationsNotifications.message('Documents', this.props.notificationForm.documents, 'required'),\r\n };\r\n return (\r\n \r\n {({ user }) => (\r\n <>\r\n {validationsNotifications.maininformation ? (\r\n
    \r\n Enter the Project Area, startDate and endDate in the Main Information\r\n
    \r\n ) : null}\r\n {this.state.mainInformationOpened ? (\r\n Main Information\r\n ) : (\r\n
    \r\n (\r\n \r\n \r\n \r\n
    \r\n
    List Of Inspection Activities
    \r\n
    \r\n {!this.props.editingDisabledCheck && (\r\n
    \r\n \r\n Add New Activity\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n {this.newActivity()}\r\n {this.newDocuments()}\r\n \r\n \r\n \r\n {headers.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {!rows || rows.length < 1 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n {row.cells.map((cell) => (\r\n \r\n {cell.info.header.includes('date')\r\n ? moment(cell.value).format('DD/MM/YYYY')\r\n : cell.info.header.includes('workSite')\r\n ? cell.value?.name || 'N/A'\r\n : cell.value}\r\n \r\n ))}\r\n \r\n
    \r\n this.updateActivity(row.id)}\r\n size=\"small\"\r\n renderIcon={Edit16}\r\n iconDescription=\"Edit\"\r\n kind=\"ghost\"\r\n disabled={this.props.disabled}\r\n />\r\n this.deletedeleteActivities(row.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n disabled={this.props.disabled}\r\n />\r\n
    \r\n
    \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n
    \r\n )}\r\n />\r\n {validationsNotifications.activitymodal}\r\n {this.props.isLoad ? : ''}\r\n \r\n
    \r\n \r\n \r\n this.updateDistributionList(\r\n 'distributionList',\r\n value,\r\n 'inspectionNotificationFormModel'\r\n )\r\n }\r\n />\r\n \r\n {validationsNotifications.distributionList}\r\n
    \r\n
    \r\n \r\n \r\n this.updateState(\r\n 'responsibleEmail',\r\n value,\r\n 'inspectionNotificationFormModel'\r\n )\r\n }\r\n />\r\n \r\n
    \r\n
    \r\n (\r\n \r\n \r\n \r\n
    \r\n
    List Of Related Documents
    \r\n
    \r\n {!this.props.editingDisabledCheck && (\r\n
    \r\n \r\n Add New Document\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n {headersDoc.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {!rows || rows.length < 1 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n {row.cells.map((cell) => (\r\n {cell.value}\r\n ))}\r\n \r\n
    \r\n this.updateDocuments(row.id)}\r\n size=\"small\"\r\n renderIcon={Edit16}\r\n iconDescription=\"Edit\"\r\n kind=\"ghost\"\r\n disabled={this.props.disabled}\r\n />\r\n this.deleteDocuments(row.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n disabled={this.props.disabled}\r\n />\r\n
    \r\n
    \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n
    \r\n )}\r\n />\r\n\r\n
    \r\n {(IsInRole(user, 'Administrator') || IsInRole(user, 'Compiler')) && (\r\n
    \r\n \r\n Save\r\n \r\n\r\n \r\n Send\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n )}\r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n","/* eslint-disable react/sort-comp */\r\n/* eslint-disable import/prefer-default-export */\r\nimport React, { Component } from \"react\";\r\nimport {\r\n\tModalBody,\r\n\tModalFooter,\r\n\tModalHeader,\r\n\tFormGroup,\r\n\tComposedModal,\r\n\tButton,\r\n\tDataTable,\r\n\tTable,\r\n\tTableHeader,\r\n\tTableHead,\r\n\tTableRow,\r\n\tTableContainer,\r\n\tTableBody,\r\n\tTableCell,\r\n\tTableToolbar,\r\n\tTableToolbarContent,\r\n\tAccordion,\r\n\tAccordionItem,\r\n\tFormLabel,\r\n\tDropdownSkeleton,\r\n\tComboBox,\r\n\tLoading,\r\n\tDataTableSkeleton,\r\n\tTextInput,\r\n} from \"carbon-components-react\";\r\nimport moment from \"moment\";\r\nimport Add16 from \"@carbon/icons-react/lib/add/16\";\r\nimport Save16 from \"@carbon/icons-react/lib/save/16\";\r\nimport Delete16 from \"@carbon/icons-react/lib/delete/16\";\r\nimport Close16 from \"@carbon/icons-react/lib/close/16\";\r\nimport { NoRecordsPlaceholder } from \"../../../helpers/jsonschemaform/DataTableExtention\";\r\nimport { api } from \"../../../helpers/api/api\";\r\nimport { getError, entitiesLabels, apioperation, NotificationModule } from \"../../../helpers/Constants\";\r\nimport { showNotification } from \"../../../helpers/notification/BaseNotification\";\r\nimport InspectionRepository from \"../../../helpers/api/InspectionRepository\";\r\nimport { FindGHRSEmployer } from \"../../common/FindGHRSEmployer\";\r\nimport { AppContext } from \"../../../helpers/context/AppContext\";\r\nimport { v4 as uuid } from 'uuid';\r\n\r\nconst Entity = {\r\n\tinspected: \"Inspected\",\r\n\tinspector: \"Inspector\"\r\n}\r\n\r\n\r\nexport class InspectionPersonnel extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\r\n\t\tthis.state = {\r\n\t\t\tdisabledSavePersonnel: true,\r\n\t\t\tlisInspectors: [],\r\n\t\t\tisSubmitted: false,\r\n\t\t\tloadInspectionInspector: true,\r\n\t\t\tinspectorModel: {},\r\n\t\t\tnewSaipemUser: null,\r\n\r\n\t\t\t// inspectors: [],\r\n\t\t\tinspectors: this.props.inspectionInfo.inspectors ?? [],\r\n\t\t\tinspectionInspectors: [],\r\n\t\t\tinsepctorUser: [],\r\n\r\n\t\t\t//CR 161\r\n\t\t\tinspectedInspectorModal: {\r\n\t\t\t\tshow: false,\r\n\t\t\t\tentity: null\r\n\t\t\t},\r\n\t\t\tisOpenManualInput: false,\r\n\t\t\tinspectedNoSaipem: this.props.inspectionInfo.inspectedNoSaipem ? this.props.inspectionInfo.inspectedNoSaipem.map((el) => ({ ...el, id: uuid() })) : [],\r\n\t\t\tinspectorsNoSaipem: this.props.inspectionInfo.inspectorsNoSaipem ? this.props.inspectionInfo.inspectorsNoSaipem.map((el) => ({ ...el, id: uuid() })) : [],\r\n\t\t\tinspectorsGHRS: this.props.inspectionInfo.inspectorsGHRS ?? [],\r\n\t\t\tinspectedsSaipem: this.props.inspectionInfo.inspectedsSaipem ? this.props.inspectionInfo.inspectedsSaipem.map(el =>({...el, fullname: `${el.name} ${el.surname}`, role: \"Inspected\" })) : [],\r\n\t\t\tnoSaipemModel: null,\r\n\t\t\t//\r\n\r\n\t\t\t// INSPECTED\r\n\t\t\temployees: [],\r\n\t\t\tinspectedselect: null,\r\n\t\t\tloadInspectionInspected: true,\r\n\t\t\tinspectedModel: {},\r\n\t\t\tinspectedNew: null,\r\n\t\t\tisLoadingInspectors: false,\r\n\t\t\tisLoadingInspected: false,\r\n\t\t\tinspecteds: this.props.inspectionInfo.inspecteds ?? [],\r\n\t\t\tinspectionInspecteds: [],\r\n\t\t\tinspectorselect: null,\r\n\t\t\tmodalInspectedsDeleteVisible: false,\r\n\t\t\tmodalInspectorsDeleteVisible: false,\r\n\t\t\tmodalNewInspectedsVisible: false,\r\n\t\t\tisOpenModalGHRS: false,\r\n\t\t};\r\n\r\n\t\tthis.showUserModalInspector = this.showUserModal.bind(this);\r\n\t\t// this.addInspector = this.addInspector.bind(this);\r\n\t\tthis.getInspectors = this.getInspectors.bind(this);\r\n\t\tthis.getInspectorsInspection = this.getInspectorsInspection.bind(this);\r\n\t\tthis.savePersonnel = this.savePersonnel.bind(this);\r\n\t\tthis.deleteInspector = this.deleteInspector.bind(this);\r\n\t\tthis.deleteInspecteds = this.deleteInspecteds.bind(this);\r\n\t\t//\r\n\t\tthis.getInspectedsInspection = this.getInspectedsInspection.bind(this);\r\n\t\tthis.getEmployees = this.getEmployees.bind(this);\r\n\t\tthis.handleChangeGHRSModal = this.handleChangeGHRSModal.bind(this);\r\n\t\tthis.setEmployer = this.setEmployer.bind(this);\r\n\t\tthis.renderLoadingModal = this.renderLoadingModal.bind(this);\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t\tthis.closeAccordion();\r\n\t\tthis.getInspectorsWS();\r\n\t}\r\n\r\n\trenderLoadingModal = () => {\r\n\t\tconst show = this.state.isSubmitted;\r\n\t\treturn show && ;\r\n\t};\r\n\r\n\tsetSaipemUser = () => {\r\n\t\tconst isForInspected = this.state.inspectedInspectorModal.entity === Entity.inspected\r\n\t\tif (isForInspected) this.addinspectedsSaipem()\r\n\t\telse this.addInspectorSaipem()\r\n\t}\r\n\r\n\taddInspectorSaipem = () => {\r\n\t\ttry {\r\n\t\t\tif (this.state.newSaipemUser == null) return;\r\n\t\t\tconst inspectorS = this.state.newSaipemUser;\r\n\t\t\tconst exists = this.state.inspectors.some((v) => v.email === inspectorS.email) || this.state.inspectorsNoSaipem.some((v) => v.email === inspectorS.email)\r\n\t\t\tif (!exists) {\r\n\t\t\t\tinspectorS.role = \"Inspectors\";\r\n\t\t\t\tthis.setState({ inspectors: this.state.inspectors.concat(inspectorS) }, this.showUserModal);\r\n\t\t\t} else {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, \"Inspector already on the list\");\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INSPECTION, 'addInspectorSaipem'));\r\n\t\t} \r\n\t\tthis.setState({newSaipemUser: null})\r\n\t};\r\n\r\n\taddinspectedsSaipem = () => {\r\n\t\ttry {\r\n\t\t\tif (this.state.newSaipemUser == null) return;\r\n\t\t\tconst inspectedS = this.state.newSaipemUser;\r\n\t\t\tconst exists = this.state.inspecteds.some((v) => v.email === inspectedS.email) || this.state.inspectedNoSaipem.some((v) => v.email === inspectedS.email) || this.state.inspectedsSaipem.some((v) => v.email === inspectedS.email)\t\t\t\r\n\t\t\tif (!exists) {\r\n\t\t\t\tinspectedS.role = \"Inspected\";\r\n\t\t\t\tinspectedS.fullname = `${inspectedS.name} ${inspectedS.surname}` ;\r\n\t\t\t\tthis.setState({ inspectedsSaipem: this.state.inspectedsSaipem.concat(inspectedS) }, this.showUserModal);\r\n\t\t\t} else {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, \"Inspected already on the list\");\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INSPECTION, 'addinspectedsSaipem'));\r\n\t\t}\r\n\t\tthis.setState({newSaipemUser: null})\r\n\t};\r\n\r\n\r\n\tcloseAccordion() {\r\n\t\tthis.setState({\r\n\t\t\tisLoadingInspectors: false,\r\n\t\t\tisLoadingInspected: false,\r\n\t\t});\r\n\t}\r\n\tgetInspectorsWS = () => {\r\n\t\tthis.setState({\r\n\t\t\tisLoadingInspectors: true,\r\n\t\t});\r\n\t\tapi.getAll(`/users/userworksite/${NotificationModule.ModuleInspection}`)\r\n\t\t\t.then((response) => {\r\n\t\t\t\tconst { data } = response;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tinsepctorUser: data,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INSPECTION_NOTIFICATION, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingInspectors: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t};\r\n\tgetInspectorFiltered() {\r\n\t\tconst data = (this.state.insepctorUser || []).filter((x) => x.worksite.includes(this.props.worksite));\r\n\t\treturn data;\r\n\t}\r\n\tgetInspectorsInspection() {\r\n\t\tthis.setState({\r\n\t\t\tisLoadingInspectors: true,\r\n\t\t});\r\n\t\tconst id = this.props.plan;\r\n\r\n\t\tif (this.state.loadInspectionInspector === false || id == null) return;\r\n\r\n\t\tapi.getAll(`inspection/report/${id}/inspectors`)\r\n\t\t\t.then((response) => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tinspectors: response.data,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INSPECTION, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingInspectors: false,\r\n\t\t\t\t\tloadInspectionInspector: false,\r\n\t\t\t\t\tdisabledSavePersonnel: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\tgetInspectedsInspection() {\r\n\t\tthis.setState({\r\n\t\t\tisLoadingInspected: true,\r\n\t\t});\r\n\t\tconst id = this.props.plan;\r\n\t\tif (this.state.loadInspectionInspected === false || id == null) return;\r\n\r\n\t\tapi.getAll(`inspection/report/${id}/inspecteds`)\r\n\t\t\t.then((response) => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tinspecteds: response.data,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INSPECTION, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingInspected: false,\r\n\t\t\t\t\tloadInspectionInspected: false,\r\n\t\t\t\t\tdisabledSavePersonnel: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\tgetUser = () => {\r\n\t\tif(this.state.isOpenUserModalInspector) {\r\n\t\t\tconst idWorksite = this.props.worksite;\r\n\t\t\tthis.getInspectors(idWorksite);\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n\tgetInspectorsFilteredByWs = () => {\r\n\t\tif(this.state.isOpenUserModalInspector){\r\n\t\t\tconst idWorksite = this.props.worksite;\r\n\t\t\tthis.getInspectors(idWorksite);\r\n\t\t}\r\n\t}\r\n\r\n\tshowUserModal() {\r\n\t\t// this.setState((oldState) => ({ isOpenUserModalInspector: !oldState.isOpenUserModalInspector }), this.getUser);\r\n\t\tthis.setState((oldState) => ({ isOpenUserModalInspector: !oldState.isOpenUserModalInspector }), this.getInspectorsFilteredByWs);\r\n\t\t\t\r\n\r\n\t\tif(!this.state.isOpenUserModalInspector) this.setState({inspectedInspectorModal:{ ...this.state.inspectedInspectorModal, show: false}})\r\n\t}\r\n\r\n\t// onChangeInspector = (inputName) => {\r\n\t// \tconst inspectorS = inputName.selectedItem;\r\n\t// \tthis.setState({\r\n\t// \t\tnewSaipemUser: inspectorS,\r\n\t// \t});\r\n\t// };\r\n\tonChangeSaipemUser = (inputName) => this.setState({ newSaipemUser: inputName.selectedItem});\r\n\t\r\n\r\n\tsavePersonnel = () => {\r\n\t\tthis.setState({\r\n\t\t\tisSubmitted: true,\r\n\t\t});\r\n\t\tconst { inspectors } = this.state;\r\n\t\tconst { inspecteds } = this.state;\r\n\t\t//CR 161\r\n\t\tconst { inspectorsNoSaipem } = this.state;\r\n\t\tconst { inspectedNoSaipem } = this.state;\r\n\t\tconst { inspectorsGHRS } = this.state;\r\n\t\tconst { inspectedsSaipem } = this.state;\r\n\r\n\t\tconst idInspection = this.props.plan;\r\n\t\tconst datiForm = {\r\n\t\t\tidInspection,\r\n\t\t\tinspectors,\r\n\t\t\tinspecteds,\r\n\t\t\t//CR 161\r\n\t\t\tinspectorsNoSaipem,\r\n\t\t\tinspectedNoSaipem,\r\n\t\t\tinspectorsGHRS,\r\n\t\t\tinspectedsSaipem\r\n\t\t};\r\n\t\tapi.put(\"/inspection/personnel\", datiForm)\r\n\t\t\t.then((response) => {\r\n\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\tshowNotification.success(`${entitiesLabels.SUCCESS}`, \"Successfully sent\");\r\n\t\t\t\t} else {\r\n\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(\"Unsuccessfully sent\", entitiesLabels.INSPECTION, apioperation.POST));\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INSPECTION, apioperation.POST));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tloadInspectionInspector: true,\r\n\t\t\t\t\tnewSaipemUser: null,\r\n\t\t\t\t\tisSubmitted: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t};\r\n\r\n\tdeleteInspector = () => {\r\n\t\tconst copy = {...this.state}\r\n\t\tconst saipemInspector = this.state?.inspectors?.find(inspector => inspector.email === this.state.inspectorselect)\r\n\t\tconst isGhrs = this.state?.inspectorsGHRS?.find(inspector => inspector.email === this.state.inspectorselect)\r\n\t\tif(saipemInspector) copy.inspectors = this.state?.inspectors?.filter((inspector) => inspector.email !== this.state.inspectorselect) ;\r\n\t\telse if (isGhrs) copy.inspectorsGHRS = this.state?.inspectorsGHRS?.filter((inspectorGHRS) => inspectorGHRS.email !== this.state.inspectorselect);\r\n\t\telse copy.inspectorsNoSaipem = this.state?.inspectorsNoSaipem?.filter((inspectorNS) => inspectorNS.email !== this.state.inspectorselect);\r\n\t\tcopy.modalInspectorsDeleteVisible = false\r\n\t\tthis.setState(copy);\r\n\t};\r\n\r\n\tdeleteInspecteds = () => {\r\n\t\tconst copy = {...this.state}\r\n\t\tconst InspectedsGHRS = this.state?.inspecteds?.find(inspected => inspected.email === this.state.inspectedselect)\r\n\t\tconst inspectedsSaipem = this.state?.inspectedsSaipem?.find(inspected => inspected.email === this.state.inspectedselect)\r\n\t\tif(InspectedsGHRS) copy.inspecteds = this.state?.inspecteds?.filter((inspected) => inspected.email !== this.state.inspectedselect) ;\r\n\t\telse if (inspectedsSaipem) copy.inspectedsSaipem = this.state?.inspectedsSaipem?.filter((inspected) => inspected.email !== this.state.inspectedselect) ;\r\n\t\telse copy.inspectedNoSaipem = this.state?.inspectedNoSaipem?.filter((inspectedNS) => inspectedNS.email !== this.state.inspectedselect);\r\n\t\tcopy.modalInspectedsDeleteVisible = false\r\n\t\tthis.setState(copy);\r\n\t};\r\n\r\n\tgetInspectors = (idWorkSite) => {\r\n\t\tif (idWorkSite == null) return;\r\n\t\tthis.setState({\r\n\t\t\tisLoadingInspectors: true,\r\n\t\t});\r\n\r\n\t\tapi.get(\"inspection/inspectors/\", idWorkSite)\r\n\t\t\t.then((response) => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tlisInspectors: response.data,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INSPECTION, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingInspectors: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t};\r\n\r\n\tmodalNewInspector() {\r\n\t\tconst modalHeader = {\r\n\t\t\ttitle: this.state.isUpdateDocument ? \"Edit Related Document\" : `Add new ${this.state.inspectedInspectorModal.entity}`,\r\n\t\t\ticonDescription: \"Close\",\r\n\t\t\tbuttonOnClick: () => this.showUserModal(),\r\n\t\t};\r\n\t\tconst listInspectors = this.props.worksite ? this.getInspectorFiltered() : [];\r\n\t\tconst selectedItemCombo = {\r\n\t\t\tinspectors: (this.state.lisInspectors || []).find((el) => el.id === this.state?.inspectionModel?.inspectors),\r\n\t\t\tinspectorsws: (listInspectors || []).find((el) => el.id === this.state?.inspectionModel?.inspectors[0]?.id),\r\n\t\t\tselectedUser: (listInspectors || []).find(user => user.id === this.state?.newSaipemUser?.id) || null\r\n\t\t};\r\n\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t false}>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t

    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{this.state.inspectedInspectorModal.entity}*\r\n\t\t\t\t\t\t\t\t\t{this.state.isLoadingInspectors ? (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t (item ? item.email : \"\")}\r\n\t\t\t\t\t\t\t\t\t\t\t// initialSelectedItem={selectedItemCombo.idInspector}\r\n\t\t\t\t\t\t\t\t\t\t\tinitialSelectedItem={selectedItemCombo.selectedUser}\r\n\t\t\t\t\t\t\t\t\t\t\titems={listInspectors}\r\n\t\t\t\t\t\t\t\t\t\t\t// disabled={this.state.inspectionModel.idWorkSite == null || this.state?.inspectors == null || this.state?.inspectors?.length <= 0}\r\n\t\t\t\t\t\t\t\t\t\t\t// invalid={validations.idInspector != null}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\r\n\t\t);\r\n\t}\r\n\r\n\tasync getEmployees() {\r\n\t\ttry {\r\n\t\t\tconst employees = await InspectionRepository.getEmployees();\r\n\t\t\tthis.setState({\r\n\t\t\t\temployees,\r\n\t\t\t});\r\n\t\t} catch (error) {\r\n\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.EMPLOYER, apioperation.GET));\r\n\t\t}\r\n\t}\r\n\r\n\trenderDeleteInspectedsModal = () =>\r\n\t\tthis.state.modalInspectedsDeleteVisible && (\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t

    Delete Team Member

    \r\n\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    Press confirm to remove Inspected from Team Members
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t);\r\n\r\n\trenderDeleteInspectorModal = () =>\r\n\t\tthis.state.modalInspectorsDeleteVisible && (\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t

    Delete Team Member

    \r\n\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    Press confirm to remove Inspected from Team Members
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t);\r\n\r\n\thandleDeleteInspectedsModal = (email) => {\r\n\t\tthis.setState((oldState) => ({\r\n\t\t\tinspectedselect: email,\r\n\t\t\tmodalInspectedsDeleteVisible: !oldState.modalInspectedsDeleteVisible,\r\n\t\t}));\r\n\t}\r\n\r\n\thandleDeleteInspectorModal(email) {\r\n\t\tthis.setState({\r\n\t\t\tinspectorselect: email,\r\n\t\t\tmodalInspectorsDeleteVisible: true,\r\n\t\t});\r\n\t}\r\n\r\n\tcloseModalDeleteInspector() {\r\n\t\tthis.setState({\r\n\t\t\tinspectorselect: null,\r\n\t\t\tmodalInspectorsDeleteVisible: false,\r\n\t\t});\r\n\t}\r\n\r\n\t// setEmployer = (employer) => {\r\n\t// \tif (employer && employer.id) {\r\n\t// \t\tconst oldInspectionDocument = this.state.inspecteds || [];\r\n\r\n\t// \t\tconst exists = oldInspectionDocument.some((v) => v.ghrS_ID === employer.ghrS_ID) || this.state.inspectedNoSaipem.some(x => x.email === employer.email)\r\n\t// \t\tif (!exists) {\r\n\t// \t\t\tconst newinspectioDocument = oldInspectionDocument.concat([employer]);\r\n\t// \t\t\tlet statusCopy = { ...this.state.employermodel };\r\n\t// \t\t\tstatusCopy = newinspectioDocument;\r\n\t// \t\t\tthis.setState({ inspecteds: statusCopy });\r\n\t// \t\t\tthis.setState({ isOpenModalGHRS: false });\r\n\t// \t\t} else {\r\n\t// \t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, \"Inspected already on the list\");\r\n\t// \t\t}\r\n\t// \t}\r\n\t// };\r\n\r\n\tsetEmployer = (employer) => {\r\n\t\tif ( !(employer && employer.id) ) return\r\n\r\n\t\tconst isForInspected = this.state.inspectedInspectorModal.entity === Entity.inspected\r\n\t\tif (isForInspected) this.setInspectedEmployer(employer)\r\n\t\telse this.setInspectorEmployer(employer)\r\n\t};\r\n\r\n\r\n\tsetInspectedEmployer = (employer) => {\r\n\t\tconst oldInspectionDocument = this.state.inspecteds || [];\r\n\t\tconst exists = oldInspectionDocument.some((v) => v.ghrS_ID === employer.ghrS_ID) || this.state.inspectedNoSaipem.some(x => x.email === employer.email)\r\n\t\tif (!exists) {\r\n\t\t\tconst newinspectioDocument = oldInspectionDocument.concat([employer]);\r\n\t\t\tlet statusCopy = { ...this.state.employermodel };\r\n\t\t\tstatusCopy = newinspectioDocument;\r\n\t\t\tthis.setState({ inspecteds: statusCopy });\r\n\t\t\tthis.setState({ isOpenModalGHRS: false });\r\n\t\t} else {\r\n\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, \"Inspected already on the list\");\r\n\t\t}\r\n\t\tthis.setState({ employermodel: null });\r\n\t};\r\n\r\n\tsetInspectorEmployer = (employer) => {\r\n\t\tconst oldInspectionDocument = this.state.inspectorsGHRS || [];\r\n\t\tconst exists = oldInspectionDocument.some((v) => v.ghrS_ID === employer.ghrS_ID) || this.state.inspectorsNoSaipem.some(x => x.email === employer.email) || this.state.inspectorsGHRS.some(x => x.email === employer.email)\r\n\t\tif (!exists) {\r\n\t\t\tconst newinspectioDocument = oldInspectionDocument.concat([employer]);\r\n\t\t\tlet statusCopy = { ...this.state.employermodel };\r\n\t\t\tstatusCopy = newinspectioDocument;\r\n\t\t\tthis.setState({ inspectorsGHRS: statusCopy });\r\n\t\t\tthis.setState({ isOpenModalGHRS: false });\r\n\t\t} else {\r\n\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, \"Inspector already on the list\");\r\n\t\t}\r\n\t\tthis.setState({ employermodel: null });\r\n\t};\r\n\t\r\n\r\n\r\n\taddManualInspectorInspected = () => {\r\n\t\ttry {\r\n\t\t\tif (this.state.noSaipemModel == null) return;\r\n\t\t\tconst isInspected = this.state.inspectedInspectorModal.entity === Entity.inspected\r\n\t\t\tconst newPerson = {...this.state.noSaipemModel};\r\n\t\t\tconst referenceModel = isInspected ? [...this.state.inspectedNoSaipem, ...this.state.inspecteds] : [...this.state.inspectorsNoSaipem, ...this.state.inspectors] \r\n\t\t\tconst exists = referenceModel.some((v) => v.email === newPerson.email);\r\n\t\t\tif (!exists) {\r\n\t\t\t\tnewPerson.id = uuid();\r\n\t\t\t\tnewPerson.role = this.state.inspectedInspectorModal.entity;\r\n\t\t\t\tnewPerson.IdInspection = this.props.inspectionInfo.id;\r\n\t\t\t\tnewPerson.fullname = `${newPerson.name} ${newPerson.surname}`\r\n\t\t\t\tif(isInspected) {\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tinspectedNoSaipem: this.state.inspectedNoSaipem.concat(newPerson),\r\n\t\t\t\t\t\tisOpenManualInput: false,\r\n\t\t\t\t\t\tinspectedInspectorModal: {show: false, entity: null},\r\n\t\t\t\t\t\tnoSaipemModel: null\r\n\t\t\t\t\t}) \r\n\t\t\t\t}else{\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tinspectorsNoSaipem: this.state.inspectorsNoSaipem.concat(newPerson),\r\n\t\t\t\t\t\tisOpenManualInput: false,\r\n\t\t\t\t\t\tinspectedInspectorModal: {show: false, entity: null},\r\n\t\t\t\t\t\tnoSaipemModel: null\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, this.state.inspectedInspectorModal.entity + \" already on the list\");\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INSPECTION, 'addManualInspectorInspected'));\r\n\t\t}\r\n\t};\r\n\r\n\thandleChangeGHRSModal() {\r\n\t\tthis.setState({ isOpenModalGHRS: false });\r\n\t}\r\n\r\n\topenInspectedInspectorModal = (entityType) => {\r\n\t\tthis.setState({ inspectedInspectorModal: {show: true, entity: entityType} });\r\n\t}\r\n\r\n\thandleManualInputChangeModel = (property, value) => {\r\n\t\tconst copy = { ...this.state.noSaipemModel };\r\n\t\tcopy[property] = value;\r\n\t\tthis.setState({ noSaipemModel: copy});\r\n\t};\r\n\r\n\r\n\trenderModal = () => {\r\n\t\t// const onMainChoice = () => {\r\n\t\t// \tif (this.state.inspectedInspectorModal.entity === Entity.inspected) this.setState({inspectedInspectorModal:{show: false, entity: null}, isOpenModalGHRS: true })\r\n\t\t// \telse this.showUserModalInspector()\r\n\t\t// }\r\n\t\tconst onSaipemChoice = () => {\r\n\t\t\tthis.setState({ inspectedInspectorModal: {...this.state.inspectedInspectorModal, show: false} })\r\n\t\t\tthis.showUserModal()\r\n\t\t}\r\n\t\tconst onGHRSChoice = () => this.setState({ inspectedInspectorModal: {...this.state.inspectedInspectorModal, show: false}, isOpenModalGHRS: true })\r\n\t\tconst onManualChoice = () => this.setState({isOpenManualInput: true, inspectedInspectorModal: {...this.state.inspectedInspectorModal, show: false} })\r\n\t\tconst onCloseModal = () => this.setState({ inspectedInspectorModal: {show: false, entity: null} })\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t

    Add New {this.state.inspectedInspectorModal.entity}

    \r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{/* */}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\trenderManualInputModal = () => {\r\n\t\tconst onChange = (e) => {\r\n\t\t\tconst value = e.target.value\r\n\t\t\tconst property = e.target.name\r\n\t\t\tthis.handleManualInputChangeModel(property, value)\r\n\t\t}\r\n\r\n\t\tconst onCancel = () => {\r\n\t\t\tthis.setState({isOpenManualInput: false, noSaipemModel: null})\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t this.setState({ isOpenManualInput: false })}>\r\n\t\t\t\t\t

    Add New {this.state.inspectedInspectorModal.entity}

    \r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tConfirm\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n\r\n\r\n\tvalidateEmail = (email) => {\r\n\t\tif(!email) return false\r\n\t\tconst re = /\\S+@\\S+\\.\\S+/;\r\n\t\treturn re.test(email);\r\n\t}\r\n\r\n \trenderInspecteds = () => {\r\n\t\tconst headers = [\r\n\t\t\t{\r\n\t\t\t\tkey: \"fullname\",\r\n\t\t\t\theader: \"Name\",\r\n\t\t\t\tisSortable: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tkey: \"email\",\r\n\t\t\t\theader: \"Email\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tkey: \"role\",\r\n\t\t\t\theader: \"Position\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tkey: \"company\",\r\n\t\t\t\theader: \"Company\",\r\n\t\t\t},\r\n\t\t];\r\n\t\treturn (\r\n\t\t\t (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    Other personnel involved in the inspection
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{!this.props.editingDisabledCheck && (\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t{this.renderDeleteInspectedsModal()}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{headers.map((header) => (\r\n\t\t\t\t\t\t\t\t\t\t{header.header}\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\tActions\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{rows == null || rows.length === 0 ? (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\trows.map((row) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{row.cells.map((cell) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t{cell.value}\r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{!this.props.editingDisabledCheck && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t))\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t)}\r\n\t\t\t/>\r\n\t\t);\r\n\t};\r\n\r\n\trenderInspector = () => {\r\n\t\tconst skeletonRowCount = 3;\r\n\t\tconst headers = [\r\n\t\t\t{\r\n\t\t\t\tkey: \"name\",\r\n\t\t\t\theader: \"Name\",\r\n\t\t\t\tisSortable: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tkey: \"email\",\r\n\t\t\t\theader: \"Email\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tkey: \"role\",\r\n\t\t\t\theader: \"Position\",\r\n\t\t\t},\r\n\t\t];\r\n\t\treturn this.state.inspectors !== 0 || !this.state.isLoadingInspectors ? (\r\n\t\t\t (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    Inspection Team
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{!this.props.editingDisabledCheck && (\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\tthis.openInspectedInspectorModal(Entity.inspector)}\r\n\t\t\t\t\t\t\t\t\t\t\tkind=\"primary\"\r\n\t\t\t\t\t\t\t\t\t\t\trenderIcon={Add16}\r\n\t\t\t\t\t\t\t\t\t\t\ticonDescription=\"\">\r\n\t\t\t\t\t\t\t\t\t\t\tAdd New Inspector\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t{this.renderDeleteInspectorModal()}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{headers.map((header) => (\r\n\t\t\t\t\t\t\t\t\t\t{header.header}\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\tActions\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{rows == null || rows.length === 0 ? (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\trows.map((row) => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{row.cells.map((cell) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{cell.info.header.includes(\"date\") ? moment(cell.value).format(\"DD/MM/YYYY\") : cell.info.header.includes(\"workSite\") ? cell.value?.name || \"N/A\" : cell.value}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{!this.props.editingDisabledCheck && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{row?.cells[2].value !== \"Team Leader\" ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t))\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t)}\r\n\t\t\t/>\r\n\t\t) : (\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\trender() {\r\n\t\tconst validations = {\r\n\t\t\tname: null,\r\n\t\t\tsurname: null,\r\n\t\t\temail: null,\r\n\t\t\tcompany: null,\r\n\t\t};\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{() => (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{this.modalNewInspector()}\r\n\t\t\t\t\t\t\t{this.renderLoadingModal()}\r\n\r\n\t\t\t\t\t\t\t{/* CR 161 */}\r\n\t\t\t\t\t\t\t{this.renderManualInputModal()}\r\n\t\t\t\t\t\t\t{this.renderModal()}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* CR 161 */}\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t this.getInspectorsInspection()}\r\n\t\t\t\t\t\t\t\t\tonHeadingClick={() => this.closeAccordion()}\r\n\t\t\t\t\t\t\t\t\tid={`AccordionInspectors${this.props.plan}`}\r\n\t\t\t\t\t\t\t\t\tkey={`AccordionInspectors${this.props.plan}`}>\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    {this.renderInspector()}
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t this.getInspectedsInspection()}\r\n\t\t\t\t\t\t\t\t\tonHeadingClick={() => this.closeAccordion()}\r\n\t\t\t\t\t\t\t\t\tid={`AccordionInspecteds${this.props.plan}`}\r\n\t\t\t\t\t\t\t\t\tkey={`AccordionInspecteds${this.props.plan}`}>\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    {this.renderInspecteds()}
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{!this.props.editingDisabledCheck && (\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
    \r\n\t\t);\r\n\t}\r\n}\r\n","/* eslint-disable react/prefer-stateless-function */\r\nimport React, { Component } from 'react';\r\nimport { TextArea, RadioButtonGroup, RadioButton, Button } from 'carbon-components-react';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport PropTypes from 'prop-types';\r\n\r\nexport default class CheckListQuestionAnswer extends Component {\r\n render() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n {this.props.questionCode}\r\n {this.props.isCustom ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n ''\r\n )}\r\n \r\n {this.props.question}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Answer\r\n \r\n this.props.onAnswerChange('No')}\r\n labelText=\"No\"\r\n value=\"No\"\r\n disabled={this.props.disabled}\r\n />\r\n this.props.onAnswerChange('Yes')}\r\n labelText=\"Yes\"\r\n value=\"Yes\"\r\n disabled={this.props.disabled}\r\n />\r\n this.props.onAnswerChange('N/A')}\r\n labelText=\"N.A.\"\r\n value=\"N/A\"\r\n disabled={this.props.disabled}\r\n />\r\n this.props.onAnswerChange('NV')}\r\n labelText=\"Not verified\"\r\n value=\"NV\"\r\n disabled={this.props.disabled}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Notes\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nCheckListQuestionAnswer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n questionCode: PropTypes.string.isRequired,\r\n question: PropTypes.string.isRequired,\r\n answer: PropTypes.string,\r\n note: PropTypes.string,\r\n isCustom: PropTypes.bool,\r\n onAnswerChange: PropTypes.func.isRequired,\r\n onNoteChange: PropTypes.func.isRequired,\r\n onDeleteCustomRequirement: PropTypes.func,\r\n onUpdateCustomRequirement: PropTypes.func,\r\n disabled: PropTypes.bool,\r\n};\r\nCheckListQuestionAnswer.defaultProps = {\r\n answer: null,\r\n note: null,\r\n isCustom: false,\r\n disabled: true,\r\n onDeleteCustomRequirement: () => {},\r\n onUpdateCustomRequirement: () => {},\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport { v4 as uuid } from 'uuid';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { Button, FormGroup, TextInput, Loading, TextArea } from 'carbon-components-react';\r\nimport Close16 from '@carbon/icons-react/lib/close/16';\r\nimport PropTypes from 'prop-types';\r\nimport { api } from '../../../../helpers/api/api';\r\nimport { showNotification } from '../../../../helpers/notification/BaseNotification';\r\nimport {\r\n getError,\r\n entitiesLabels,\r\n} from '../../../../helpers/Constants';\r\n\r\nexport default class CheckListRequirement extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.saveRequirement = this.saveRequirement.bind(this);\r\n this.renderLoadingModal = this.renderLoadingModal.bind(this);\r\n this.onCodeTextChange = this.onCodeTextChange.bind(this);\r\n this.onQuestionTextChange = this.onQuestionTextChange.bind(this);\r\n this.validator = new SimpleReactValidator();\r\n this.state = {\r\n newRequirement: {\r\n id: this.props.Requirement?.id || uuid(),\r\n code: this.props.Requirement?.code || null,\r\n name: this.props.Requirement?.name || null,\r\n createdBy: this.props.Requirement?.createdBy || null,\r\n createdOn: this.props.Requirement?.createdOn || null,\r\n updatedBy: this.props.Requirement?.updatedBy || null,\r\n updatedOn: this.props.Requirement?.updatedOn || null,\r\n description: this.props.Requirement?.description || null,\r\n },\r\n isUpdating: false,\r\n };\r\n }\r\n\r\n onCodeTextChange(event) {\r\n const { value } = event.currentTarget;\r\n // event.preventDefault();\r\n this.setState((prevState) => {\r\n const newRequirement = { ...prevState.newRequirement };\r\n newRequirement.code = value;\r\n return { newRequirement };\r\n });\r\n }\r\n\r\n onQuestionTextChange(event) {\r\n const { value } = event.currentTarget;\r\n // event.preventDefault();\r\n this.setState((prevState) => {\r\n const newRequirement = { ...prevState.newRequirement };\r\n newRequirement.name = value;\r\n return { newRequirement };\r\n });\r\n }\r\n\r\n renderLoadingModal = () => {\r\n const show = this.state.isUpdating;\r\n return show && ;\r\n };\r\n\r\n saveRequirement = async (item) => {\r\n try {\r\n this.setState({ isUpdating: true });\r\n return (await api.post('/inspection/checklistquestion', item)).data;\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, 'Save Inspection', 'ERROR'));\r\n return null;\r\n } finally {\r\n this.setState({ isUpdating: false });\r\n }\r\n };\r\n\r\n updateRequirement = async (item) => {\r\n try {\r\n this.setState({ isUpdating: true });\r\n return (await api.put('/inspection/checklistquestion', item)).data;\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, 'Save Inspection', 'ERROR'));\r\n return null;\r\n } finally {\r\n this.setState({ isUpdating: false });\r\n }\r\n };\r\n\r\n handleSubmit = async (event) => {\r\n event.preventDefault();\r\n if (this.validator.allValid()) {\r\n // NEW\r\n if (!this.props.idCheckListAnswer) {\r\n const newCheckListAnswer = {\r\n id: this.props.idCheckListAnswer || uuid(),\r\n idRequirement: this.state.newRequirement.id,\r\n idInspectionCheckList: this.props.CheckList.id,\r\n idInspectionCheckListTemplateSection: this.props.Section.id,\r\n idInspectionCheckListTemplate: this.props.Template.id,\r\n checkList: this.props.CheckList,\r\n template: this.props.Template,\r\n section: this.props.Section,\r\n requirement: this.state.newRequirement,\r\n };\r\n const newItem = await this.saveRequirement(newCheckListAnswer);\r\n if (newItem) this.props.onSave(newItem);\r\n } else {\r\n const newItem = await this.updateRequirement(this.state.newRequirement);\r\n if (newItem) this.props.onUpdate(newItem);\r\n }\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`,\r\n entitiesLabels.REQUIREMENT + 'r equired fields are missing'\r\n );\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n render() {\r\n const validations = {\r\n code: this.validator.message('code', this.state.newRequirement.code, 'required'),\r\n question: this.validator.message('question', this.state.newRequirement.name, 'required'),\r\n };\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    Requirement Details

    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {validations.code}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n this.onQuestionTextChange(question)}\r\n />\r\n {validations.question}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n {this.renderLoadingModal()}\r\n
    \r\n );\r\n }\r\n}\r\nCheckListRequirement.propTypes = {\r\n onCancel: PropTypes.func.isRequired,\r\n onSave: PropTypes.func,\r\n onUpdate: PropTypes.func,\r\n CheckList: PropTypes.object.isRequired,\r\n Section: PropTypes.object.isRequired,\r\n Template: PropTypes.object.isRequired,\r\n idCheckListAnswer: PropTypes.string,\r\n Requirement: PropTypes.object,\r\n};\r\nCheckListRequirement.defaultProps = {\r\n Requirement: null,\r\n idCheckListAnswer: null,\r\n onUpdate: () => {},\r\n onSave: () => {},\r\n};\r\n","import { DocumentExport16 } from '@carbon/icons-react/lib/';\r\nimport { Button, FormGroup, Loading, TextArea, TextInput } from 'carbon-components-react';\r\nimport React, { Component } from 'react';\r\nimport { Section } from '../../../lib/react-scroll-section/src/index';\r\nimport '../../../scss/custom.scss';\r\nimport FileDownLoadButton from '../../common/FileDownloadButton';\r\nimport { Offline, Online } from '../../common/OnLineOffLine';\r\nimport { getSuccess, getError, entitiesLabels, apioperation } from '../../../helpers/Constants';\r\nimport EmailChips from '../../../helpers/EmailChips';\r\nimport { showNotification } from '../../../helpers/notification/BaseNotification';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport Save16 from '@carbon/icons-react/lib/save/16';\r\nimport Email16 from '@carbon/icons-react/lib/email/16';\r\nimport { api, dynamic } from '../../../helpers/api/api';\r\n\r\nconst validations = {}\r\n\r\nclass InspectionDistribution extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator();\r\n\r\n this.state = {\r\n mailTo: this.props.inspectionModel.mailTo,\r\n mailCc: this.props.inspectionModel.mailCC,\r\n mailSubject: this.props.inspectionModel.mailSubject,\r\n mailBody: this.props.inspectionModel.mailBody,\r\n isDisabled: false,\r\n isLoadingReportFile: false,\r\n id: this.props.inspectionModel.id\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({\r\n mailTo: this.props.inspectionModel.mailTo,\r\n mailCc: this.props.inspectionModel.mailCC,\r\n mailSubject: this.props.inspectionModel.mailSubject,\r\n mailBody: this.props.inspectionModel.mailBody,\r\n isDisabled: false,\r\n isLoadingReportFile: false,\r\n id: this.props.inspectionModel.id\r\n });\r\n this.setMailSubject();\r\n }\r\n\r\n setMailSubject() {\r\n if (!this.state.mailSubject) {\r\n const subject = `Inspection ID ${this.props.inspectionModel.inspectionCode} Report`;\r\n this.setState({mailSubject: subject});\r\n } \r\n }\r\n\r\n updateState = (property, value) => {\r\n let copy = {...this.state[property]};\r\n copy = value\r\n this.setState({[property]: copy})\r\n }\r\n\r\n save = () => {\r\n this.setState({ isLoadingReportFile: true });\r\n if (this.validator.allValid()) {\r\n \r\n let datiForm = this.state;\r\n\r\n api\r\n .put('/inspection/report', datiForm)\r\n .then((response) => {\r\n if (response.status === 200) {\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,\r\n this.props.inspectionModel.inspectionCode != null\r\n ? `${entitiesLabels.INSPECTION} ${entitiesLabels.WITHCODE} ${this.props.inspectionModel.inspectionCode} ${getSuccess('report distribution', apioperation.PUT)}`\r\n : getSuccess(entitiesLabels.INSPECTION, apioperation.POST)\r\n );\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INSPECTION, apioperation.POST));\r\n })\r\n .finally(() => {\r\n this.setState({ isLoadingReportFile: false });\r\n });\r\n //this.props.updateCacheIncidentModel(datiForm, 'tabReport');\r\n //Salvare tutto (forse da prendere tramite props e passargli i dati qui insieriti)\r\n } else {\r\n this.setState({ isLoadingReportFile: false });\r\n showNotification.warning(`${entitiesLabels.WARNING}`, entitiesLabels.INSPECTION + ' required fields are missing');\r\n this.validator.showMessages();\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n send = () => {\r\n this.setState({ isLoadingReportFile: true });\r\n if (this.validator.allValid()) {\r\n this.sendDistribution();\r\n } else {\r\n this.setState({ isLoadingReportFile: false });\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.NOTIFICATION} required fields are missing `\r\n );\r\n this.validator.showMessages();\r\n }\r\n };\r\n\r\n\r\n sendDistribution = () => {\r\n api\r\n .put('/inspection/distribution/send', this.state)\r\n .then((response) => {\r\n if (response.status === 200) {\r\n showNotification.success(`${entitiesLabels.SUCCESS}`, 'Successfully sent');\r\n } else {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError('Unsuccessfully sent', entitiesLabels.INSPECTION, apioperation.POST)\r\n );\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INSPECTION, apioperation.POST));\r\n })\r\n .finally(() => {\r\n this.setState({ isLoadingReportFile: false });\r\n });\r\n };\r\n\r\n getInspectionReportCode(id) {\r\n return \"Inspection_Report_\" + this.props.inspectionModel.inspectionCode+\".pdf\"\r\n }\r\n\r\n render() {\r\n // this.validator.purgeFields();\r\n const validations = {\r\n mailBody: this.validator.message('mailBody', this.state.mailBody, 'required'),\r\n mailSubject: this.validator.message('mailSubject', this.state.mailSubject, 'required'),\r\n mailTo: this.validator.message('mailTo', this.state.mailTo && this.state.mailTo[0] , 'required'),\r\n //mailCc: this.validator.message('mailCc', this.state.mailCc && this.state.mailCc[0], 'required'),\r\n };\r\n \r\n return (\r\n <>\r\n {/* */}\r\n \r\n
    \r\n
    \r\n

    \r\n Report Distribution\r\n

    \r\n \r\n {showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INSPECTION_REPORT, apioperation.DOWNLOAD))}}\r\n size=\"small\"\r\n className=\" selection-items-list-costum bx--data-table-container-absolute \"\r\n renderIcon={DocumentExport16}\r\n iconDescription=\"Download Report\"\r\n title=\"Download Report\"\r\n kind=\"ghost\"\r\n apiUrl={`/inspection/${this.props.inspectionModel.id}/exportreport`}\r\n //fileName={`Inspection_Report_${row.inspectionCode}.pdf`}\r\n fileName={this.getInspectionReportCode(this.props.inspectionModel.id)}\r\n\r\n onDownLoadStart={() => {\r\n this.setState({isLoadingReportFile: true})}}\r\n onDownLoadEnd={() => {\r\n this.setState({isLoadingReportFile: false,});\r\n }}\r\n />\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n this.updateState('mailTo', value)}\r\n disabled={this.state.isDisabled}\r\n title= \"⚠ Do Not use Personal Accounts\"\r\n invalid={validations.mailTo != null}\r\n />\r\n {validations.mailTo}\r\n \r\n
    \r\n\r\n
    \r\n \r\n this.updateState('mailCc', value)}\r\n disabled={this.state.isDisabled}\r\n title=\"⚠ Do Not use Personal Accounts\"\r\n //invalid={validations.mailCc != null}\r\n />\r\n {/*{validations.mailCc}*/}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n this.updateState('mailSubject', el.target.value)}\r\n type=\"text\"\r\n hideLabel={true}\r\n labelText=\"\"\r\n disabled={this.state.isDisabled}\r\n invalid={validations.mailSubject != null}\r\n />\r\n {validations.mailSubject}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n this.updateState('mailBody', el.target.value)}\r\n hideLabel={true}\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={100}\r\n disabled={this.state.isDisabled}\r\n invalid={validations.mailBody != null}\r\n />\r\n {validations.mailBody}\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\nexport default InspectionDistribution;\r\n","/* eslint-disable no-nested-ternary */\r\n/* eslint-disable import/prefer-default-export */\r\nimport React, { Component } from 'react';\r\nimport {\r\n InlineLoading,\r\n FormGroup,\r\n TextArea,\r\n AccordionItem,\r\n Tile,\r\n DatePickerSkeleton,\r\n Accordion,\r\n ComposedModal,\r\n ModalHeader,\r\n ModalBody,\r\n Button,\r\n TableContainer,\r\n Table,\r\n TableBody,\r\n TableHead,\r\n TableHeader,\r\n TableRow,\r\n TableCell,\r\n Form,\r\n FormLabel,\r\n Loading,\r\n TextInput,\r\n ModalFooter,\r\n Tab,\r\n Tabs,\r\n TabsSkeleton,\r\n Toggle, //RITM0937302\r\n} from 'carbon-components-react';\r\nimport {\r\n Information16,\r\n CheckmarkOutline16,\r\n Send16,\r\n Error16,\r\n} from '@carbon/icons-react';\r\nimport moment from 'moment';\r\nimport { Link } from 'react-router-dom';\r\nimport View16 from '@carbon/icons-react/lib/view/16';\r\nimport Save16 from '@carbon/icons-react/lib/save/16';\r\nimport Add16 from '@carbon/icons-react/lib/add/16';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport Attachment16 from '@carbon/icons-react/lib/attachment/16';\r\n\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport { v4 as uuid } from 'uuid';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport FileUpload from '../../common/FileUpload';\r\nimport { ConfirmAlertCustom } from '../../../helpers/ConfirmAlertCustom';\r\nimport { FindGHRSEmployer } from '../../common/FindGHRSEmployer';\r\nimport { NoRecordsPlaceholder } from '../../../helpers/jsonschemaform/DataTableExtention';\r\nimport FindSaipemCompilers from '../../common/FindSaipemCompilers';\r\nimport {\r\n getError,\r\n sizeFormat,\r\n getSuccess,\r\n apioperation,\r\n entitiesLabels,\r\n DateFormat,\r\n STATUS,\r\n} from '../../../helpers/Constants';\r\nimport DateTimePicker from '../../../helpers/DateTimePicker';\r\nimport { me, api, inspection } from '../../../helpers/api/api';\r\nimport PageBreadCrumb, { StatusTag } from '../../../helpers/PageBreadCrumb';\r\n\r\nimport { showNotification } from '../../../helpers/notification/BaseNotification';\r\nimport { InspectionInformation } from './common/InspectionInformation';\r\nimport { InspectionNotification } from './InspectionNotification';\r\nimport { InspectionPersonnel } from './InspectionPersonnel';\r\n\r\nimport CheckListQuestionAnswer from './common/CheckListQuestionAnswer';\r\nimport CheckListRequirement from './common/CheckListRequirement';\r\nimport {\r\n IsEnabled,\r\n IsEditable,\r\n CanExecuteAction,\r\n IsInRole,\r\n} from '../../../helpers/authorization/Policies';\r\nimport { WFActionModal } from '../../common/WFActionModal';\r\nimport { HistoryTable } from '../../../helpers/HistoryTable';\r\nimport { AppContext } from '../../../helpers/context/AppContext';\r\nimport { Online, Offline } from '../../common/OnLineOffLine';\r\nimport FileDownLoadButton from '../../common/FileDownloadButton';\r\nimport InspectionRepository from '../../../helpers/api/InspectionRepository';\r\nimport InspectionDistribution from './InspectionDistribution';\r\n\r\nexport class InspectionReport extends Component {\r\n carModelProps = () => ({\r\n dueDate: null,\r\n id: null,\r\n carOwner: {},\r\n idOwner: null,\r\n idAnswer: null,\r\n detailsOfInefficiency: null,\r\n });\r\n\r\n ownerModelprops = () => ({\r\n fullname: null,\r\n email: null,\r\n });\r\n\r\n constructor(props) {\r\n super(props);\r\n this.validationsNotifications = new SimpleReactValidator();\r\n this.validationsCar = new SimpleReactValidator();\r\n this.updateState = this.updateState.bind(this);\r\n this.updateStateActivity = this.updateStateActivity.bind(this);\r\n this.state = {\r\n inspectionkey: this.props.match.params, // //No GOOD\r\n inspectionModel: {},\r\n\r\n carModel: {\r\n ...this.carModelProps(),\r\n },\r\n ownerModel: {\r\n ...this.ownerModelprops(),\r\n },\r\n idOwnerSaipem: null, // idEmployer: null, //guid\r\n ownerSaipem: {\r\n // employer: {\r\n id: null, // guid\r\n // name: '',\r\n // surname: '',\r\n // email: '',\r\n },\r\n isDeleting: false,\r\n isLoadtemplate: false,\r\n downloading: false,\r\n notificationForm: {},\r\n isSendNotifications: false,\r\n isSaveNotifiication: false,\r\n activities: [],\r\n documents: [],\r\n inspector: [],\r\n isOpenModalGHRS: false, // //No GOOD\r\n // /Status Action\r\n isApprovalModalOpen: false,\r\n approvalModalAction: '',\r\n approver: null,\r\n approvalStartDate: null,\r\n approvalEndDate: null,\r\n isLoadingApproverOptions: true,\r\n approvalValidationMessages: [],\r\n approvers: [],\r\n idToDelete: null,\r\n isSaveCar: false,\r\n selectedData: [],\r\n approverRole: '',\r\n withApprover: true,\r\n isLoadingWFOperation: false,\r\n approvalNotesRequired: false,\r\n // HT\r\n isHistoryModalOpen: false,\r\n editingDisabled: this.state?.inspectionModel?.inspectionReport\r\n ? !IsEditable(\r\n 'Inspection',\r\n 'Reporting',\r\n this.context.user,\r\n this.state?.inspectionModel?.inspectionReport.status.id,\r\n 'All',\r\n this.state?.inspectionModel?.inspectionReport\r\n )\r\n : false,\r\n isDisabledSend: true,\r\n };\r\n this.onAdditionalNoteChange = this.onAdditionalNoteChange.bind(this);\r\n this.onReportSummaryChange = this.onReportSummaryChange.bind(this);\r\n this.onUpload = this.onUpload.bind(this);\r\n this.onUploadAnswer = this.onUploadAnswer.bind(this);\r\n this.downloadAttachment = this.downloadAttachment.bind(this);\r\n this.handleChangeGHRSModal = this.handleChangeGHRSModal.bind(this);\r\n this.setEmployer = this.setEmployer.bind(this);\r\n this.saveCar = this.saveCar.bind(this);\r\n this.newCheckListRequirementAdded = this.newCheckListRequirementAdded.bind(this);\r\n this.getCanEditResource = this.getCanEditResource.bind(this);\r\n this.onDetailsOfInefficiencyChange = this.onDetailsOfInefficiencyChange.bind(this);\r\n this.getAttachmentAnswerUrl = this.getAttachmentAnswerUrl.bind(this);\r\n this.getAttachmentAnswerName = this.getAttachmentAnswerName.bind(this);\r\n this.getAttachmentUrl = this.getAttachmentUrl.bind(this);\r\n this.getAttachmentName = this.getAttachmentName.bind(this);\r\n this.updateMainInformation = this.updateMainInformation.bind(this);\r\n this.mainInfoDateChange = this.mainInfoDateChange.bind(this);\r\n\r\n //RITM0560302 \r\n this.mainInfoProjectAreaChange = this.mainInfoProjectAreaChange.bind(this);\r\n\r\n }\r\n\r\n componentDidMount() {\r\n this.getInspectionEdit(this.state.inspectionkey.id);\r\n this.getInspectorsInspection(this.state.inspectionkey.id);\r\n }\r\n\r\n getInspectionEdit(id) {\r\n this.setState({\r\n isEditModal: true,\r\n isOpenModalInspection: true,\r\n tabsLoading: true,\r\n });\r\n inspection\r\n .get(id)\r\n .then((response) => {\r\n if (response.status === 200) {\r\n this.setState({\r\n inspectionModel: response.data,\r\n notificationForm: response.data.inspectionReport.notificationForm,\r\n activities: response.data.inspectionReport.notificationForm.activities, // //No GOOD\r\n documents: response.data.inspectionReport.notificationForm.documents,\r\n inspector: response.data.inspectors,\r\n idPlan: response.data.id,\r\n isLoadingElement: false,\r\n editingDisabled: !IsEditable(\r\n 'Inspection',\r\n 'Reporting',\r\n this.context.user,\r\n response.data.inspectionReport.status.id,\r\n 'All',\r\n response.data.inspectionReport\r\n ),\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.INSPECTION, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState(\r\n {\r\n isLoadingElement: false,\r\n tabsLoading: false,\r\n },\r\n () => {\r\n // this.getSelectedEntityRoles();\r\n }\r\n );\r\n });\r\n }\r\n\r\n setEmployer = (employer) => {\r\n if (employer && employer.id) {\r\n const statusCopy = { ...this.state };\r\n statusCopy.ownerModel.fullname = employer.fullname;\r\n statusCopy.ownerModel.email = employer.email;\r\n statusCopy.carModel.carOwner = employer;\r\n statusCopy.carModel.idOwner = employer.id;\r\n statusCopy.carModel.owner = employer;\r\n statusCopy.idOwnerSaipem = null;\r\n statusCopy.ownerSaipem = null;\r\n this.setState({ model: statusCopy, mode: 0, owner: employer });\r\n this.setState(statusCopy);\r\n\r\n this.setState({ isOpenModalGHRS: false });\r\n }\r\n };\r\n\r\n setSaipemOwner = (employer) => {\r\n if (employer && employer.id) {\r\n const statusCopy = { ...this.state };\r\n statusCopy.carModel.carOwner = employer;\r\n statusCopy.carModel.idOwnerSaipem = employer.id;\r\n statusCopy.carModel.idOwner = null;\r\n statusCopy.ownerModel.fullname = employer.fullName;\r\n statusCopy.ownerModel.email = employer.email;\r\n statusCopy.ownerSaipem = employer;\r\n statusCopy.idOwner = null;\r\n statusCopy.owner = null;\r\n\r\n this.setState({ model: statusCopy, mode: 0, owner: employer });\r\n }\r\n };\r\n\r\n showModalCar = (idAnswer, requirement, sectionCode) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy.carModel.id = uuid();\r\n statusCopy.carModel.idInspection = this.state.inspectionkey.id;\r\n statusCopy.carModel.idInspectionReport = this.state.inspectionModel.idInspectionReport;\r\n statusCopy.carModel.idAnswer = idAnswer;\r\n statusCopy.carModel.section = sectionCode;\r\n statusCopy.carModel.requirement = requirement;\r\n statusCopy.isOpenModalCar = true;\r\n statusCopy.carModel.detailsOfInefficiency = '';\r\n this.setState(statusCopy);\r\n };\r\n\r\n showModalUpdateCar = (car) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy.carModel.id = car.id;\r\n statusCopy.carModel.idInspection = car.idInspection;\r\n statusCopy.carModel.idInspectionReport = car.idInspectionReport;\r\n statusCopy.carModel.idAnswer = car.idAnswer;\r\n statusCopy.carModel.dueDate = moment(car.dueDate).format('YYYY-MM-DD');\r\n statusCopy.carModel.detailsOfInefficiency = car.detailsOfInefficiency;\r\n statusCopy.carModel.section = car.section;\r\n statusCopy.carModel.requirement = car.requirement;\r\n statusCopy.carModel.idOwner = car.idOwner;\r\n statusCopy.carModel.idOwnerSaipem = car.idOwnerSaipem;\r\n statusCopy.ownerModel.email = car.owner ? car.owner.email : car.ownerSaipem.email;\r\n statusCopy.ownerModel.fullname = car.owner ? car.owner.name : car.ownerSaipem.name;\r\n statusCopy.isOpenModalCar = true;\r\n statusCopy.isUpdateDocument = true;\r\n\r\n this.setState(statusCopy);\r\n };\r\n\r\n saveCar = () => {\r\n if (this.validationsCar.allValid()) {\r\n this.setState({\r\n isSaveCar: true,\r\n });\r\n const car = this.state.carModel;\r\n if (!this.state.isUpdateDocument) {\r\n var idInspection = this.state.inspectionkey.id;\r\n var { idAnswer } = this.state.carModel;\r\n if (idAnswer == null || idInspection == null) return;\r\n this.setState({\r\n carModel: {\r\n ...this.state.carModel,\r\n idAnswer,\r\n },\r\n });\r\n }\r\n\r\n const method = this.state.isUpdateDocument\r\n ? api.put(\r\n `inspection/${this.state.carModel.idInspection}/answer/${this.state.carModel.idAnswer}/car/${this.state.carModel.id}`,\r\n this.state.carModel\r\n )\r\n : api.post(`inspection/${idInspection}/answer/${idAnswer}/car`, this.state.carModel);\r\n\r\n method\r\n .then((response) => {\r\n if (response.status === 200) {\r\n if (!this.state.isUpdateDocument) {\r\n car.idStatus = 1;\r\n if (!car.status) {\r\n car.status = {\r\n id: 1,\r\n caManagementName: 'Draft',\r\n carManagementName: 'Assigned',\r\n carSimplifiedName: 'Opened',\r\n name: 'Draft',\r\n planningName: 'Draft',\r\n reportingName: 'Opened',\r\n };\r\n }\r\n }\r\n if (car.idOwnerSaipem != null) {\r\n car.ownerSaipem = car.carOwner;\r\n }\r\n InspectionRepository.updateCachedCarList(car);\r\n if (!this.state.isUpdateDocument) {\r\n const { answers } = this.state.inspectionModel.inspectionReport.checkList;\r\n\r\n const index = answers.findIndex((qa) => qa.id === idAnswer);\r\n\r\n answers[index].car = response.data.inspectionCar || car;\r\n this.setState((prevState) => {\r\n const state = { ...prevState };\r\n state.inspectionModel.inspectionReport.checkList.answers = answers;\r\n return state;\r\n });\r\n this.closemodalCar();\r\n } else {\r\n const { answers } = this.state.inspectionModel.inspectionReport.checkList;\r\n\r\n const index = answers.findIndex((qa) => qa.id === this.state.carModel.idAnswer);\r\n\r\n answers[index].car = response.data;\r\n this.setState((prevState) => {\r\n const state = { ...prevState };\r\n state.inspectionModel.inspectionReport.checkList.answers = answers;\r\n return state;\r\n });\r\n this.closemodalCar();\r\n }\r\n this.closemodalCar();\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,getSuccess(entitiesLabels.CAR, apioperation.POST));\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.INSPECTION, apioperation.POST));\r\n })\r\n .finally(() => {\r\n this.closemodalCar();\r\n this.setState(\r\n {\r\n isSaveCar: false,\r\n },\r\n () => {\r\n // this.getSelectedEntityRoles();\r\n }\r\n );\r\n });\r\n } else {\r\n this.validationsCar.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.INSPECTION_REPORT} required fields are missing `\r\n );\r\n\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n closemodalCar = () => {\r\n this.setState({\r\n carModel: {\r\n ...this.carModelProps(),\r\n },\r\n ownerModel: {\r\n ...this.ownerModelprops(),\r\n },\r\n isUpdateDocument: false,\r\n isOpenModalCar: false,\r\n });\r\n this.validationsCar = new SimpleReactValidator();\r\n };\r\n\r\n showGHRS = () => {\r\n const statusCopy = { ...this.state };\r\n statusCopy.isOpenModalGHRS = true;\r\n this.setState(statusCopy);\r\n };\r\n\r\n handleChangeGHRSModal() {\r\n const statusCopy = { ...this.state };\r\n statusCopy.isOpenModalGHRS = false;\r\n this.setState(statusCopy);\r\n }\r\n handleChangeMode = (m) => {\r\n this.setState({ mode: m });\r\n };\r\n updateStateDPCAR = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy.carModel.dueDate = inputValue;\r\n this.setState(statusCopy);\r\n };\r\n\r\n getCanEditResource = () => {\r\n const canEditResource = this.state.inspectionModel &&\r\n this.state.inspectionModel.inspectionReport && {\r\n idCompiler: this.state.inspectionModel.inspectionReport.idCompiler,\r\n };\r\n return canEditResource;\r\n };\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy.inspectionModel.inspectionReport.notificationForm.documents = inputValue;\r\n statusCopy.documents = inputValue;\r\n this.setState(statusCopy);\r\n };\r\n\r\n updateStateActivity = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy.inspectionModel.inspectionReport.notificationForm.activities = inputValue;\r\n statusCopy.activities = inputValue;\r\n this.setState(statusCopy);\r\n };\r\n\r\n updateStateInspectors = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy.inspectionModel.inspectors = inputValue;\r\n statusCopy.inspector = inputValue;\r\n this.setState(statusCopy);\r\n };\r\n\r\n updateCheckList = async () => {\r\n try {\r\n this.setState({ isSubmitted: true });\r\n await api.put('/inspection/checklist', this.state.inspectionModel);\r\n InspectionRepository.updateCachedInspectionList(this.state.inspectionModel);\r\n InspectionRepository.updateCachedInspection(this.state.inspectionModel);\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,getSuccess(entitiesLabels.INSPECTION, apioperation.PUT));\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(entitiesLabels.INSPECTION, apioperation.PUT));\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n };\r\n\r\n showRequirment = () => {\r\n this.setState({\r\n isLoadtemplate: true,\r\n });\r\n };\r\n\r\n getTemplate = () => {\r\n const result = [];\r\n const map = new Map();\r\n this.state.inspectionModel.inspectionReport.checkList.answers.map((item) => {\r\n if (!map.has(item.idInspectionCheckListTemplate)) {\r\n map.set(item.idInspectionCheckListTemplate, true);\r\n //result.push(item.template);\r\n result.push({...item.template, active: item.active}); //RITM0937302\r\n }\r\n });\r\n return result;\r\n };\r\n\r\n //RITM0937302 - Inspection Module Toggle\r\n toggleActiveTemplateQuestions = (idCheckListTemplate) => {\r\n const updatedAnswer =this.state.inspectionModel.inspectionReport.checkList.answers.map((answer) => {\r\n if(answer.idInspectionCheckListTemplate === idCheckListTemplate) return {...answer, active: !answer.active}\r\n return {...answer}\r\n })\r\n const copyOfInspection = {...this.state.inspectionModel}\r\n copyOfInspection.inspectionReport.checkList.answers = updatedAnswer\r\n this.setState({ inspectionModel: copyOfInspection })\r\n }\r\n //End\r\n\r\n getSections = (idTemplate) => {\r\n const result = [];\r\n const map = new Map();\r\n this.state.inspectionModel.inspectionReport.checkList.answers.map((item) => {\r\n if (\r\n item.idInspectionCheckListTemplate === idTemplate &&\r\n !map.has(item.idInspectionCheckListTemplateSection)\r\n ) {\r\n map.set(item.idInspectionCheckListTemplateSection, true);\r\n result.push(item.section);\r\n }\r\n });\r\n return result.sort((a, b) => a.ranking - b.ranking);\r\n };\r\n\r\n getQuestionAnswer = (idSection) => {\r\n const result = [];\r\n this.state.inspectionModel.inspectionReport.checkList.answers.map((item) => {\r\n if (\r\n item.idInspectionCheckListTemplateSection === idSection &&\r\n item.question &&\r\n item.requirement == null\r\n )\r\n result.push(item);\r\n });\r\n\r\n var reA = /[^a-zA-Z]/g;\r\n var reN = /[^0-9]/g;\r\n\r\n return result.sort((a, b) => {\r\n var aA = a.question.code.toUpperCase().replace(reA, '');\r\n var bA = b.question.code.toUpperCase().replace(reA, '');\r\n if (aA === bA) {\r\n var aN = parseInt(a.question.code.toUpperCase().replace(reN, ''), 10);\r\n var bN = parseInt(b.question.code.toUpperCase().replace(reN, ''), 10);\r\n return aN === bN ? 0 : aN > bN ? 1 : -1;\r\n } else {\r\n return aA > bA ? 1 : -1;\r\n }\r\n });\r\n\r\n /* return result.sort((a, b) => {\r\n const codeA = a.question.code.toUpperCase();\r\n const codeB = b.question.code.toUpperCase();\r\n return codeA < codeB ? -1 : codeA > codeB ? 1 : 1;\r\n });*/\r\n };\r\n\r\n getRequirementAnswer = (idSection) => {\r\n const result = [];\r\n this.state.inspectionModel.inspectionReport.checkList.answers.map((item) => {\r\n if (item.idInspectionCheckListTemplateSection === idSection && item.requirement)\r\n result.push(item);\r\n });\r\n return result.sort((a, b) => {\r\n const codeA = a.requirement.code.toUpperCase();\r\n const codeB = b.requirement.code.toUpperCase();\r\n return codeA < codeB ? -1 : codeA > codeB ? 1 : 0;\r\n });\r\n };\r\n\r\n onAnswerChange = (id, answer) => {\r\n const { answers } = this.state.inspectionModel.inspectionReport.checkList;\r\n const index = answers.findIndex((qa) => qa.id === id);\r\n if (answers[index].answer !== answer) answers[index].answer = answer;\r\n else answers[index].answer = null;\r\n this.setState((prevState) => {\r\n const inspectionReportModel = { ...prevState.inspectionModel.inspectionReport };\r\n inspectionReportModel.checkList.answers = answers;\r\n return { inspectionReportModel };\r\n });\r\n };\r\n\r\n onNoteChange(id, note) {\r\n note.preventDefault();\r\n const { answers } = this.state.inspectionModel.inspectionReport.checkList;\r\n const index = answers.findIndex((qa) => qa.id === id);\r\n answers[index].notes = note.target.value;\r\n this.setState((prevState) => {\r\n const inspectionReportModel = { ...prevState.inspectionModel.inspectionReport };\r\n inspectionReportModel.checkList.answers = answers;\r\n return { inspectionReportModel };\r\n });\r\n }\r\n\r\n getInspectorsInspection(id) {\r\n api\r\n .getAll(`inspection/report/${id}/inspectors`)\r\n .then((response) => {\r\n this.setState({\r\n inspectionsinspector: response.data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.INSPECTION, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingInspectors: false,\r\n });\r\n });\r\n }\r\n\r\n\r\n updateMainInformation = () => {\r\n try {\r\n //if (this.validationsNotifications.allValid()) {\r\n this.setState({ isSubmitted: true, editingDisabled: true });\r\n api.put('/inspection/maininformation', this.state.inspectionModel);\r\n\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,getSuccess(entitiesLabels.INSPECTION, apioperation.PUT));\r\n //} else {\r\n // this.validationsNotifications.showMessages();\r\n // showNotification.warning(\r\n // `Warning: ${entitiesLabels.NOTIFICATION} required fields are missing `\r\n // );\r\n\r\n // this.forceUpdate();\r\n //}\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(entitiesLabels.INSPECTION, apioperation.PUT));\r\n } finally {\r\n this.setState({ isSubmitted: false, editingDisabled: false });\r\n }\r\n };\r\n\r\n mainInfoDateChange = () => {\r\n this.setState({ notifKey: Math.random() });\r\n };\r\n\r\n //RITM0560302\r\n mainInfoProjectAreaChange = (value) => {\r\n this.setState({ inspectionModel:{...this.state.inspectionModel, projectArea: value} });\r\n };\r\n\r\n saveNotificationForm = (notificationform) => {\r\n this.setState({\r\n isSaveNotifiication: true,\r\n });\r\n this.updateMainInformation();\r\n const { documents } = this.state;\r\n const { activities } = this.state;\r\n const datiForm = {\r\n id: this.state.inspectionModel.inspectionReport.notificationForm.id,\r\n distributionList: notificationform.distributionList,\r\n responsibleEmail: notificationform.responsibleEmail,\r\n //RITM0960566 - Inspection Report Problem Fix\r\n sendedOn: this.state.inspectionModel.inspectionReport.notificationForm.sendedOn,\r\n sendedBy: this.state.inspectionModel.inspectionReport.notificationForm.sendedBy,\r\n //End\r\n documents,\r\n activities,\r\n };\r\n api\r\n .put('/inspection/notification', datiForm)\r\n .then((response) => {\r\n if (response.status === 200) {\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,'Successfully saved');\r\n InspectionRepository.updateCachedInspectionList(this.state.inspectionModel);\r\n InspectionRepository.updateCachedInspection(this.state.inspectionModel);\r\n this.getInspectionEdit(this.state.inspectionkey.id);\r\n } else {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError('Unsuccessfully saved', entitiesLabels.INSPECTION, apioperation.POST)\r\n );\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.INSPECTION, apioperation.POST));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isSubmitted: false,\r\n isSaveNotifiication: false,\r\n isDisabledSend: false,\r\n });\r\n });\r\n //} else {\r\n // this.validationsActivity.showMessages();\r\n // showNotification.warning(\r\n // `Warning: ${entitiesLabels.NOTIFICATION} required fields are missing `\r\n // );\r\n\r\n // this.forceUpdate();\r\n //}\r\n };\r\n\r\n sendNotification = (notificationform) => {\r\n this.setState({\r\n isSaveNotifiication: true,\r\n });\r\n const { documents } = this.state;\r\n const { activities } = this.state;\r\n const datiForm = {\r\n id: this.state.inspectionModel.inspectionReport.notificationForm.id,\r\n distributionList: notificationform.distributionList,\r\n responsibleEmail: notificationform.responsibleEmail,\r\n documents,\r\n activities,\r\n };\r\n\r\n api\r\n .put('/inspection/notification/send', datiForm)\r\n .then(async (response) => {\r\n if (response.status === 200) {\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,'Successfully sent');\r\n InspectionRepository.updateCachedInspectionList(this.state.inspectionModel);\r\n await InspectionRepository.updateCachedInspection(this.state.inspectionModel);\r\n this.getInspectionEdit(this.state.inspectionkey.id);\r\n } else {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError('Unsuccessfully sent', entitiesLabels.INSPECTION, apioperation.POST)\r\n );\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.INSPECTION, apioperation.POST));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isSubmitted: false,\r\n isSaveNotifiication: false,\r\n isDisabledSend: true,\r\n });\r\n });\r\n };\r\n\r\n addDocument = (document) => {\r\n try {\r\n const oldInspectionDocument = this.state.documents || [];\r\n\r\n if (document.id != null) {\r\n // edit\r\n const { id } = document;\r\n const indexElement = oldInspectionDocument.findIndex((el) => el.id === id);\r\n if (indexElement > -1) {\r\n const newincidentEvents = [...oldInspectionDocument];\r\n newincidentEvents[indexElement] = document;\r\n this.updateState('incidentEventsw', newincidentEvents, 'incidentModel34t5');\r\n } else {\r\n showNotification.error();\r\n }\r\n } else {\r\n // insert\r\n\r\n document.id = uuid(); // id IncidentEvent\r\n const newinspectioDocument = oldInspectionDocument.concat([document]);\r\n this.updateState('documents', newinspectioDocument, 'inspectionModel');\r\n }\r\n\r\n this.setState({ isOpenModal: false });\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(entitiesLabels.INSPECTION, 'addDocument'));\r\n }\r\n };\r\n\r\n deleteDocument = (id) => {\r\n const documentsList = this.state.documents.filter((document) => document.id !== id);\r\n this.setState({\r\n documents: documentsList,\r\n });\r\n };\r\n\r\n addActivity = (activity) => {\r\n try {\r\n if (activity == null) return;\r\n\r\n const oldInspectionActivitys = this.state.activities || [];\r\n\r\n if (activity.id != null) {\r\n // edit\r\n const { id } = activity;\r\n const indexElement = oldInspectionActivitys.findIndex((el) => el.id === id); // //No GOOD\r\n if (indexElement > -1) {\r\n const newinspectioActivity = [...oldInspectionActivitys];\r\n newinspectioActivity[indexElement] = activity;\r\n this.updateStateActivity('activities', newinspectioActivity, 'inspectionModel');\r\n } else {\r\n showNotification.error();\r\n }\r\n } else {\r\n // insert\r\n activity.id = uuid(); // id IncidentEvent\r\n const newinspectioActivity = oldInspectionActivitys.concat([activity]);\r\n this.updateStateActivity('activities', newinspectioActivity, 'inspectionModel');\r\n }\r\n\r\n this.setState({ isOpenModal: false });\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(entitiesLabels.INSPECTION, 'addActivity'));\r\n }\r\n };\r\n\r\n deleteActivity = (id) => {\r\n const activitiesList = this.state.activities.filter((activity) => activity.id !== id);\r\n this.setState({\r\n activities: activitiesList,\r\n });\r\n };\r\n\r\n deleteInspector = (id) => {\r\n const inspectorList = this.state.inspector.filter((inspector) => inspector.id !== id);\r\n this.setState({\r\n inspector: inspectorList,\r\n });\r\n };\r\n\r\n onReportSummaryChange(event) {\r\n const { value } = event.currentTarget;\r\n this.setState((prevState) => {\r\n const inspection = { ...prevState.inspectionModel };\r\n inspection.inspectionReport.reportSummary = value;\r\n return { inspection };\r\n });\r\n }\r\n\r\n onAdditionalNoteChange(event) {\r\n const { value } = event.currentTarget;\r\n this.setState((prevState) => {\r\n const inspection = { ...prevState.inspectionModel };\r\n inspection.inspectionReport.additionalNotes = value;\r\n return { inspection };\r\n });\r\n }\r\n\r\n updateConsideration = async () => {\r\n this.setState({\r\n isSaveNotifiication: true,\r\n });\r\n try {\r\n this.setState({ isSubmitted: true });\r\n await api.put('/inspection/consideration', this.state.inspectionModel);\r\n InspectionRepository.updateCachedInspectionList(this.state.inspectionModel);\r\n InspectionRepository.updateCachedInspection(this.state.inspectionModel);\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,getSuccess(entitiesLabels.INSPECTION, apioperation.PUT));\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(entitiesLabels.INSPECTION, apioperation.PUT));\r\n } finally {\r\n this.setState({ isSubmitted: false, isSaveNotifiication: false });\r\n }\r\n };\r\n\r\n async onUpload(fileIdentifier, fileName, fileType, size) {\r\n const newAttach = {\r\n id: uuid(),\r\n fileIdentifier: fileIdentifier.blobName,\r\n name: fileName,\r\n contentType: fileType,\r\n size,\r\n };\r\n try {\r\n this.setState({ isSubmitted: true });\r\n await api.post(\r\n `/inspection/${this.state.inspectionModel.inspectionReport.id}/attachment`,\r\n newAttach\r\n );\r\n // showNotification.success(getSuccess(entitiesLabels.INSPECTION, apioperation.POST));\r\n const attach = { id: newAttach.id, idAttachment: newAttach.id, attachment: newAttach };\r\n return this.setState(async (prevState) => {\r\n const { inspectionReport } = prevState.inspectionModel;\r\n inspectionReport.attachments.push(attach);\r\n await InspectionRepository.updateCachedInspection(prevState.inspectionModel);\r\n return { inspectionReport };\r\n });\r\n } catch (error) {\r\n return showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.INSPECTION, apioperation.POST));\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n }\r\n\r\n async onUploadAnswer(fileIdentifier, fileName, fileType, size) {\r\n const newAttach = {\r\n id: uuid(),\r\n fileIdentifier: fileIdentifier.blobName,\r\n name: fileName,\r\n contentType: fileType,\r\n size,\r\n };\r\n // const answer = this.state.inspectionModel.inspectionReport.checkList.answers.find(\r\n // (item) => item.attachments.count !== 0 && item.id === this.state.idAnswerAttachment\r\n // );\r\n try {\r\n this.setState({ isSubmitted: true });\r\n await api.post(\r\n `/inspection/${this.state.inspectionModel.inspectionReport.id}/answer/${this.state.idAnswerAttachment}/attachment`,\r\n newAttach\r\n );\r\n const attach = { id: newAttach.id, idAttachment: newAttach.id, attachment: newAttach, idInspectionCheckListAnswer : this.state.idAnswerAttachment};\r\n return this.setState(async (prevState) => {\r\n const { inspectionReport } = prevState.inspectionModel;\r\n const answer = inspectionReport.checkList.answers.find(\r\n (item) => item.id === this.state.idAnswerAttachment\r\n );\r\n answer.attachments.push(attach);\r\n await InspectionRepository.updateCachedInspection(prevState.inspectionModel);\r\n return { inspectionReport };\r\n });\r\n } catch (error) {\r\n return showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.INSPECTION, apioperation.POST));\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n }\r\n\r\n downloadAttachment = async (id) => {\r\n // const { attachments } = this.state.audit.attachments;\r\n const index = this.state.inspectionModel.inspectionReport.attachments.findIndex(\r\n (a) => a.id === id\r\n );\r\n let file;\r\n try {\r\n this.setState({ downloading: id });\r\n const fileA = this.state.inspectionModel.inspectionReport.attachments[index].attachment;\r\n file = (\r\n await api.getAll(\r\n `/inspection/${this.state.inspectionModel.id}/attachment/${fileA.fileIdentifier}`\r\n )\r\n ).data;\r\n this.downloadFile(file, fileA.name, fileA.contentType);\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.FileUpload, apioperation.GET));\r\n } finally {\r\n this.setState({ downloading: null });\r\n }\r\n return file;\r\n };\r\n\r\n getAttachmentUrl = (id) => {\r\n const index = this.state.inspectionModel.inspectionReport.attachments.findIndex(\r\n (a) => a.id === id\r\n );\r\n const fileA = this.state.inspectionModel.inspectionReport.attachments[index].attachment;\r\n return `/inspection/${this.state.inspectionModel.id}/attachment/${fileA.fileIdentifier}`;\r\n };\r\n\r\n getAttachmentName = (id) => {\r\n const index = this.state.inspectionModel.inspectionReport.attachments.findIndex(\r\n (a) => a.id === id\r\n );\r\n const fileA = this.state.inspectionModel.inspectionReport.attachments[index].attachment;\r\n return fileA.name;\r\n };\r\n\r\n // eslint-disable-next-line class-methods-use-this\r\n downloadFile(fileBytes, fileName, type) {\r\n const blob = new Blob([fileBytes, { type }]);\r\n if (navigator.msSaveBlob) {\r\n // IE 10+\r\n navigator.msSaveBlob(blob, fileName);\r\n } else {\r\n const link = document.createElement('a');\r\n // Browsers that support HTML5 download attribute\r\n if (link.download !== undefined) {\r\n const url = URL.createObjectURL(blob);\r\n link.setAttribute('href', url);\r\n link.setAttribute('download', fileName);\r\n link.style.visibility = 'hidden';\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n }\r\n }\r\n\r\n async onDeleteAttachment(Id) {\r\n const selectedItem = this.state.inspectionModel.inspectionReport.attachments.find(\r\n (item) => item.id === Id\r\n );\r\n\r\n try {\r\n this.setState({ isSubmitted: true });\r\n const { fileIdentifier } = selectedItem.attachment;\r\n\r\n await inspection.deleteAttach(\r\n `/inspection/${this.state.inspectionModel.inspectionReport.id}/attachment/${fileIdentifier} `\r\n );\r\n\r\n const index = this.state.inspectionModel.inspectionReport.attachments.indexOf(selectedItem);\r\n\r\n if (index > -1) {\r\n this.state.inspectionModel.inspectionReport.attachments.splice(index, 1);\r\n }\r\n } catch (error) {\r\n return showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.INSPECTION, apioperation.POST));\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n }\r\n\r\n async onDeleteAttachmentAnswer(Id) {\r\n const answer = this.state.inspectionModel.inspectionReport.checkList.answers.find(\r\n (item) => item.attachments.count !== 0 && item.id === this.state.idAnswerAttachment\r\n );\r\n const selectedItem = answer.attachments.find((item) => item.id === Id);\r\n try {\r\n this.setState({ isSubmitted: true });\r\n const { fileIdentifier } = selectedItem.attachment;\r\n\r\n await inspection.deleteAttach(\r\n `/inspection/${this.state.inspectionModel.inspectionReport.id}/answer/${this.state.idAnswerAttachment}/attachment/${fileIdentifier} `\r\n );\r\n const index = answer.attachments.indexOf(selectedItem);\r\n if (index > -1) {\r\n answer.attachments.splice(index, 1);\r\n }\r\n } catch (error) {\r\n return showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.INSPECTION, apioperation.POST));\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n }\r\n\r\n getAttachmentAnswerUrl = (id) => {\r\n const answer = this.state.inspectionModel.inspectionReport.checkList.answers.find(\r\n (item) => item.attachments.count !== 0 && item.id === this.state.idAnswerAttachment\r\n );\r\n const index = answer.attachments.findIndex((a) => a.id === id);\r\n const fileA = answer.attachments[index].attachment;\r\n return `/inspection/${this.state.inspectionModel.id}/answer/${this.state.idAnswerAttachment}/attachment/${fileA.fileIdentifier}`;\r\n };\r\n\r\n getAttachmentAnswerName = (id) => {\r\n const answer = this.state.inspectionModel.inspectionReport.checkList.answers.find(\r\n (item) => item.attachments.count !== 0 && item.id === this.state.idAnswerAttachment\r\n );\r\n const index = answer.attachments.findIndex((a) => a.id === id);\r\n const fileA = answer.attachments[index].attachment;\r\n return fileA.name;\r\n };\r\n\r\n downloadAttachmentAnswer = async (id) => {\r\n const answer = this.state.inspectionModel.inspectionReport.checkList.answers.find(\r\n (item) => item.attachments.count != 0 && item.id === this.state.idAnswerAttachment\r\n );\r\n const index = answer.attachments.findIndex((a) => a.id === id);\r\n let file;\r\n try {\r\n this.setState({ downloading: id });\r\n const fileA = answer.attachments[index].attachment;\r\n file = (\r\n await api.getAll(\r\n `/inspection/${this.state.inspectionModel.id}/answer/${this.state.idAnswerAttachment}/attachment/${fileA.fileIdentifier}`\r\n )\r\n ).data;\r\n this.downloadFile(file, fileA.name, fileA.contentType);\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.FileUpload, apioperation.GET));\r\n } finally {\r\n this.setState({ downloading: null });\r\n }\r\n return file;\r\n };\r\n\r\n // /Requirement\r\n showAddRequirement = (Template, Section) => {\r\n this.setState((oldState) => ({\r\n modalAddRequirementVisible: !oldState.modalAddRequirementVisible,\r\n addRequirementTemplate: Template,\r\n addRequirementSection: Section,\r\n }));\r\n };\r\n\r\n showDeleteRequirement(id) {\r\n this.setState((oldState) => ({\r\n modalDeleteRequirementVisible: !oldState.modalDeleteRequirementVisible,\r\n requirementToDelete: id,\r\n }));\r\n }\r\n\r\n showModifyRequirement = (idCheckListAnswer, requirement) => {\r\n this.setState((oldState) => ({\r\n modalUpdateRequirementVisible: !oldState.modalUpdateRequirementVisible,\r\n requirementToModify: requirement,\r\n checkListRequirementToModify: idCheckListAnswer,\r\n }));\r\n };\r\n\r\n checkListRequirementUpdated = (item) => {\r\n const { answers } = this.state.inspectionModel.inspectionReport.checkList;\r\n const index = answers.findIndex((qa) => qa.requirement?.id === item?.id);\r\n answers[index].requirement = item;\r\n this.setState((prevState) => {\r\n const state = { ...prevState };\r\n state.modalUpdateRequirementVisible = !prevState.modalUpdateRequirementVisible;\r\n state.isSubmitted = false;\r\n state.inspectionModel.inspectionReport.checkList.answers = answers;\r\n InspectionRepository.updateCachedInspection(state.inspectionModel);\r\n return state;\r\n });\r\n };\r\n\r\n newCheckListRequirementAdded = (item) => {\r\n const { answers } = this.state.inspectionModel.inspectionReport.checkList;\r\n let count = 0;\r\n for (let answer in answers) {\r\n if ((answer = !null)) ++count;\r\n }\r\n //answers[count] = item;\r\n answers[count] = {...item, active:true}; //RITM0937302\r\n this.setState((prevState) => {\r\n const state = { ...prevState };\r\n state.modalAddRequirementVisible = !prevState.modalAddRequirementVisible;\r\n state.isSubmitted = false;\r\n state.inspectionModel.inspectionReport.checkList.answers = answers;\r\n InspectionRepository.updateCachedInspection(state.inspectionModel);\r\n return state;\r\n });\r\n };\r\n\r\n handleRequirementDeleteCancel = () => {\r\n this.setState((oldState) => ({\r\n modalDeleteRequirementVisible: !oldState.modalDeleteRequirementVisible,\r\n requirementToDelete: null,\r\n }));\r\n };\r\n\r\n handleRequirementDelete = async () => {\r\n try {\r\n this.setState({ isSubmitted: true, isDeletingReq: true });\r\n await api.delete('/inspection/checklistquestion/', this.state.requirementToDelete);\r\n const { answers } = this.state.inspectionModel.inspectionReport.checkList;\r\n\r\n const index = answers.findIndex(\r\n (qa) => qa.requirement?.id === this.state.requirementToDelete\r\n );\r\n answers.splice(index, 1);\r\n this.setState((prevState) => {\r\n const inspection = { ...prevState.inspectionModel.inspectionReport };\r\n inspection.checkList.answers = answers;\r\n return { inspection };\r\n });\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,getSuccess(entitiesLabels.REQUIREMENT, apioperation.DELETE));\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(entitiesLabels.REQUIREMENT, apioperation.DELETE));\r\n throw error;\r\n } finally {\r\n this.setState((oldState) => ({\r\n isSubmitted: false,\r\n modalDeleteRequirementVisible: !oldState.modalDeleteRequirementVisible,\r\n requirementToDelete: null,\r\n isDeletingReq: false,\r\n }));\r\n }\r\n };\r\n\r\n renderRequirementDeleteModal = () => {\r\n const modalHeader = {\r\n title: 'Delete Custom Requirement',\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.handleRequirementDeleteCancel(),\r\n };\r\n return (\r\n this.state.modalDeleteRequirementVisible && (\r\n {\r\n this.handleRequirementDeleteCancel();\r\n }}\r\n >\r\n \r\n

    \r\n \r\n {this.state.isDeletingReq ? : ''}\r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n Press confirm to delete selected custom requirement\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n );\r\n };\r\n\r\n // getCar(qa) { \r\n getCar(qa, item) { //RITM0937302\r\n const confirmDelProps = () => ({\r\n idToDelete: this.state.idToDelete,\r\n nameItem: 'CAR',\r\n isDeleting: this.state.isDeleting,\r\n open: this.state.isOpenDeleteModal, // open state\r\n onCloseConfirm: this.onCloseConfirm, // no click\r\n deleteItem: () => this.onDeleteCar(this.state.idAnswerToDelete, this.state.idToDelete), // yes click fn()\r\n });\r\n\r\n return (\r\n <>\r\n {!qa.car ? (\r\n \r\n this.showModalCar(qa.id, qa.question?.code, `${qa.section?.code} ${qa.section?.name}`)\r\n }\r\n >\r\n Associate CAR\r\n \r\n ) : (\r\n <>\r\n \r\n\r\n
    \r\n
    {qa.car.inspectionCARCode}
    \r\n\r\n {IsEditable(\r\n 'Inspection',\r\n 'CARSimplified',\r\n this.context.user,\r\n qa.car.idStatus,\r\n 'DueDate',\r\n this.getCanEditResource()\r\n ) && this.IsRowSelectable() && item.active ? ( //RITM0937302\r\n <>\r\n this.showModalUpdateCar(qa.car)}\r\n kind=\"ghost\"\r\n className=\"checklist-custom-content-detail\"\r\n disabled={this.props.disabled}\r\n />\r\n \r\n this.confirmDeleteCAR(qa.car.id, qa.car.idAnswer)}\r\n kind=\"ghost\"\r\n className=\"checklist-custom-content-info \"\r\n disabled={this.props.disabled}\r\n />\r\n \r\n \r\n ) : null}\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n onCloseConfirm = () => {\r\n this.setState({\r\n isOpenDeleteModal: false,\r\n });\r\n };\r\n\r\n confirmDeleteCAR = (id, idAnswer) => {\r\n this.setState({\r\n idAnswerToDelete: idAnswer,\r\n idToDelete: id,\r\n isOpenDeleteModal: true,\r\n isDeleting: false,\r\n });\r\n };\r\n\r\n onDeleteCar = (idAnswer, id) => {\r\n this.setState({\r\n isDeleting: true,\r\n });\r\n api\r\n .delete(`/inspection/${this.props.match.params.id}/answer/${idAnswer}/car/${id}`, '')\r\n .then((response) => {\r\n if (response.status === 200) {\r\n const id = this.state.inspectionKey;\r\n\r\n const { answers } = this.state.inspectionModel.inspectionReport.checkList;\r\n\r\n const index = answers.findIndex((qa) => qa.id === idAnswer);\r\n\r\n answers[index].car = null;\r\n this.onCloseConfirm();\r\n this.setState((prevState) => {\r\n const state = { ...prevState };\r\n state.inspectionModel.inspectionReport.checkList.answers = answers;\r\n // this.repository.updateCachedAudit(this.state.inspectionModel); TODO\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,getSuccess(entitiesLabels.CAR, apioperation.DELETE));\r\n return state;\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.INSPECTION, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isDeleting: false,\r\n });\r\n });\r\n };\r\n\r\n showModalAttachment = (id) => {\r\n this.setState({\r\n idAnswerAttachment: id,\r\n isOpenModalAttachment: true,\r\n });\r\n };\r\n\r\n closeModalAttachment = () => {\r\n this.setState({\r\n isOpenModalAttachment: false,\r\n });\r\n };\r\n\r\n modalAttachment() {\r\n const modalHeader = {\r\n title: 'Attachments',\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.closeModalAttachment(),\r\n };\r\n\r\n return (\r\n
    \r\n false}>\r\n \r\n

    \r\n \r\n \r\n {!this.state.editingDisabled && (\r\n

    \r\n \r\n
    \r\n )}\r\n \r\n \r\n \r\n \r\n Name\r\n Size\r\n Actions\r\n \r\n \r\n \r\n {this.state.inspectionModel?.inspectionReport?.checkList?.answers?.map((answer) =>\r\n answer.attachments != [] && answer.id === this.state.idAnswerAttachment ? (\r\n answer.attachments < 1 ? (\r\n \r\n ) : (\r\n answer.attachments.map((item) => (\r\n \r\n \r\n {item?.attachment?.name}\r\n \r\n \r\n {sizeFormat(item?.attachment?.size)}\r\n \r\n \r\n {this.state.downloading === item.id ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n \r\n {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(\r\n error,\r\n entitiesLabels.FileUpload,\r\n apioperation.GET\r\n )\r\n );\r\n }}\r\n onDownLoadStart={() =>\r\n this.setState({ downloading: item.id })\r\n }\r\n onDownLoadEnd={() => this.setState({ downloading: null })}\r\n apiUrl={this.getAttachmentAnswerUrl(item.id)}\r\n fileName={this.getAttachmentAnswerName(item.id)}\r\n size=\"small\"\r\n renderIcon={View16}\r\n iconDescription=\"Download\"\r\n kind=\"ghost\"\r\n // disabled={this.state.editingDisabled}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {!this.state.editingDisabled && (\r\n this.onDeleteAttachmentAnswer(item.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n disabled={this.state.editingDisabled}\r\n />\r\n )}\r\n \r\n \r\n \r\n \r\n
    \r\n )}\r\n \r\n
    \r\n ))\r\n )\r\n ) : (\r\n ''\r\n )\r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n onDetailsOfInefficiencyChange(event) {\r\n const { value } = event.currentTarget;\r\n this.setState({\r\n carModel: {\r\n ...this.state.carModel,\r\n detailsOfInefficiency: value,\r\n },\r\n });\r\n }\r\n\r\n modalCar() {\r\n var diffduedate = false;\r\n if (this.state.carModel.dueDate != null) {\r\n diffduedate =\r\n !this.state.carModel.dueDate ||\r\n moment(this.state.carModel.dueDate).isSameOrAfter(\r\n moment(this.state.inspectionReport?.notificationForm?.startDate),\r\n 'day'\r\n );\r\n } else {\r\n diffduedate = true;\r\n }\r\n const modalHeader = {\r\n title: this.state.isUpdateDocument ? 'Edit Car' : 'Add new CAR/CA',\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.closemodalCar(),\r\n };\r\n const validationCar = {\r\n detailsOfInefficiency: this.validationsCar.message(\r\n 'Details of inefficiency',\r\n this.state.carModel.detailsOfInefficiency,\r\n 'required'\r\n ),\r\n dueDate: this.validationsCar.message('DueDate', this.state.carModel.dueDate, 'required'),\r\n email: this.validationsCar.message('Car Owner', this.state.ownerModel.email, 'required'),\r\n duedate: this.validationsCar.message('Due Date ', diffduedate, 'accepted'),\r\n };\r\n return this.state.mode === 2 ? (\r\n this.handleChangeMode(0)}\r\n onOk={this.setSaipemOwner}\r\n />\r\n ) : (\r\n
    \r\n {!this.state.isOpenModalGHRS ? (\r\n false}>\r\n \r\n

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

    \r\n
    \r\n {this.state.isSaveCar && }\r\n\r\n
    \r\n {this.state.isLoadingElement ? : ''}\r\n
    \r\n \r\n Due Date*\r\n {this.state.isLoadingDate ? (\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n {validationCar.dueDate}\r\n {validationCar.duedate ? (\r\n
    \r\n {' '}\r\n Event date less than the expiration date{' '}\r\n
    \r\n ) : null}\r\n
    \r\n\r\n \r\n
    \r\n this.showGHRS()}\r\n >\r\n GHRS research\r\n \r\n
    \r\n this.handleChangeMode(2)}\r\n >\r\n Saipem research\r\n \r\n
    \r\n
    \r\n {validationCar.email}\r\n
    \r\n\r\n \r\n Owner Full Name*\r\n \r\n \r\n \r\n Owner Email*\r\n \r\n \r\n\r\n \r\n \r\n \r\n {validationCar.detailsOfInefficiency}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n );\r\n }\r\n\r\n renderTabs = () => (\r\n <>\r\n \r\n
    \r\n \r\n {this.state.inspectionModel && this.state.inspectionModel.inspectionReport && (\r\n this.closeModalHistory()}\r\n />\r\n )}\r\n {this.modalCar()}\r\n {this.modalAttachment()}\r\n {this.renderRequirementDeleteModal()}\r\n {this.state.modalAddRequirementVisible ? (\r\n \r\n ) : null}\r\n {this.state.modalUpdateRequirementVisible ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {this.state.tabsLoading ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n {}}\r\n role=\"navigation\"\r\n selected={0}\r\n tabContentClassName=\"auditReportTab\"\r\n triggerHref=\"#\"\r\n type=\"default\"\r\n >\r\n {}}\r\n onKeyDown={() => {}}\r\n role=\"presentation\"\r\n selected={false}\r\n tabIndex={0}\r\n >\r\n \r\n \r\n {}}\r\n onKeyDown={() => {}}\r\n role=\"presentation\"\r\n selected={false}\r\n tabIndex={0}\r\n disabled={!this.state.notificationForm.sendedOn}\r\n >\r\n \r\n \r\n this.showRequirment()}\r\n onKeyDown={() => {}}\r\n role=\"presentation\"\r\n selected={false}\r\n tabIndex={0}\r\n disabled={!this.state.notificationForm.sendedOn}\r\n >\r\n {this.state.isSubmitted && }\r\n
    \r\n
    \r\n
    Requirements
    \r\n
    \r\n {!this.state.editingDisabled && (\r\n
    \r\n \r\n Save\r\n \r\n
    \r\n )}\r\n
    \r\n\r\n {this.state.isLoadtemplate ? (\r\n \r\n {this.getTemplate().map((item) => (\r\n {}}\r\n onKeyDown={() => {}}\r\n role=\"presentation\"\r\n selected={false}\r\n tabIndex={0}\r\n id={item.id}\r\n key={item.id}\r\n >\r\n
    \r\n \r\n {/* RITM0937302 */}\r\n
    \r\n
    \r\n this.toggleActiveTemplateQuestions(item.id)}\r\n className=\"toggle-bg-orange mb-20px\"\r\n labelText=\"Template Enabled\"\r\n aria-label=\"\"\r\n disabled={this.state.editingDisabled}\r\n id={`toggle-1 - ${item.id}`}\r\n />\r\n
    \r\n
    \r\n {this.getSections(item.id).map((section) => (\r\n \r\n
    \r\n {!this.state.editingDisabled && (\r\n
    \r\n this.showAddRequirement(item, section)}\r\n >\r\n Add Requirement\r\n \r\n
    \r\n )}\r\n
    \r\n {this.getQuestionAnswer(section.id).map((qa) => (\r\n
    \r\n \r\n this.onAnswerChange(qa.id, answer)\r\n }\r\n onNoteChange={(note) => this.onNoteChange(qa.id, note)}\r\n />\r\n
    \r\n
    \r\n {/* RITM0937302 */}\r\n {/* {this.getCar(qa)} */}\r\n {this.getCar(qa, item)}\r\n\r\n this.showModalAttachment(qa.id)}\r\n disabled={this.state.editingDisabled || !item.active} //RITM0937302\r\n >\r\n Attachments\r\n \r\n
    \r\n {qa.attachments.length > 0 ? (\r\n \r\n Attachments: {qa.attachments.length}\r\n \r\n ) : (\r\n ''\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n ))}\r\n\r\n {this.getRequirementAnswer(section.id).map((qa) => (\r\n
    \r\n \r\n this.onAnswerChange(qa.id, answer)\r\n }\r\n isCustom\r\n onDeleteCustomRequirement={() =>\r\n this.showDeleteRequirement(qa.requirement.id)\r\n }\r\n onUpdateCustomRequirement={() =>\r\n this.showModifyRequirement(qa.id, qa.requirement)\r\n }\r\n onNoteChange={(note) => this.onNoteChange(qa.id, note)}\r\n disabled={this.state.editingDisabled || !item.active} //RITM0937302\r\n />\r\n
    \r\n
    \r\n {/* RITM0937302 */}\r\n {/* {this.getCar(qa)} */}\r\n {this.getCar(qa, item)}\r\n this.showModalAttachment(qa.id)}\r\n disabled={this.state.editingDisabled || !item.active} //RITM0937302\r\n >\r\n Attachments\r\n \r\n
    \r\n {qa.attachments ? (\r\n qa.attachments.length > 0 ? (\r\n \r\n Attachments: {qa.attachments.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\n \r\n ))}\r\n
    \r\n
    \r\n \r\n ))}\r\n
    \r\n ) : null}\r\n \r\n {}}\r\n onKeyDown={() => {}}\r\n role=\"presentation\"\r\n selected={false}\r\n tabIndex={0}\r\n disabled={!this.state.notificationForm.sendedOn}\r\n >\r\n
    \r\n {this.state.isSaveNotifiication ? : ''}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {!this.state.editingDisabled && (\r\n
    \r\n \r\n Save\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n {!this.state.editingDisabled && (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Name\r\n Size\r\n Actions\r\n \r\n \r\n \r\n {this.state.inspectionModel?.inspectionReport?.attachments < 1 ? (\r\n \r\n ) : (\r\n this.state.inspectionModel?.inspectionReport?.attachments?.map(\r\n (item) => (\r\n \r\n \r\n {item?.attachment?.name}\r\n \r\n \r\n {sizeFormat(item?.attachment?.size)}\r\n \r\n \r\n {this.state.downloading === item.id ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n \r\n {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(\r\n error,\r\n entitiesLabels.FileUpload,\r\n apioperation.GET\r\n )\r\n );\r\n }}\r\n onDownLoadStart={() =>\r\n this.setState({ downloading: item.id })\r\n }\r\n onDownLoadEnd={() =>\r\n this.setState({ downloading: null })\r\n }\r\n apiUrl={this.getAttachmentUrl(item.id)}\r\n fileName={this.getAttachmentName(item.id)}\r\n size=\"small\"\r\n renderIcon={View16}\r\n iconDescription=\"Download\"\r\n kind=\"ghost\"\r\n // disabled={this.state.editingDisabled}\r\n />\r\n \r\n \r\n \r\n \r\n {/* this.downloadAttachment(item.id)}\r\n size=\"small\"\r\n renderIcon={View16}\r\n iconDescription=\"Download\"\r\n kind=\"ghost\"\r\n disabled={this.state.editingDisabled}\r\n /> */}\r\n {(IsInRole(this.context.user, 'Administrator') ||\r\n IsInRole(this.context.user, 'Compiler')) && (\r\n <>\r\n \r\n this.onDeleteAttachment(item.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n disabled={this.state.editingDisabled}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
    \r\n )}\r\n \r\n
    \r\n )\r\n )\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n this.props.history.push(`/inspection/${this.props.match.params.id}/car`);\r\n }}\r\n selected={false}\r\n tabIndex={0}\r\n />\r\n { }}\r\n selected={false}\r\n tabIndex={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 // WF\r\n getStatusActions = (user) => {\r\n if (!this.IsRowSelectable()) return null;\r\n\r\n return (\r\n \r\n <>\r\n {CanExecuteAction(\r\n 'Inspection',\r\n 'Reporting',\r\n user,\r\n this.state.inspectionModel.inspectionReport.idStatus,\r\n 'Submit',\r\n //RITM0577262\r\n this.state.inspectionModel.inspectionReport\r\n ) ? (\r\n \r\n this.batchActionClick('submitreport', 'Submit', 'Data Approver', true, false, null)\r\n }\r\n >\r\n Submit Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Inspection',\r\n 'Reporting',\r\n user,\r\n this.state.inspectionModel.inspectionReport.idStatus,\r\n 'Approve',\r\n //RITM0577262\r\n this.state.inspectionModel.inspectionReport\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'approvereport',\r\n 'Approve',\r\n null, /*RUOLI_APPROVATIVI_DEV_255_RITM0565449*/\r\n false, /*RUOLI_APPROVATIVI_DEV_255_RITM0565449*/\r\n false,\r\n null\r\n )\r\n }\r\n >\r\n Approve Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Inspection',\r\n 'Reporting',\r\n user,\r\n this.state.inspectionModel.inspectionReport.idStatus,\r\n 'Consolidate',\r\n //RITM0577262\r\n this.state.inspectionModel.inspectionReport\r\n ) ? (\r\n \r\n this.batchActionClick('consolidatereport', 'Consolidate', null, false, false, null)\r\n }\r\n >\r\n Consolidate Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Inspection',\r\n 'Reporting',\r\n user,\r\n this.state.inspectionModel.inspectionReport.idStatus,\r\n 'Reject',\r\n //RITM0577262\r\n this.state.inspectionModel.inspectionReport\r\n ) ? (\r\n \r\n this.batchActionClick('rejectreport', 'Reject', null, false, true, null)\r\n }\r\n >\r\n Reject Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Inspection',\r\n 'Reporting',\r\n user,\r\n this.state.inspectionModel.inspectionReport.idStatus,\r\n 'RejectConsolidate',\r\n //RITM0577262\r\n this.state.inspectionModel.inspectionReport\r\n ) ? (\r\n \r\n this.batchActionClick('rejectconsolidatereport', 'Reject', null, false, true, null)\r\n }\r\n >\r\n Reject Report\r\n \r\n ) : null}\r\n \r\n \r\n );\r\n };\r\n\r\n batchActionClick(\r\n actionKey,\r\n actionName,\r\n approverRole,\r\n withApprover,\r\n approvalNotesRequired,\r\n selectedRows\r\n ) {\r\n const idEntity = this.state.inspectionModel.idDivision;\r\n\r\n this.setState({\r\n approvalModalAction: actionName,\r\n isApprovalModalOpen: true,\r\n isLoadingApproverOptions: true,\r\n withApprover,\r\n selectedData: selectedRows,\r\n approverRole,\r\n approvalEndpoint: actionKey,\r\n approvalNotesRequired,\r\n });\r\n\r\n if (withApprover) this.getUsersInRole(approverRole, idEntity);\r\n }\r\n\r\n IsRowSelectable() {\r\n const inspectionItem = this.state.inspectionModel;\r\n if (\r\n inspectionItem == null ||\r\n inspectionItem.inspectionReport == null ||\r\n inspectionItem.inspectionReport.idStatus === STATUS.Consolidated\r\n ) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n handleApproverSelect = (selectedItem) => {\r\n this.setState({ approver: selectedItem });\r\n };\r\n\r\n handleCloseApprovalModal = () => {\r\n this.setState({ isApprovalModalOpen: false }, this.clearApprovalForm);\r\n };\r\n\r\n handleApprovalNotesChange = (e) => {\r\n this.setState({ approvalNotes: e.target.value });\r\n };\r\n\r\n handleConfirmApprovalModal = () => {\r\n const apiEndpoint = this.state.approvalEndpoint;\r\n\r\n const data = {\r\n ids: [this.state.inspectionModel.id],\r\n owner: this.state.approver,\r\n workflowNotes: this.state.approvalNotes,\r\n };\r\n\r\n this.setState({\r\n isLoadingWFOperation: true,\r\n });\r\n api\r\n .put(`/inspection/${apiEndpoint}`, data, '')\r\n .then((response) => {\r\n if (response.status === 200) {\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,getSuccess(entitiesLabels.INSPECTION, apioperation.PUT));\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n isApprovalModalOpen: false,\r\n tabsLoading: true,\r\n });\r\n\r\n // this.props.history.push('/');\r\n } else {\r\n showNotification.error();\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.INSPECTION, apioperation.PUT));\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n })\r\n .finally(() => {\r\n this.setState(\r\n {\r\n tabsLoading: false,\r\n },\r\n this.getInspectionEdit(this.state.inspectionkey.id)\r\n );\r\n });\r\n };\r\n\r\n getUsersInRole = (role, idEntity) => {\r\n me.getWithParam('users', {\r\n params: { Role: role, IdEntity: idEntity, includeAdmins: true },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n approvers: response.data,\r\n isLoadingApproverOptions: false,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.ROLE, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingApproverOptions: false,\r\n });\r\n });\r\n };\r\n\r\n showButtonHistory = () => (\r\n this.openModalHistory()}\r\n >\r\n History\r\n \r\n );\r\n\r\n openModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: true });\r\n };\r\n\r\n closeModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: false });\r\n };\r\n\r\n render() {\r\n return this.state.inspectionModel ? (\r\n \r\n {({ user }) => (IsEnabled(user, 'Inspection') ? this.renderTabs(user) : '')}\r\n \r\n ) : (\r\n <>\r\n );\r\n }\r\n}\r\nInspectionReport.contextType = AppContext;\r\n","/* eslint-disable import/prefer-default-export */\r\n/* eslint-disable react/sort-comp */\r\nimport React, { Component } from 'react';\r\nimport {\r\n ModalBody,\r\n ModalFooter,\r\n ModalHeader,\r\n Form,\r\n Loading,\r\n FormGroup,\r\n ComposedModal,\r\n DatePickerSkeleton,\r\n TextArea,\r\n Button,\r\n Pagination,\r\n DataTable,\r\n DataTableSkeleton,\r\n Table,\r\n TableHeader,\r\n TableHead,\r\n TableRow,\r\n TableContainer,\r\n TableBody,\r\n TableCell,\r\n TextInput,\r\n FormLabel,\r\n} from 'carbon-components-react';\r\nimport moment from 'moment';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport View16 from '@carbon/icons-react/lib/view--filled/16';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport Add16 from '@carbon/icons-react/lib/add/16';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { Link } from 'react-router-dom';\r\nimport {\r\n RenderDataTableCell,\r\n NoRecordsPlaceholder,\r\n} from '../../../helpers/jsonschemaform/DataTableExtention';\r\nimport { FindGHRSEmployer } from '../../common/FindGHRSEmployer';\r\nimport PageBreadCrumb from '../../../helpers/PageBreadCrumb';\r\nimport { CanExecuteAction, IsInRole, IsEditable } from '../../../helpers/authorization/Policies';\r\nimport { showNotification } from '../../../helpers/notification/BaseNotification';\r\nimport {\r\n DateFormat,\r\n entitiesLabels,\r\n getError,\r\n apioperation,\r\n getSuccess,\r\n} from '../../../helpers/Constants';\r\nimport DateTimePicker from '../../../helpers/DateTimePicker';\r\nimport { me, api, dynamic, inspection } from '../../../helpers/api/api';\r\nimport { AppContext } from '../../../helpers/context/AppContext';\r\nimport InspectionRepository from '../../../helpers/api/InspectionRepository';\r\nimport { Online, Offline } from '../../common/OnLineOffLine';\r\nimport FindSaipemCompilers from '../../common/FindSaipemCompilers';\r\n\r\nexport class InspectionCarList extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator();\r\n this.state = {\r\n isOpenModalGHRS: false,\r\n inspectionKey: this.props.match.params.id,\r\n inspectionCode: null,\r\n inspectionCarModel: null,\r\n inspectionModel: {},\r\n carList: [],\r\n // modale update\r\n mode: 0,\r\n isOpenModalCar: false,\r\n isLoadingElement: false,\r\n isLoadingDate: false,\r\n\r\n currentPage: 1,\r\n pageSize: 10,\r\n rowCount: 0,\r\n };\r\n this.baseUrl = `/inspection/${this.state.inspectionKey}`;\r\n\r\n this.handleChangeGHRSModal = this.handleChangeGHRSModal.bind(this);\r\n this.setEmployer = this.setEmployer.bind(this);\r\n this.getIsEditable = this.getIsEditable.bind(this);\r\n this.getCanEditResource = this.getCanEditResource.bind(this);\r\n this.onDetailsOfInefficiencyChange = this.onDetailsOfInefficiencyChange.bind(this);\r\n }\r\n\r\n baseUrl;\r\n\r\n componentDidMount() {\r\n this.getCarList(this.state.inspectionKey);\r\n }\r\n\r\n handleCarDeleteCancel = () => {\r\n this.setState({\r\n isOpenDeleteModal: false,\r\n });\r\n };\r\n\r\n getCarList(id) {\r\n this.setState({\r\n isLoadCar: true,\r\n });\r\n let data = {\r\n params: {\r\n page: this.state.currentPage,\r\n pageSize: this.state.pageSize,\r\n },\r\n };\r\n api\r\n .getWithParam(`inspection/${id}/car`, data)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n let data = response.data;\r\n if (data) {\r\n this.setState({\r\n carList: response.data.inspectionCAR.itemList,\r\n inspectionModel: response.data.inspection,\r\n inspectionCode: response.data.inspectionCode,\r\n page: data.inspectionCAR.currentPage,\r\n pageSize: data.inspectionCAR.pageSize,\r\n pageCount: data.inspectionCAR.pageCount,\r\n rowCount: data.inspectionCAR.rowCount,\r\n });\r\n }\r\n \r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.CAR, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadCar: false,\r\n isLoadingElement: false,\r\n });\r\n });\r\n }\r\n handleChangePaging = async (page) => {\r\n await new Promise((resolve) => {\r\n this.setState({ currentPage: page.page, pageSize: page.pageSize, loading: true , isBack:false}, resolve);\r\n });\r\n this.getCarList(this.state.inspectionKey);\r\n };\r\n updateCAR() {\r\n const car = this.state.inspectionCarModel;\r\n if (car.id == null) return;\r\n const url = this.getUrlDetailCar(car.id);\r\n api\r\n .put(url, car, '')\r\n .then((response) => {\r\n if (response.status == 200) {\r\n InspectionRepository.updateCachedCarList(car);\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,getSuccess(entitiesLabels.CAR, apioperation.PUT));\r\n const id = this.state.inspectionKey;\r\n this.getCarList(id);\r\n this.closemodalCar();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.CAR, apioperation.PUT));\r\n })\r\n .finally(() => {});\r\n }\r\n\r\n confirmDeleteCAR = (id) => {\r\n this.setState({\r\n idToDelete: id,\r\n isOpenDeleteModal: true,\r\n isDeleting: false,\r\n });\r\n };\r\n\r\n confirmDeleteCar = () => {\r\n const modalHeader = {\r\n title: 'Delete Car',\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.handleCarDeleteCancel(),\r\n };\r\n\r\n return (\r\n this.state.isOpenDeleteModal && (\r\n this.handleCarDeleteCancel()}\r\n >\r\n \r\n

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

    \r\n
    \r\n
    \r\n
    Press confirm to delete car selected
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n );\r\n };\r\n\r\n deleteCAR() {\r\n const item = this.state.carList.find((el) => el.id == this.state.idToDelete);\r\n const url = `${this.baseUrl}/answer/${item.idAnswer}/car/${item.id}`;\r\n api\r\n .delete(url, '')\r\n .then((response) => {\r\n if (response.status == 200) {\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,getSuccess(entitiesLabels.CAR, apioperation.DELETE));\r\n const id = this.state.inspectionKey;\r\n this.getCarList(id);\r\n this.setState({\r\n isOpenDeleteModal: false,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.CAR, apioperation.DELETE));\r\n })\r\n .finally(() => {});\r\n }\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n this.setState(statusCopy);\r\n };\r\n\r\n getUrlDetailCar = (id) => {\r\n if (id == null) return '#';\r\n const item = this.state.carList.find((el) => el.id == id);\r\n return `${this.baseUrl}/answer/${item.idAnswer}/car/${id}`;\r\n };\r\n\r\n getStatusId = (idRow) => {\r\n const r = this.state.carList.find((el) => el.id == idRow);\r\n return r && r.idStatus;\r\n };\r\n\r\n getCanEditResource = (selectedRows) => {\r\n const canEditResource = this.state.inspectionModel &&\r\n this.state.inspectionModel.inspectionReport && {\r\n idCompiler: this.state.inspectionModel.inspectionReport.idCompiler,\r\n };\r\n\r\n return canEditResource;\r\n };\r\n\r\n getIsEditable(id) {\r\n const r = this.state.carList.find((el) => el.id == id);\r\n const reportStatus = r.inspectionReport.idStatus;\r\n if (reportStatus < 4) return true;\r\n\r\n return false;\r\n }\r\n\r\n render() {\r\n const headers = [\r\n { key: 'inspectionCARCode', header: 'Code' },\r\n { key: 'section', header: 'Section Code' },\r\n { key: 'requirement', header: 'Requirement Code' },\r\n { key: 'owner', header: 'Owner' },\r\n { key: 'duedate', header: 'Due Date', type: 'date' },\r\n { key: 'status', header: 'Status', type: 'status' },\r\n ];\r\n const skeletonRowCount = 3;\r\n\r\n const rows = [];\r\n\r\n if (this.state.carList) {\r\n const cars = this.state.carList.sort((a, b) => {\r\n const sequenceA = new Date(a.sequence);\r\n const sequenceB = new Date(b.sequence);\r\n return sequenceA - sequenceB;\r\n });\r\n cars.forEach((item) => {\r\n rows.push({\r\n id: item.id,\r\n idanswer: item.idAnswer,\r\n inspectionCARCode: item.inspectionCARCode,\r\n section: item.section,\r\n requirement: item.requirement,\r\n status: item.status.carSimplifiedName,\r\n owner:\r\n item.owner != null\r\n ? `${item.owner.name} ${item.owner.surname}`\r\n : item.ownerSaipem != null\r\n ? `${item.ownerSaipem.name} ${item.ownerSaipem.surname}`\r\n : '',\r\n duedate: item.dueDate,\r\n });\r\n });\r\n }\r\n const paginationProps = () => ({\r\n page: this.state.currentPage || 1,\r\n totalItems: this.state.rowCount || 0,\r\n pageSize: this.state.pageSize || 10,\r\n pageSizes: [10, 20, 30, 40, 50],\r\n onChange: this.handleChangePaging,\r\n });\r\n return (\r\n \r\n {({ user }) => (\r\n <>\r\n \r\n
    \r\n {this.modalCar()}\r\n {this.confirmDeleteCar()}\r\n {this.state.isLoadCar ? (\r\n \r\n ) : (\r\n (\r\n \r\n \r\n \r\n \r\n {headers.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {rows == null || rows.length == 0 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n {row.cells.map((cell) => (\r\n x.key === cell.info.header)}\r\n />\r\n ))}\r\n\r\n \r\n
    \r\n {IsEditable(\r\n 'Inspection',\r\n 'CARSimplified',\r\n user,\r\n this.getStatusId(row.id),\r\n 'DueDate',\r\n this.getCanEditResource(null)\r\n ) && this.getIsEditable(row.id) ? (\r\n <>\r\n this.getCAR(this.getUrlDetailCar(row.id))}\r\n size=\"small\"\r\n renderIcon={Edit16}\r\n iconDescription=\"Edit\"\r\n kind=\"ghost\"\r\n />\r\n \r\n this.confirmDeleteCAR(row.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\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\n ))\r\n )}\r\n
    \r\n
    \r\n
    \r\n )}\r\n />\r\n \r\n )}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n )}\r\n
    \r\n );\r\n }\r\n\r\n setEmployer = (employer) => {\r\n if (employer && employer.id) {\r\n const statusCopy = { ...this.state.inspectionCarModel };\r\n statusCopy.idOwner = employer.id;\r\n statusCopy.owner = employer;\r\n statusCopy.idOwnerSaipem = null;\r\n statusCopy.ownerSaipem = null;\r\n this.setState({ inspectionCarModel: statusCopy, mode: 0 });\r\n }\r\n };\r\n\r\n setSaipemOwner = (employer) => {\r\n if (employer && employer.id) {\r\n const statusCopy = { ...this.state.inspectionCarModel };\r\n statusCopy.idOwnerSaipem = employer.id;\r\n statusCopy.ownerSaipem = employer;\r\n statusCopy.idOwner = null;\r\n statusCopy.owner = null;\r\n\r\n this.setState({ inspectionCarModel: statusCopy, mode: 0 });\r\n }\r\n };\r\n\r\n showGHRS = () => {\r\n this.setState({ mode: 1 });\r\n };\r\n\r\n handleChangeGHRSModal() {\r\n this.setState({ mode: 0 });\r\n }\r\n\r\n handleChangeMode = (m) => {\r\n this.setState({ mode: m });\r\n };\r\n\r\n closemodalCar = () => {\r\n this.setState({ isOpenModalCar: false });\r\n };\r\n\r\n getCAR = (url) => {\r\n this.setState({\r\n isLoading: true,\r\n });\r\n api\r\n .get(url, '')\r\n .then((response) => {\r\n const { data } = response;\r\n if (data) {\r\n this.setState({\r\n inspectionCarModel: data,\r\n isOpenModalCar: true,\r\n });\r\n } else {\r\n showNotification.error(`${entitiesLabels.ERROR}`,'CAR not found');\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.CAR, apioperation.GET));\r\n this.props.history.push(this.baseUrl);\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoading: false,\r\n });\r\n });\r\n };\r\n\r\n updateStateDPCAR = (inputName, inputValue, objName) => {\r\n this.setState({\r\n inspectionCarModel: {\r\n ...this.state.inspectionCarModel,\r\n dueDate: inputValue,\r\n },\r\n });\r\n };\r\n\r\n onDetailsOfInefficiencyChange(event) {\r\n const { value } = event.currentTarget;\r\n this.setState({\r\n inspectionCarModel: {\r\n ...this.state.inspectionCarModel,\r\n detailsOfInefficiency: value,\r\n },\r\n });\r\n }\r\n\r\n modalCar() {\r\n const modalHeader = {\r\n title: `Edit Inspection Car: ${this.state?.inspectionCarModel?.inspectionCARCode}`,\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.closemodalCar(),\r\n };\r\n if (this.state.mode === 1) {\r\n return (\r\n this.handleChangeMode(0)}\r\n onOk={this.setEmployer}\r\n />\r\n );\r\n }\r\n if (this.state.mode === 2) {\r\n return (\r\n this.handleChangeMode(0)}\r\n onOk={this.setSaipemOwner}\r\n />\r\n );\r\n }\r\n return (\r\n false}\r\n >\r\n \r\n

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

    \r\n
    \r\n
    \r\n {this.state.isLoadingElement ? : ''}\r\n
    \r\n \r\n Due Date*\r\n {this.state.isLoadingDate ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n\r\n \r\n
    \r\n
    \r\n this.handleChangeMode(1)}\r\n >\r\n GHRS research\r\n \r\n
    \r\n
    \r\n this.handleChangeMode(2)}\r\n >\r\n Saipem research\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n Owner Full Name*\r\n \r\n \r\n \r\n Owner Email*\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport PageBreadCrumb from '../../helpers/PageBreadCrumb';\r\nimport Help32 from '@carbon/icons-react/lib/help--filled/32';\r\nimport Request32 from '@carbon/icons-react/lib/request-quote/32';\r\nimport DocumentView32 from '@carbon/icons-react/lib/document--view/32';\r\nimport PlayFilled64 from '@carbon/icons-react/lib/play--filled/32';\r\nimport Events32 from '@carbon/icons-react/lib/events/32';\r\nimport Launch32 from '@carbon/icons-react/lib/launch/16';\r\n\r\nexport class Support extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n static displayName = Support.name;\r\n\r\n render() {\r\n return (\r\n <>\r\n \r\n
    \r\n
    \r\n

    Do you need help?

    \r\n
    \r\n
    \r\n
    \r\n {/* RITM0634723 */}\r\n \r\n \r\n
    \r\n
    \r\n Read the User Guide to best learn every aspect of InSight!\r\n \r\n {' '}\r\n Go to User Guide \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n Watch the video tutorials to understand how to best interact with InSight!\r\n \r\n {' '}\r\n Go to Video Tutorial {' '}\r\n \r\n
    \r\n
    \r\n\r\n {/*
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n Please, visit the Frequently Asked Question!\r\n \r\n {' '}\r\n Go to FAQ \r\n \r\n
    \r\n
    */}\r\n\r\n
    \r\n \r\n
    \r\n If Video Tutorial were not useful , please submit your request!\r\n \r\n {' '}\r\n Go to Request Support {' '}\r\n \r\n
    \r\n
    \r\n\r\n {/* RITM0634723 */}\r\n {/* RITM0932309 */}\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n Take a look at the Insight responsibility matrix!\r\n \r\n {' '}\r\n Go to Insight Responsibility Matrix {' '}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n Take a look at the Training schedule!\r\n \r\n {' '}\r\n Go to training schedule {' '}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n","/* eslint-disable react/prefer-stateless-function */\r\nimport React, { Component } from 'react';\r\nimport { TextArea, RadioButtonGroup, RadioButton, Button } from 'carbon-components-react';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport PropTypes from 'prop-types';\r\n\r\nexport default class CheckListQuestionAnswer extends Component {\r\n render() {\r\n const validationAnswer = {\r\n answer: this.props.validator.message(\r\n `answer to the question ${this.props.questionCode}`,\r\n this.props.answer,\r\n 'required'\r\n ),\r\n };\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n {this.props.questionCode}\r\n {this.props.isCustom ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n ''\r\n )}\r\n \r\n {this.props.question}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Answer\r\n \r\n this.props.onAnswerChange('No')}\r\n labelText=\"No\"\r\n value=\"No\"\r\n disabled={this.props.disabled}\r\n />\r\n this.props.onAnswerChange('Yes')}\r\n labelText=\"Yes\"\r\n value=\"Yes\"\r\n disabled={this.props.disabled}\r\n />\r\n this.props.onAnswerChange('N/A')}\r\n labelText=\"N.A.\"\r\n value=\"N/A\"\r\n disabled={this.props.disabled}\r\n />\r\n this.props.onAnswerChange('NV')}\r\n labelText=\"N.V.\"\r\n value=\"NV\"\r\n disabled={this.props.disabled}\r\n />\r\n \r\n
    \r\n {validationAnswer.answer}\r\n
    \r\n
    \r\n
    \r\n Notes\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nCheckListQuestionAnswer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n questionCode: PropTypes.string.isRequired,\r\n question: PropTypes.string.isRequired,\r\n answer: PropTypes.string,\r\n note: PropTypes.string,\r\n isCustom: PropTypes.bool,\r\n onAnswerChange: PropTypes.func.isRequired,\r\n onNoteChange: PropTypes.func.isRequired,\r\n onDeleteCustomRequirement: PropTypes.func,\r\n onUpdateCustomRequirement: PropTypes.func,\r\n disabled: PropTypes.bool,\r\n};\r\nCheckListQuestionAnswer.defaultProps = {\r\n answer: null,\r\n note: null,\r\n isCustom: false,\r\n disabled: true,\r\n onDeleteCustomRequirement: () => {},\r\n onUpdateCustomRequirement: () => {},\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport { v4 as uuid } from 'uuid';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { Button, FormGroup, TextInput, Loading, TextArea } from 'carbon-components-react';\r\nimport Close16 from '@carbon/icons-react/lib/close/16';\r\nimport PropTypes from 'prop-types';\r\nimport { api } from '../../../helpers/api/api';\r\nimport { showNotification } from '../../../helpers/notification/BaseNotification';\r\nimport { getError, entitiesLabels } from '../../../helpers/Constants';\r\n\r\nexport default class CheckListRequirement extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.saveRequirement = this.saveRequirement.bind(this);\r\n this.renderLoadingModal = this.renderLoadingModal.bind(this);\r\n this.onCodeTextChange = this.onCodeTextChange.bind(this);\r\n this.onQuestionTextChange = this.onQuestionTextChange.bind(this);\r\n this.validator = new SimpleReactValidator();\r\n this.state = {\r\n newRequirement: {\r\n id: this.props.Requirement?.id || uuid(),\r\n code: this.props.Requirement?.code || null,\r\n name: this.props.Requirement?.name || null,\r\n createdBy: this.props.Requirement?.createdBy || null,\r\n createdOn: this.props.Requirement?.createdOn || null,\r\n updatedBy: this.props.Requirement?.updatedBy || null,\r\n updatedOn: this.props.Requirement?.updatedOn || null,\r\n description: this.props.Requirement?.description || null,\r\n },\r\n isUpdating: false,\r\n };\r\n }\r\n\r\n onCodeTextChange(event) {\r\n const { value } = event.currentTarget;\r\n // event.preventDefault();\r\n this.setState((prevState) => {\r\n const newRequirement = { ...prevState.newRequirement };\r\n newRequirement.code = value;\r\n return { newRequirement };\r\n });\r\n }\r\n\r\n onQuestionTextChange(event) {\r\n const { value } = event.currentTarget;\r\n // event.preventDefault();\r\n this.setState((prevState) => {\r\n const newRequirement = { ...prevState.newRequirement };\r\n newRequirement.name = value;\r\n return { newRequirement };\r\n });\r\n }\r\n\r\n renderLoadingModal = () => {\r\n const show = this.state.isUpdating;\r\n return show && ;\r\n };\r\n\r\n saveRequirement = async (item) => {\r\n try {\r\n this.setState({ isUpdating: true });\r\n return (await api.post('/audit/checklistquestion', item)).data;\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, 'Save Audit', 'ERROR'));\r\n return null;\r\n } finally {\r\n this.setState({ isUpdating: false });\r\n }\r\n };\r\n\r\n updateRequirement = async (item) => {\r\n try {\r\n this.setState({ isUpdating: true });\r\n return (await api.put('/audit/checklistquestion', item)).data;\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, 'Save Audit', 'ERROR'));\r\n return null;\r\n } finally {\r\n this.setState({ isUpdating: false });\r\n }\r\n };\r\n\r\n handleSubmit = async (event) => {\r\n event.preventDefault();\r\n if (this.validator.allValid()) {\r\n // NEW\r\n if (!this.props.idCheckListAnswer) {\r\n const newCheckListAnswer = {\r\n id: this.props.idCheckListAnswer || uuid(),\r\n idRequirement: this.state.newRequirement.id,\r\n idAuditCheckList: this.props.CheckList.id,\r\n idAuditCheckListTemplateSection: this.props.Section.id,\r\n idAuditCheckListTemplate: this.props.Template.id,\r\n checkList: this.props.CheckList,\r\n template: this.props.Template,\r\n section: this.props.Section,\r\n requirement: this.state.newRequirement,\r\n };\r\n const newItem = await this.saveRequirement(newCheckListAnswer);\r\n if (newItem) this.props.onSave(newItem);\r\n } else {\r\n const newItem = await this.updateRequirement(this.state.newRequirement);\r\n if (newItem) this.props.onUpdate(newItem);\r\n }\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`, `${entitiesLabels.AUDIT} required fields are missing`);\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n render() {\r\n const validations = {\r\n code: this.validator.message('code', this.state.newRequirement.code, 'required'),\r\n question: this.validator.message('question', this.state.newRequirement.name, 'required'),\r\n };\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    Requirement Details

    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {validations.code}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n this.onQuestionTextChange(question)}\r\n />\r\n {validations.question}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n {this.renderLoadingModal()}\r\n
    \r\n );\r\n }\r\n}\r\nCheckListRequirement.propTypes = {\r\n onCancel: PropTypes.func.isRequired,\r\n onSave: PropTypes.func,\r\n onUpdate: PropTypes.func,\r\n CheckList: PropTypes.object.isRequired,\r\n Section: PropTypes.object.isRequired,\r\n Template: PropTypes.object.isRequired,\r\n idCheckListAnswer: PropTypes.string,\r\n Requirement: PropTypes.object,\r\n};\r\nCheckListRequirement.defaultProps = {\r\n Requirement: null,\r\n idCheckListAnswer: null,\r\n onUpdate: () => {},\r\n onSave: () => {},\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\n/* eslint-disable react/require-default-props */\r\nimport React, { Component } from 'react';\r\nimport { ComboBox, DropdownSkeleton } from 'carbon-components-react';\r\nimport PropTypes from 'prop-types';\r\n\r\nexport default class EmployerComboBox extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n items: [],\r\n allItems:\r\n this.props.itemsToExclude?.length > 0\r\n ? this.props.items.filter((item) => {\r\n const deletedId = this.props.itemsToExclude.map((filter) => filter.id);\r\n const itemId = item.id;\r\n return !deletedId.includes(itemId);\r\n })\r\n : this.props.items\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n onChange = (selectedItem) => {\r\n const item = selectedItem ? selectedItem.selectedItem : null;\r\n this.props.onChange(item);\r\n };\r\n\r\n onFilter = (inputValue) => {\r\n if (!inputValue || inputValue.length < 3) {\r\n this.setState({\r\n items: []\r\n });\r\n } else {\r\n this.setState((prevState) => {\r\n let items = { ...prevState.items };\r\n items = prevState.allItems.filter((item) =>\r\n item.fullname.toLowerCase().includes(inputValue.toLowerCase())\r\n );\r\n return { items };\r\n });\r\n }\r\n };\r\n\r\n render() {\r\n return this.state.loading ? (\r\n \r\n ) : (\r\n (item ? item && `${item.fullname}` : '')}\r\n selectedItem={this.props.selectedItem}\r\n />\r\n );\r\n }\r\n}\r\n\r\nEmployerComboBox.propTypes = {\r\n onChange: PropTypes.func.isRequired,\r\n selectedItem: PropTypes.object,\r\n items: PropTypes.array.isRequired,\r\n itemsToExclude: PropTypes.array\r\n};\r\nEmployerComboBox.defaultProps = {\r\n selectedItem: null,\r\n itemsToExclude: null\r\n};\r\n","/* eslint-disable react/jsx-props-no-spreading */\r\n/* eslint-disable react/forbid-prop-types */\r\n\r\nimport React, { Component } from 'react';\r\nimport {\r\n FormGroup,\r\n Button,\r\n AccordionItem,\r\n Accordion,\r\n DataTable,\r\n TableContainer,\r\n TableToolbar,\r\n Table,\r\n TableHead,\r\n TableBody,\r\n TableRow,\r\n TableHeader,\r\n TableCell,\r\n TableToolbarContent,\r\n TextInput,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n ComposedModal,\r\n} from 'carbon-components-react';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport Close16 from '@carbon/icons-react/lib/close/16';\r\nimport Add16 from '@carbon/icons-react/lib/add/16';\r\nimport PropTypes from 'prop-types';\r\nimport { showNotification } from '../../../helpers/notification/BaseNotification';\r\nimport { getError, entitiesLabels } from '../../../helpers/Constants';\r\nimport AuditorComboBox from './AuditorComboBox';\r\nimport {\r\n NoRecordsPlaceholder,\r\n RenderDataTableCell,\r\n} from '../../../helpers/jsonschemaform/DataTableExtention';\r\nimport EmployerComboBox from './EmployerComboBox';\r\nimport { FindGHRSEmployer } from '../../common/FindGHRSEmployer';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nexport default class Personnel extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.validatorAuditors = new SimpleReactValidator();\r\n this.validatorAuditees = new SimpleReactValidator();\r\n this.state = {\r\n selectedAuditor: null,\r\n selectedAuditees: null,\r\n modalAuditorDeleteVisible: false,\r\n modalNewAuditorVisible: false,\r\n modalAuditeesDeleteVisible: false,\r\n modalNewAuditeesVisible: false,\r\n isOpenModalGHRS: false,\r\n model: {\r\n fullname: null,\r\n name: null,\r\n surname: null,\r\n email: null,\r\n company: null,\r\n teamLeader: false,\r\n role: 'Auditor',\r\n },\r\n modelNoSaipem: {\r\n fullname: null,\r\n name: null,\r\n surname: null,\r\n email: null,\r\n company: null,\r\n teamLeader: false,\r\n role: 'AuditorNoSaipem',\r\n },\r\n modelAuditees: {\r\n fullname: null,\r\n name: null,\r\n surname: null,\r\n email: null,\r\n company: null,\r\n teamLeader: false,\r\n role: 'Auditee',\r\n },\r\n modelAuditeesNoSaipem: {\r\n fullname: null,\r\n name: null,\r\n surname: null,\r\n email: null,\r\n company: null,\r\n teamLeader: false,\r\n role: 'Auditee',\r\n },\r\n mode: props.mode || 0,\r\n modeAuditees: props.mode || 0,\r\n };\r\n\r\n this.onAuditorsDelete = this.onAuditorsDelete.bind(this);\r\n this.onAuditeesDelete = this.onAuditeesDelete.bind(this);\r\n this.onAuditorsChange = this.onAuditorsChange.bind(this);\r\n this.onAuditeesChange = this.onAuditeesChange.bind(this);\r\n this.onAuditorsChangeConfirm = this.onAuditorsChangeConfirm.bind(this);\r\n this.onAuditorsGHRSConfirm = this.onAuditorsGHRSConfirm.bind(this);\r\n this.onAuditeesChangeConfirm = this.onAuditeesChangeConfirm.bind(this);\r\n this.onAuditorsDeleteConfirm = this.onAuditorsDeleteConfirm.bind(this);\r\n this.onAuditeesDeleteConfirm = this.onAuditeesDeleteConfirm.bind(this);\r\n this.handleDeleteAuditorModal = this.handleDeleteAuditorModal.bind(this);\r\n this.handleDeleteAuditeesModal = this.handleDeleteAuditeesModal.bind(this);\r\n this.handleNewAuditorModal = this.handleNewAuditorModal.bind(this);\r\n this.handleNewAuditeesModal = this.handleNewAuditeesModal.bind(this);\r\n this.CloseAuditeeModal = this.CloseAuditeeModal.bind(this);\r\n this.CloseAuditorModal = this.CloseAuditorModal.bind(this);\r\n this.handleChangeGHRSModal = this.handleChangeGHRSModal.bind(this);\r\n this.handleChangeGHRSModalOpen = this.handleChangeGHRSModalOpen.bind(this);\r\n this.setEmployer = this.setEmployer.bind(this);\r\n }\r\n setEmployer = (employer) => {\r\n if (employer && employer.id) {\r\n const selectedAuditees = this.props.auditees || [];\r\n\r\n const exists = selectedAuditees.some((v) => v.ghrS_ID === employer.ghrS_ID);\r\n if (!exists) {\r\n this.props.auditees.concat([employer]);\r\n const newAuditees = this.props.auditees.concat([employer]);\r\n employer.idEmployer = employer.id;\r\n let statusCopy = { ...this.state.selectedAuditees };\r\n statusCopy = newAuditees;\r\n this.setState({ selectedAuditees: statusCopy });\r\n this.props.onAuditeesAdd(employer);\r\n this.setState({ modalNewAuditeesVisible: false, modeAuditees: 0 });\r\n this.renderAuditees();\r\n } else {\r\n showNotification.error(`${entitiesLabels.ERROR}`, 'inspected already on the list');\r\n }\r\n }\r\n };\r\n handleChangeGHRSModal() {\r\n this.setState((oldState) => ({\r\n isOpenModalGHRS: !oldState.isOpenModalGHRS,\r\n modeAuditees: 0,\r\n selectedAuditees: null,\r\n }));\r\n }\r\n\r\n handleChangeGHRSModalOpen() {\r\n this.setState((oldState) => ({\r\n isOpenModalGHRS: !oldState.isOpenModalGHRS,\r\n selectedAuditees: null,\r\n }));\r\n }\r\n\r\n onAuditorsGHRSConfirm() {\r\n if (this.state.selectedAuditor != null) {\r\n const { selectedAuditor } = this.state;\r\n selectedAuditor.idEmployer = selectedAuditor.id;\r\n selectedAuditor.teamLeader = false;\r\n selectedAuditor.role = 'Auditor';\r\n this.props.onAuditorAdd(selectedAuditor);\r\n this.setState((oldState) => ({\r\n modalNewAuditorVisible: !oldState.modalNewAuditorVisible,\r\n mode: 0,\r\n selectedAuditor: null,\r\n }));\r\n }\r\n }\r\n\r\n onAuditorsChangeConfirm() {\r\n if (this.state.selectedAuditor != null) {\r\n const { selectedAuditor } = this.state;\r\n selectedAuditor.idEmployer = selectedAuditor.id;\r\n selectedAuditor.teamLeader = false;\r\n selectedAuditor.role = 'Auditor';\r\n this.props.onAuditorAdd(selectedAuditor);\r\n } else {\r\n if (this.validatorAuditors.allValid()) {\r\n let selectedAuditor = this.state.modelNoSaipem;\r\n const re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n if (re.test(String(selectedAuditor.email).toLowerCase())) {\r\n this.props.onAuditorAdd(selectedAuditor);\r\n } else {\r\n showNotification.warning(`${entitiesLabels.WARNING} `, ' Auditor error email ');\r\n }\r\n this.setState((oldState) => ({\r\n modalNewAuditorVisible: !oldState.modalNewAuditorVisible,\r\n mode: 0,\r\n modelNoSaipem: {\r\n fullname: null,\r\n name: null,\r\n surname: null,\r\n email: null,\r\n company: null,\r\n teamLeader: false,\r\n role: 'AuditorNoSaipem',\r\n },\r\n }));\r\n } else {\r\n this.validatorAuditors.showMessages();\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING} `,\r\n 'Auditor required fields are missing'\r\n );\r\n this.forceUpdate();\r\n }\r\n }\r\n }\r\n\r\n onAuditeesChangeConfirm() {\r\n if (this.validatorAuditees.allValid()) {\r\n if (this.state.selectedAuditees != null) {\r\n const { selectedAuditees } = this.state;\r\n selectedAuditees.idEmployer = selectedAuditees.id;\r\n selectedAuditees.role = 'Auditee';\r\n this.props.onAuditeesAdd(selectedAuditees);\r\n } else {\r\n let selectedAuditees = this.state.modelAuditeesNoSaipem;\r\n const re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n if (re.test(String(selectedAuditees.email).toLowerCase())) {\r\n this.props.onAuditeesAdd(selectedAuditees);\r\n } else {\r\n showNotification.warning(`${entitiesLabels.WARNING}`, 'Auditee error email ');\r\n }\r\n }\r\n this.setState((oldState) => ({\r\n modalNewAuditeesVisible: !oldState.modalNewAuditeesVisible,\r\n modeAuditees: 0,\r\n modelAuditeesNoSaipem: {\r\n name: null,\r\n surname: null,\r\n email: null,\r\n ghrS_ID: null,\r\n },\r\n }));\r\n } else {\r\n this.validatorAuditees.showMessages();\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n 'Auditee required fields are missing '\r\n );\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n onAuditorsDeleteConfirm() {\r\n this.props.onAuditorDelete(this.state.selectedAuditor);\r\n this.setState((oldState) => ({\r\n modalAuditorDeleteVisible: !oldState.modalAuditorDeleteVisible,\r\n }));\r\n }\r\n\r\n onAuditeesDeleteConfirm() {\r\n this.props.onAuditeesDelete(this.state.selectedAuditees);\r\n this.setState((oldState) => ({\r\n modalAuditeesDeleteVisible: !oldState.modalAuditeesDeleteVisible,\r\n }));\r\n }\r\n\r\n onAuditorsChange(selectedItem) {\r\n this.setState({ selectedAuditor: selectedItem });\r\n }\r\n\r\n onAuditeesChange(selectedItem) {\r\n this.setState({ selectedAuditees: selectedItem });\r\n }\r\n\r\n onAuditorsDelete(Id) {\r\n const selectedItem = this.props.auditors.find((item) => item.id === Id);\r\n this.setState((oldState) => ({\r\n selectedAuditor: selectedItem,\r\n modalAuditorDeleteVisible: !oldState.modalAuditorDeleteVisible,\r\n }));\r\n }\r\n\r\n onAuditeesDelete(Id) {\r\n const selectedItem = this.props.auditees.find((item) => item.id === Id);\r\n this.setState((oldState) => ({\r\n selectedAuditees: selectedItem,\r\n modalAuditeesDeleteVisible: !oldState.modalAuditeesDeleteVisible,\r\n }));\r\n }\r\n handleChangeMode = (m) => {\r\n this.setState({ mode: m });\r\n };\r\n handleChangeModeAuditees = (m) => {\r\n this.setState({ modeAuditees: m });\r\n };\r\n updateState = (inputName, inputValue, objName) => {\r\n let statusCopy = Object.assign({}, this.state);\r\n statusCopy[objName][inputName] = inputValue;\r\n\r\n this.setState(statusCopy);\r\n };\r\n handleChangeModel = (el) => {\r\n let inputName = el.target.name;\r\n let inputValue = el.target.value;\r\n let objName = el.target.alt;\r\n this.updateState(inputName, inputValue, objName);\r\n };\r\n handleNewAuditorModal() {\r\n if (this.state.mode == 1 || this.state.mode == 3) {\r\n this.setState({\r\n mode: 0,\r\n selectedAuditor: null,\r\n model: {\r\n name: null,\r\n surname: null,\r\n email: null,\r\n ghrS_ID: null,\r\n },\r\n modelNoSaipem: {\r\n name: null,\r\n surname: null,\r\n email: null,\r\n ghrS_ID: null,\r\n },\r\n });\r\n } else {\r\n this.setState((oldState) => ({\r\n modalNewAuditorVisible: !oldState.modalNewAuditorVisible,\r\n selectedAuditor: null,\r\n }));\r\n }\r\n }\r\n\r\n handleNewAuditeesModal() {\r\n if (this.state.modeAuditees == 0) {\r\n this.setState((oldState) => ({\r\n modalNewAuditeesVisible: !oldState.modalNewAuditeesVisible,\r\n modeAuditees: 0,\r\n selectedAuditees: null,\r\n modelAuditees: {\r\n name: null,\r\n surname: null,\r\n email: null,\r\n ghrS_ID: null,\r\n },\r\n modelAuditeesNoSaipem: {\r\n name: null,\r\n surname: null,\r\n email: null,\r\n ghrS_ID: null,\r\n },\r\n }));\r\n } else {\r\n this.setState((oldState) => ({\r\n modeAuditees: 0,\r\n selectedAuditees: null,\r\n }));\r\n }\r\n }\r\n\r\n CloseAuditeeModal() {\r\n this.setState((oldState) => ({\r\n modalNewAuditeesVisible: !oldState.modalNewAuditeesVisible,\r\n modeAuditees: 0,\r\n selectedAuditees: null,\r\n modelAuditeesNoSaipem: {\r\n name: null,\r\n surname: null,\r\n email: null,\r\n ghrS_ID: null,\r\n },\r\n }));\r\n }\r\n CloseAuditorModal() {\r\n this.setState((oldState) => ({\r\n modalNewAuditorVisible: !oldState.modalNewAuditorVisible,\r\n mode: 0,\r\n selectedAuditor: null,\r\n modelNoSaipem: {\r\n name: null,\r\n surname: null,\r\n email: null,\r\n ghrS_ID: null,\r\n },\r\n }));\r\n }\r\n\r\n handleDeleteAuditorModal() {\r\n this.setState((oldState) => ({\r\n modalAuditorDeleteVisible: !oldState.modalAuditorDeleteVisible,\r\n }));\r\n }\r\n\r\n handleDeleteAuditeesModal() {\r\n this.setState((oldState) => ({\r\n modalAuditeesDeleteVisible: !oldState.modalAuditeesDeleteVisible,\r\n }));\r\n }\r\n\r\n renderDeleteAuditorModal = () =>\r\n this.state.modalAuditorDeleteVisible && (\r\n
    \r\n
    \r\n
    \r\n

    Delete Team Member

    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {`Press confirm to remove ${this.state.selectedAuditor.fullName} from Team Members`}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n Confirm\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n renderDeleteAuditeesModal = () =>\r\n this.state.modalAuditeesDeleteVisible && (\r\n
    \r\n
    \r\n
    \r\n

    Delete Team Member

    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {`Press confirm to remove ${this.state.selectedAuditees.fullname} from Team Members`}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n Confirm\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n renderNewAuditorModal = (validations, isOpenModal) =>\r\n this.state.modalNewAuditorVisible && (\r\n {\r\n return false;\r\n }}\r\n >\r\n \r\n

    Add New Auditor

    \r\n
    \r\n \r\n {this.state.mode == 0 ? (\r\n
    \r\n this.handleChangeMode(1)}\r\n >\r\n Saipem research\r\n \r\n this.handleChangeMode(3)}\r\n >\r\n Manual input\r\n \r\n
    \r\n ) : this.state.mode == 1 ? (\r\n
    \r\n \r\n {\r\n showNotification.error(\r\n `${entitiesLabels.AUDIT} notification: `,\r\n getError(error, 'loading data loading auditor', 'ERROR')\r\n );\r\n }}\r\n itemsToExclude={this.props.auditors}\r\n division={this.props.division}\r\n disabled={false}\r\n //userDivision={this.props.userDivision} //B1_Audit_Module_Optimization\r\n />\r\n \r\n
    \r\n ) : (\r\n
    \r\n
    \r\n \r\n \r\n {validations.name}\r\n \r\n \r\n \r\n {validations.surname}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {validations.email}\r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n \r\n \r\n Confirm\r\n \r\n \r\n \r\n );\r\n\r\n renderNewAuditeesModal = (validations, isOpenModal) =>\r\n this.state.modeAuditees == 1 ? (\r\n \r\n ) : this.state.modalNewAuditeesVisible ? (\r\n {\r\n return false;\r\n }}\r\n >\r\n \r\n

    Add New Auditee

    \r\n
    \r\n \r\n {this.state.modeAuditees == 0 ? (\r\n
    \r\n this.handleChangeModeAuditees(1)}\r\n >\r\n GHRS research\r\n \r\n this.handleChangeModeAuditees(3)}\r\n >\r\n Manual input\r\n \r\n
    \r\n ) : (\r\n
    \r\n
    \r\n \r\n \r\n {validations.name}\r\n \r\n \r\n \r\n {validations.surname}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {validations.email}\r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n \r\n \r\n Confirm\r\n \r\n \r\n \r\n ) : (\r\n ''\r\n );\r\n\r\n renderAuditors = () => {\r\n this.validatorAuditors.purgeFields();\r\n const validationsAuditors = {\r\n name: this.validatorAuditors.message('name', this.state.modelNoSaipem.name, 'required'),\r\n surname: this.validatorAuditors.message(\r\n 'surname',\r\n this.state.modelNoSaipem.surname,\r\n 'required'\r\n ),\r\n email: this.validatorAuditors.message(\r\n 'email',\r\n this.state.modelNoSaipem.email,\r\n 'required|email'\r\n ),\r\n };\r\n const isOpenModal = true;\r\n const headers = [\r\n {\r\n key: 'fullName',\r\n header: 'Name',\r\n isSortable: true,\r\n },\r\n {\r\n key: 'email',\r\n header: 'Email',\r\n },\r\n {\r\n key: 'role',\r\n header: 'Position',\r\n },\r\n {\r\n key: 'teamLeader',\r\n header: '',\r\n },\r\n {\r\n key: 'external',\r\n header: 'External',\r\n type: 'bool',\r\n },\r\n ];\r\n return (\r\n (\r\n \r\n \r\n \r\n
    \r\n
    List
    \r\n
    \r\n
    \r\n \r\n Add New Auditor\r\n \r\n
    \r\n
    \r\n
    \r\n {this.renderDeleteAuditorModal()}\r\n {this.renderNewAuditorModal(validationsAuditors, isOpenModal)}\r\n \r\n \r\n \r\n {headers.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {!rows ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n {row.cells.map((cell) => (\r\n x.key === cell.info.header)}\r\n />\r\n ))}\r\n \r\n
    \r\n this.onAuditorsDelete(row.id)}\r\n disabled={\r\n this.props.disabled ||\r\n row.cells.find((item) => item.info.header === 'teamLeader').value\r\n }\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n />\r\n
    \r\n
    \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n
    \r\n )}\r\n />\r\n );\r\n };\r\n\r\n renderAuditees = () => {\r\n this.validatorAuditees.purgeFields();\r\n const validationsAuditee = {\r\n name: this.validatorAuditees.message(\r\n 'name',\r\n this.state.modelAuditeesNoSaipem.name,\r\n 'required'\r\n ),\r\n surname: this.validatorAuditees.message(\r\n 'surname',\r\n this.state.modelAuditeesNoSaipem.surname,\r\n 'required'\r\n ),\r\n email: this.validatorAuditees.message(\r\n 'email',\r\n this.state.modelAuditeesNoSaipem.email,\r\n 'required|email'\r\n ),\r\n };\r\n const isOpenModal = true;\r\n const headers = [\r\n {\r\n key: 'fullName',\r\n header: 'Name',\r\n isSortable: true,\r\n },\r\n {\r\n key: 'email',\r\n header: 'Email',\r\n },\r\n {\r\n key: 'role',\r\n header: 'Position',\r\n },\r\n {\r\n key: 'external',\r\n header: 'External',\r\n type: 'bool',\r\n },\r\n ];\r\n return (\r\n (\r\n \r\n \r\n \r\n
    \r\n
    List
    \r\n
    \r\n
    \r\n \r\n Add New Auditee\r\n \r\n
    \r\n
    \r\n
    \r\n {this.renderDeleteAuditeesModal()}\r\n {this.renderNewAuditeesModal(validationsAuditee, isOpenModal)}\r\n\r\n \r\n \r\n \r\n {headers.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {!rows ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n {row.cells.map((cell) => (\r\n x.key === cell.info.header)}\r\n />\r\n ))}\r\n \r\n
    \r\n this.onAuditeesDelete(row.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n disabled={this.props.disabled}\r\n />\r\n
    \r\n
    \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n
    \r\n )}\r\n />\r\n );\r\n };\r\n\r\n render() {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {this.renderAuditors()}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {this.renderAuditees()}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nPersonnel.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n auditees: PropTypes.array.isRequired,\r\n employees: PropTypes.array.isRequired,\r\n auditors: PropTypes.array.isRequired,\r\n division: PropTypes.string.isRequired,\r\n onAuditorAdd: PropTypes.func.isRequired,\r\n onAuditorDelete: PropTypes.func.isRequired,\r\n onAuditeesAdd: PropTypes.func.isRequired,\r\n onAuditeesDelete: PropTypes.func.isRequired,\r\n disabled: PropTypes.bool,\r\n isOpenModal: PropTypes.bool,\r\n};\r\nPersonnel.defaultProps = { disabled: true };\r\n","import React, { Component } from 'react';\r\nimport { ComboBox } from 'carbon-components-react';\r\nimport PropTypes from 'prop-types';\r\n\r\nexport default class AuditWorkSiteComboBox extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n items: this.props.items\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n onChange = (selectedItem) => {\r\n const item = selectedItem ? selectedItem.selectedItem : null;\r\n this.props.onChange(item);\r\n };\r\n\r\n render() {\r\n return (\r\n (item ? item && item.name : '')}\r\n selectedItem={this.props.selectedItem}\r\n />\r\n );\r\n }\r\n}\r\n\r\nAuditWorkSiteComboBox.propTypes = {\r\n invalid: PropTypes.bool,\r\n invalidText: PropTypes.string,\r\n onChange: PropTypes.func.isRequired,\r\n items: PropTypes.array.isRequired,\r\n selectedItem: PropTypes.object,\r\n disabled: PropTypes.bool\r\n};\r\nAuditWorkSiteComboBox.defaultProps = {\r\n invalid: false,\r\n invalidText: '',\r\n selectedItem: null,\r\n disabled: true\r\n};\r\n","import React, { Component } from 'react';\r\nimport { SkeletonPlaceholder } from 'carbon-components-react';\r\nimport { api } from '../../../helpers/api/api';\r\n/**\r\n * recupera e visualizza in un tag img la firma caricata su azure\r\n * fileIdentifier: string (signatureAttachment)\r\n */\r\nexport default class AuditImgSignature extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n src: null,\r\n isLoading: true,\r\n }\r\n }\r\n\r\n componentDidMount() { \r\n api.getWithParam(`audit/${this.props.auditNotification.id}/signature`,{ params: { signatureAttachment: this.props.auditNotification.signatureAttachment }})\r\n .then(response => {\r\n let data = response.data;\r\n this.setState({\r\n src: data,\r\n });\r\n }).catch(error => {\r\n console.error(error);\r\n }).finally(() => {\r\n this.setState({\r\n isLoading: false,\r\n });\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n this.state.isLoading ?\r\n :\r\n \"signature\"\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport CanvasDraw from \"react-canvas-draw\";\r\nimport {\r\n Button, FormGroup, ComposedModal, ModalHeader, ModalBody, ModalFooter, TextArea, Loading\r\n} from 'carbon-components-react';\r\nimport { fileUpload, api } from '../../../helpers/api/api';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { ComboBox } from '../../../helpers/ComboBox'\r\nimport { Erase16 } from '@carbon/icons-react';\r\nimport { showNotification } from '../../../helpers/notification/BaseNotification';\r\nimport { entitiesLabels } from '../../../helpers/Constants';\r\nimport AuditImgSignature from './AuditImgSignature'\r\n/**\r\n * Modal inserimento firma dei Partecipanti\r\n * key: string\r\n * title: string\r\n * editModel: obj\r\n * isOpenModal: bool\r\n * toggleModal: fn\r\n * save: fn\r\n * idTraining: guid\r\n */\r\nexport default class AuditModalSignature extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n model: {\r\n ...this.props.editModel\r\n },\r\n StoragePath: 'audit',\r\n isSubmitted: false,\r\n flagSignature: true,\r\n showCanvas: this.props.editModel && !this.props.editModel.signatureAttachment,\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n }\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n let statusCopy = Object.assign({}, this.state.model);\r\n if (objName && objName != 'model')\r\n statusCopy[objName][inputName] = inputValue;\r\n else\r\n statusCopy[inputName] = inputValue;\r\n\r\n this.setState({ model: statusCopy });\r\n }\r\n\r\n\r\n updateSignature = () => {\r\n this.setState({ flagSignature: false });\r\n }\r\n\r\n clearImage = () => {\r\n if (this.props.editModel && this.props.editModel.sendedBy) {\r\n this.setState({ showCanvas: true , flagSignature:true});\r\n }\r\n if (this.saveableCanvas) {\r\n this.saveableCanvas.clear();\r\n this.setState({ flagSignature:true});\r\n }\r\n }\r\n\r\n showLoading() {\r\n return (this.state.isSubmitted && );\r\n }\r\n\r\n save = async () => {\r\n this.setState({ 'isSubmitted': true });\r\n let dati = this.state.model;\r\n\r\n try {\r\n let fileIdentifier = await this.saveImage();\r\n if (fileIdentifier != null) {\r\n dati.signatureAttachment = fileIdentifier;\r\n }\r\n else if ((fileIdentifier == null && dati.signatureAttachment == null) || this.state.showCanvas){\r\n dati.signatureAttachment = null;\r\n }\r\n\r\n await api.put(`/audit/signature/${this.props.editModel.signatureAttachment}`,dati);\r\n\r\n this.props.save(dati);\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,\"Signature saved successfully\");\r\n } catch {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\"Error saving Signature\");\r\n } finally {\r\n this.setState({ 'isSubmitted': false });\r\n }\r\n }\r\n\r\n saveImage = async () => {\r\n if (this.saveableCanvas) {\r\n const canvas = this.saveableCanvas.canvasContainer.children[1];\r\n if (canvas == null || isCanvasBlank(canvas)) {\r\n //showNotification.warning(\"Warning: required fields are missing \");\r\n return null;\r\n }\r\n this.setState({ 'isSubmitted': true });\r\n const csvURL = canvas.toDataURL();\r\n const base64 = csvURL.split(',')[1];\r\n const fileAsBlob = base64toBlob(base64, 'image/png');\r\n\r\n const fileName = `sg${uuid()}.png`;\r\n\r\n const blobAsFile = new File([fileAsBlob], fileName, {\r\n type: 'image/png',\r\n });\r\n\r\n const fileIdentifier = `${this.state.StoragePath}_${new Date().getTime()}_${fileName}`;\r\n\r\n const formData = new FormData();\r\n formData.append('File', blobAsFile);\r\n formData.append('Container', 'saipem');\r\n formData.append('StoragePath', this.state.StoragePath);\r\n formData.append('FileIdentifier', fileIdentifier);\r\n\r\n await fileUpload.post(formData);\r\n return fileIdentifier;\r\n }\r\n return null;\r\n }\r\n\r\n render() {\r\n if (this.props.editModel == null) return null;\r\n const showCanvas = this.state.showCanvas;\r\n \r\n return ( \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n

    Please fill the box with your signature (Not Mandatory) and Confirm to proceed

    \r\n \r\n
    \r\n \r\n \r\n {this.showLoading()}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {showCanvas ?\r\n
    \r\n (this.saveableCanvas = canvasDraw)}\r\n onChange={this.state.flagSignature? this.updateSignature : null }\r\n loadTimeOffset={0}\r\n lazyRadius={2}\r\n brushRadius={2}\r\n brushColor=\"#444\"\r\n catenaryColor=\"#0a0302\"\r\n gridColor=\"rgba(150,150,150,0.17)\"\r\n hideGrid={false}\r\n canvasWidth={473}\r\n canvasHeight={200}\r\n disabled={false}\r\n imgSrc=\"\"\r\n saveData={null}\r\n immediateLoading={false}\r\n hideInterface={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\n
    \r\n this.props.toggleModal(false)}\r\n //chiusura modale e basta\r\n >\r\n Cancel\r\n \r\n this.save()}\r\n // disabled={this.state.flagSignature ? true : this.state.model.signatureAttachment && !showCanvas }\r\n >\r\n Confirm\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n\r\nfunction base64toBlob(base64Data, contentType) {\r\n contentType = contentType || '';\r\n const sliceSize = 1024;\r\n const byteCharacters = window.atob(base64Data);\r\n const bytesLength = byteCharacters.length;\r\n const slicesCount = Math.ceil(bytesLength / sliceSize);\r\n const byteArrays = new Array(slicesCount);\r\n\r\n for (let sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {\r\n const begin = sliceIndex * sliceSize;\r\n const end = Math.min(begin + sliceSize, bytesLength);\r\n\r\n const bytes = new Array(end - begin);\r\n for (let offset = begin, i = 0; offset < end; ++i, ++offset) {\r\n bytes[i] = byteCharacters[offset].charCodeAt(0);\r\n }\r\n byteArrays[sliceIndex] = new Uint8Array(bytes);\r\n }\r\n return new Blob(byteArrays, { type: contentType });\r\n}\r\n\r\nfunction isCanvasBlank(canvas) {\r\n return !canvas.getContext('2d')\r\n .getImageData(0, 0, canvas.width, canvas.height).data\r\n .some(channel => channel !== 0);\r\n}","/* eslint-disable react/jsx-props-no-spreading */\r\n/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport {\r\n FormGroup,\r\n TextArea,\r\n Button,\r\n DataTable,\r\n TableContainer,\r\n TableToolbar,\r\n Table,\r\n TableHead,\r\n TableBody,\r\n TableRow,\r\n TableHeader,\r\n TableCell,\r\n TableToolbarContent,\r\n TextInput,\r\n Tile,\r\n TimePicker,\r\n DatePicker,\r\n DatePickerInput,\r\n} from 'carbon-components-react';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport Close16 from '@carbon/icons-react/lib/close/16';\r\nimport Add16 from '@carbon/icons-react/lib/add/16';\r\nimport Save16 from '@carbon/icons-react/lib/save/16';\r\nimport Send16 from '@carbon/icons-react/lib/email/16';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport PropTypes from 'prop-types';\r\nimport { v4 as uuid } from 'uuid';\r\nimport moment from 'moment';\r\nimport { showNotification } from '../../../helpers/notification/BaseNotification';\r\nimport { entitiesLabels } from '../../../helpers/Constants';\r\nimport { NoRecordsPlaceholder } from '../../../helpers/jsonschemaform/DataTableExtention';\r\nimport AuditWorkSiteComboBox from './AuditWorkSiteComboBox';\r\nimport EmailChips from '../../../helpers/EmailChips';\r\nimport DateTimePicker from '../../../helpers/DateTimePicker';\r\nimport AuditModalSignature from './AuditModalSignature';\r\n\r\nexport default class AuditNotificationForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n notificationData: this.props.NotificationFormData,\r\n modalActivityDetailVisible: false,\r\n modalActivityDeleteVisible: false,\r\n modalDeleteRelatedDocumentVisible: false,\r\n modalRelatedDocumentDetailsVisible: false,\r\n editNotificationEmailVisible: false,\r\n flagTime: false,\r\n validateSend: true,\r\n selectedActivity: {\r\n id: null,\r\n auditor: null,\r\n activity: null,\r\n from: null,\r\n to: null,\r\n date: null,\r\n },\r\n selectedDocument: {\r\n name: null,\r\n },\r\n };\r\n this.onDistributionListModify = this.onDistributionListModify.bind(this);\r\n this.onResponsibleEmailModify = this.onResponsibleEmailModify.bind(this);\r\n this.handleActivityDetailVisibility = this.handleActivityDetailVisibility.bind(this);\r\n this.handleDeleteActivityModal = this.handleDeleteActivityModal.bind(this);\r\n this.handleDeleteRelatedDocumentModal = this.handleDeleteRelatedDocumentModal.bind(this);\r\n this.handleRelatedDocumentModalVisibility = this.handleRelatedDocumentModalVisibility.bind(\r\n this\r\n );\r\n this.onAuditorChanged = this.onAuditorChanged.bind(this);\r\n this.onTimeToChanged = this.onTimeToChanged.bind(this);\r\n this.onTimeFromChanged = this.onTimeFromChanged.bind(this);\r\n this.onActivityChanged = this.onActivityChanged.bind(this);\r\n this.onWorkSiteChanged = this.onWorkSiteChanged.bind(this);\r\n this.onSubmitActivity = this.onSubmitActivity.bind(this);\r\n this.onSubmitRelatedDocument = this.onSubmitRelatedDocument.bind(this);\r\n this.onActivityDateChange = this.onActivityDateChange.bind(this);\r\n this.onActivityDelete = this.onActivityDelete.bind(this);\r\n this.onRelatedDocumentDelete = this.onRelatedDocumentDelete.bind(this);\r\n this.saveNotificationForm = this.saveNotificationForm.bind(this);\r\n this.sendNotification = this.sendNotification.bind(this);\r\n this.onMailCCModify = this.onMailCCModify.bind(this);\r\n this.onMailBodyModify = this.onMailBodyModify.bind(this);\r\n\r\n this.validator = new SimpleReactValidator({\r\n validators: {\r\n emails: {\r\n // name the rule\r\n message: 'The :attribute must be a valid email address list semicolon separated',\r\n rule: (val, params, validator) =>\r\n validator.helpers.testRegex(\r\n val,\r\n // eslint-disable-next-line no-useless-escape\r\n /^(([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)(\\s*;\\s*|\\s*$))+$/i\r\n ) && params.indexOf(val) === -1,\r\n required: true, // optional\r\n },\r\n time: {\r\n message: ':attribute must be a valid time',\r\n rule: (val, params, validator) =>\r\n validator.helpers.testRegex(val, /^(0[0-9]|1[0-9]|2[0-3]|[0-9]):[0-5][0-9]+$/) &&\r\n params.indexOf(val) === -1,\r\n required: true, // optional\r\n },\r\n datePicker: {\r\n message: 'The :attribute must be a valid date with mm/dd/yyyy format',\r\n rule: (val, params) => moment(val).isValid() && params.indexOf(val) === -1,\r\n required: true, // optional\r\n },\r\n },\r\n });\r\n this.validatorTime = new SimpleReactValidator({ locale: 'en' });\r\n }\r\n\r\n onDistributionListModify(value) {\r\n // event.preventDefault();\r\n // const { value } = event.currentTarget;\r\n this.setState((prevState) => {\r\n const notificationData = { ...prevState.notificationData };\r\n notificationData.distributionList = value;\r\n return { notificationData };\r\n });\r\n }\r\n\r\n onMailCCModify(value) {\r\n // event.preventDefault();\r\n // const { value } = event.currentTarget;\r\n this.setState((prevState) => {\r\n const notificationData = { ...prevState.notificationData };\r\n notificationData.mailCC = value;\r\n return { notificationData };\r\n });\r\n }\r\n\r\n onResponsibleEmailModify(value) {\r\n // event.preventDefault();\r\n // const { value } = event.currentTarget;\r\n this.setState((prevState) => {\r\n const notificationData = { ...prevState.notificationData };\r\n notificationData.responsibleEmail = value;\r\n return { notificationData };\r\n });\r\n }\r\n\r\n onMailBodyModify(value) {\r\n // event.preventDefault();\r\n // const { value } = event.currentTarget;\r\n this.setState((prevState) => {\r\n const notificationData = { ...prevState.notificationData };\r\n notificationData.mailBody = value;\r\n return { notificationData };\r\n });\r\n }\r\n\r\n onAuditorChanged(value) {\r\n this.setState((prevState) => {\r\n const selectedActivity = { ...prevState.selectedActivity };\r\n selectedActivity.auditor = value;\r\n return { selectedActivity };\r\n });\r\n }\r\n\r\n onWorkSiteChanged(value) {\r\n this.setState((prevState) => {\r\n const selectedActivity = { ...prevState.selectedActivity };\r\n selectedActivity.workSite = value;\r\n selectedActivity.idWorkSite = value?.id;\r\n return { selectedActivity };\r\n });\r\n }\r\n\r\n onTimeToChanged(event) {\r\n event.preventDefault();\r\n const { value } = event.currentTarget;\r\n this.setState((prevState) => {\r\n const selectedActivity = { ...prevState.selectedActivity };\r\n selectedActivity.to = value;\r\n selectedActivity.time = `${selectedActivity.from} - ${value}`;\r\n return { selectedActivity };\r\n });\r\n }\r\n\r\n onTimeFromChanged(event) {\r\n event.preventDefault();\r\n const { value } = event.currentTarget;\r\n this.setState((prevState) => {\r\n const selectedActivity = { ...prevState.selectedActivity };\r\n selectedActivity.from = value;\r\n selectedActivity.time = `${value} - ${selectedActivity.to}`;\r\n return { selectedActivity };\r\n });\r\n }\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n this.setState(statusCopy);\r\n };\r\n\r\n updateStatesTime = (inputName, inputValue, objName) => {\r\n if (inputValue == false) {\r\n this.setState({ flagTime: true });\r\n if (!this.validatorTime.allValid()) {\r\n this.validatorTime.showMessages();\r\n }\r\n } else {\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n statusCopy.flagTime = false;\r\n this.setState(statusCopy);\r\n }\r\n };\r\n\r\n onActivityChanged(event) {\r\n event.preventDefault();\r\n const { value } = event.currentTarget;\r\n this.setState((prevState) => {\r\n const selectedActivity = { ...prevState.selectedActivity };\r\n selectedActivity.activity = value;\r\n return { selectedActivity };\r\n });\r\n }\r\n\r\n onDocumentNameChange(value) {\r\n this.setState((prevState) => {\r\n const selectedDocument = { ...prevState.selectedDocument };\r\n selectedDocument.name = value;\r\n return { selectedDocument };\r\n });\r\n }\r\n\r\n onActivityDateChange(e) {\r\n this.setState((prevState) => {\r\n const selectedActivity = { ...prevState.selectedActivity };\r\n selectedActivity.date = moment(e[0]).format('YYYY-MM-DD');\r\n return { selectedActivity };\r\n });\r\n }\r\n\r\n onSubmitActivity(event) {\r\n event.preventDefault();\r\n if (\r\n this.validator.fieldValid('auditor') &&\r\n this.validator.fieldValid('date') &&\r\n this.validator.fieldValid('from') &&\r\n this.validator.fieldValid('to') &&\r\n this.validator.fieldValid('activity') &&\r\n this.validator.fieldValid('diffTIme')\r\n ) {\r\n if (!this.validatorTime.allValid()) {\r\n this.setState((prevState) => {\r\n const notificationData = { ...prevState.notificationData };\r\n const selectedActivity = { ...prevState.selectedActivity };\r\n selectedActivity.time = `${selectedActivity.from} - ${selectedActivity.to}`;\r\n\r\n \r\n const startDate = this.props.startDate ? moment(this.props.startDate).format('YYYY-MM-DD') : null;\r\n const endDate = this.props.endDate ? moment(this.props.endDate).format('YYYY-MM-DD') : null;\r\n\r\n console.log(\"date\", selectedActivity.date)\r\n console.log(\"sdate\",startDate)\r\n console.log(\"edate\",endDate)\r\n\r\n if(startDate !== null && endDate !== null){ \r\n if(selectedActivity.date >= startDate && selectedActivity.date <= endDate){\r\n if (!selectedActivity.id) {\r\n selectedActivity.id = uuid();\r\n selectedActivity.idNotificationForm = prevState.notificationData.id;\r\n // notificationData.activities = prevState.notificationData.activities.concat(\r\n // selectedActivity\r\n // );\r\n const notact = [selectedActivity];\r\n notificationData.activities = notact.concat(prevState.notificationData.activities); \r\n this.handleActivityDetailVisibility(null);\r\n } else {\r\n notificationData.activities = prevState.notificationData.activities\r\n .filter((item) => selectedActivity.id !== item.id)\r\n .concat(selectedActivity);\r\n this.handleActivityDetailVisibility(null);\r\n }\r\n\r\n this.props.setActivitiesData(notificationData.activities || []);\r\n return { notificationData };\r\n }\r\n else{\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n `The ActiviyDate must be within the range of ${startDate} and ${endDate}`\r\n );\r\n this.forceUpdate();\r\n }\r\n }\r\n else{\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n `The StartDate and EndDate must be requested`\r\n );\r\n this.forceUpdate();\r\n }\r\n \r\n });\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.AUDIT} Time is invalid `\r\n );\r\n this.forceUpdate();\r\n }\r\n } else {\r\n this.validator.showMessageFor('auditor');\r\n this.validator.showMessageFor('from');\r\n this.validator.showMessageFor('date');\r\n this.validator.showMessageFor('to');\r\n this.validator.showMessageFor('activity');\r\n this.validator.showMessageFor('diffTIme');\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n onSubmitRelatedDocument(event) {\r\n event.preventDefault();\r\n if (this.validator.fieldValid('name')) {\r\n this.setState((prevState) => {\r\n const notificationData = { ...prevState.notificationData };\r\n const selectedDocument = { ...prevState.selectedDocument };\r\n if (!selectedDocument.id) {\r\n selectedDocument.id = uuid();\r\n selectedDocument.idNotificationForm = prevState.notificationData.id;\r\n notificationData.documents = prevState.notificationData.documents.concat(\r\n selectedDocument\r\n );\r\n this.handleRelatedDocumentModalVisibility(null);\r\n } else {\r\n notificationData.documents = prevState.notificationData.documents\r\n .filter((item) => selectedDocument.id !== item.id)\r\n .concat(selectedDocument);\r\n this.handleRelatedDocumentModalVisibility(null);\r\n }\r\n return { notificationData };\r\n });\r\n } else {\r\n this.validator.showMessageFor('name');\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n onActivityDelete() {\r\n this.setState((prevState) => {\r\n const notificationData = { ...prevState.notificationData };\r\n const selectedActivity = { ...prevState.selectedActivity };\r\n notificationData.activities = prevState.notificationData.activities.filter(\r\n (item) => selectedActivity.id !== item.id\r\n );\r\n return { notificationData };\r\n });\r\n this.handleDeleteActivityModal(null);\r\n }\r\n\r\n onRelatedDocumentDelete() {\r\n this.setState((prevState) => {\r\n const notificationData = { ...prevState.notificationData };\r\n const selectedDocument = { ...prevState.selectedDocument };\r\n notificationData.documents = prevState.notificationData.documents.filter(\r\n (item) => selectedDocument.id !== item.id\r\n );\r\n return { notificationData };\r\n });\r\n this.handleDeleteRelatedDocumentModal(null);\r\n }\r\n\r\n saveNotificationForm() {\r\n if (\r\n this.validator.fieldValid('distributionList') &&\r\n this.validator.fieldValid('responsible') &&\r\n this.validator.fieldValid('activities')\r\n ) {\r\n this.props.onSave(this.state.notificationData);\r\n this.setState({ validateSend: false });\r\n } else {\r\n this.validator.showMessageFor('distributionList');\r\n this.validator.showMessageFor('responsible');\r\n this.validator.showMessageFor('activities');\r\n\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n closeEditNotificationEmailModal = () => {\r\n this.setState({\r\n editNotificationEmailVisible: false,\r\n });\r\n };\r\n\r\n toggleModal = (open, property) => {\r\n this.setState({ [property]: open, editNotificationEmailVisible: false });\r\n };\r\n editNotificationEmailModal = () => {\r\n const modalSignatureProps = {\r\n key: `modalAuditSign_${new Date().getTime()}`,\r\n title: ' ',\r\n editModel: this.state.notificationData,\r\n isOpenModal: this.state.editNotificationEmailVisible,\r\n toggleModal: (open) => this.toggleModal(open, 'editNotificationEmailVisible'),\r\n save: this.sendNotification,\r\n idAudit: this.state.notificationData.idAudit,\r\n canEdit: this.props.isTeamLeader,\r\n };\r\n return (\r\n
    \r\n {this.state.editNotificationEmailVisible ? (\r\n \r\n ) : (\r\n ''\r\n )}{' '}\r\n
    \r\n );\r\n };\r\n editNotificationEmail = (id) => {\r\n this.setState((oldState) => ({\r\n editNotificationEmailVisible: !oldState.editNotificationEmailVisible,\r\n }));\r\n this.editNotificationEmailModal();\r\n };\r\n\r\n sendNotification = (data) => {\r\n if (\r\n this.validator.fieldValid('distributionList') &&\r\n // this.validator.fieldValid('responsible') &&\r\n this.validator.fieldValid('activities')\r\n ) {\r\n this.props.onSend(data);\r\n this.setState({\r\n editNotificationEmailVisible: false,\r\n notificationData: data,\r\n });\r\n } else {\r\n this.validator.showMessageFor('distributionList');\r\n // this.validator.showMessageFor('responsible');\r\n this.validator.showMessageFor('activities');\r\n\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n handleActivityDetailVisibility(id) {\r\n const activity = this.state.notificationData.activities.find((i) => i.id === id);\r\n this.setState((oldState) => ({\r\n modalActivityDetailVisible: !oldState.modalActivityDetailVisible,\r\n selectedActivity: activity || {},\r\n }));\r\n }\r\n\r\n handleDeleteActivityModal(id) {\r\n const activity = this.state.notificationData.activities.find((i) => i.id === id);\r\n this.setState((oldState) => ({\r\n modalActivityDeleteVisible: !oldState.modalActivityDeleteVisible,\r\n selectedActivity: activity || {},\r\n }));\r\n }\r\n\r\n handleDeleteRelatedDocumentModal(id) {\r\n const document = this.state.notificationData.documents.find((i) => i.id === id);\r\n this.setState((oldState) => ({\r\n modalDeleteRelatedDocumentVisible: !oldState.modalDeleteRelatedDocumentVisible,\r\n selectedDocument: document || {},\r\n }));\r\n }\r\n\r\n handleRelatedDocumentModalVisibility(id) {\r\n const document = this.state.notificationData.documents.find((i) => i.id === id);\r\n this.setState((oldState) => ({\r\n modalRelatedDocumentDetailsVisible: !oldState.modalRelatedDocumentDetailsVisible,\r\n selectedDocument: document || {},\r\n }));\r\n }\r\n\r\n renderDeleteActivitiesModal = () =>\r\n this.state.modalActivityDeleteVisible && (\r\n
    \r\n
    \r\n
    \r\n

    Delete Team Activity

    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    Press confirm to remove selected activity
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n renderDeleteRelatedDocumentModal = () =>\r\n this.state.modalDeleteRelatedDocumentVisible && (\r\n
    \r\n
    \r\n
    \r\n

    Delete Related Document

    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    Press confirm to remove related document
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n Confirm\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n renderRelatedDocumentDetailModal = () => {\r\n const validationsModal = {\r\n name: this.validator.message('name', this.state.selectedDocument.name, 'required'),\r\n };\r\n return (\r\n this.state.modalRelatedDocumentDetailsVisible && (\r\n
    \r\n
    \r\n
    \r\n

    Add New Related Document

    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n this.onDocumentNameChange(e.target.value)}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n Confirm\r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n );\r\n };\r\n\r\n renderNewActivityModal = () => {\r\n const validationsTime = {\r\n validTime: this.validatorTime.message('validTime', this.state.flagTime, 'accepted'),\r\n };\r\n let diffFromTo = false;\r\n if (this.state.selectedActivity.to != null) {\r\n const timeEnd = moment(this.state.selectedActivity.to, 'HH:mm a');\r\n const timeStart = moment(this.state.selectedActivity.from, 'HH:mm a');\r\n const duration = moment.duration(timeEnd.diff(timeStart));\r\n const minutes = parseInt(duration.asMinutes()) % 60;\r\n const hours = parseInt(duration.asHours());\r\n if (minutes >= 0 && hours >= 0) diffFromTo = true;\r\n }\r\n const validationsModal = {\r\n diffTIme: this.validator.message('diffTIme', diffFromTo, 'accepted'),\r\n auditor: this.validator.message('auditor', this.state.selectedActivity.auditor, 'required'),\r\n date: this.validator.message('date', this.state.selectedActivity.date, 'required|datePicker'),\r\n from: this.validator.message('from', this.state.selectedActivity.from, 'required'),\r\n to: this.validator.message('to', this.state.selectedActivity.to, 'required'),\r\n activity: this.validator.message(\r\n 'activity',\r\n this.state.selectedActivity.activity,\r\n 'required'\r\n ),\r\n };\r\n return (\r\n this.state.modalActivityDetailVisible && (\r\n
    \r\n
    \r\n
    \r\n

    Add New Team Activity

    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n this.onAuditorChanged(e.target.value)}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n this.onActivityDateChange(e)}\r\n >\r\n \r\n \r\n\r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {validationsModal.diffTIme ||\r\n validationsModal.to != null ||\r\n validationsModal.to ? (\r\n
    Invalid time format
    \r\n ) : null}\r\n {this.state.flagTime ? (\r\n
    Invalid time format
    \r\n ) : 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\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n );\r\n };\r\n\r\n renderRelatedDocumentsDataTable = () => {\r\n const headers = [\r\n {\r\n key: 'name',\r\n header: 'Name',\r\n isSortable: true,\r\n },\r\n ];\r\n return (\r\n (\r\n \r\n \r\n \r\n
    \r\n
    List Of Related Documents
    \r\n
    \r\n
    \r\n \r\n Add New Document\r\n \r\n
    \r\n
    \r\n
    \r\n {this.renderDeleteRelatedDocumentModal()}\r\n {this.renderRelatedDocumentDetailModal()}\r\n \r\n \r\n \r\n {headers.map((header) => (\r\n {header.header}\r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {!rows || rows.length < 1 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n {row.cells.map((cell) => (\r\n {cell.value}\r\n ))}\r\n \r\n
    \r\n this.handleRelatedDocumentModalVisibility(row.id)}\r\n size=\"small\"\r\n renderIcon={Edit16}\r\n iconDescription=\"Edit\"\r\n kind=\"ghost\"\r\n disabled={this.props.disabled}\r\n />\r\n this.handleDeleteRelatedDocumentModal(row.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n disabled={this.props.disabled}\r\n />\r\n
    \r\n
    \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n
    \r\n )}\r\n />\r\n );\r\n };\r\n\r\n render() {\r\n const validations = {\r\n distributionList: this.validator.message(\r\n 'distributionList',\r\n this.state.notificationData.distributionList,\r\n 'required'\r\n ),\r\n responsibleEmail: this.validator.message(\r\n 'responsible',\r\n this.state.notificationData.responsibleEmail, \r\n 'required'//'emails' vv\r\n ),\r\n activities: this.validator.message(\r\n 'activities',\r\n this.state.notificationData.activities[0],\r\n 'required'\r\n ),\r\n };\r\n\r\n const headers = [\r\n {\r\n key: 'auditor',\r\n header: 'Auditor',\r\n isSortable: true,\r\n },\r\n {\r\n key: 'workSite',\r\n header: 'WorkSite',\r\n },\r\n {\r\n key: 'activity',\r\n header: 'Activity',\r\n },\r\n {\r\n key: 'date',\r\n header: 'Date',\r\n },\r\n {\r\n key: 'time',\r\n header: 'Time From-TO',\r\n },\r\n ];\r\n return (\r\n
    \r\n \r\n {\r\n const dateA = new Date(a.date);\r\n const dateB = new Date(b.date);\r\n const hA = moment(a.from, 'HH:mm a');\r\n const hB = moment(b.from, 'HH:mm a');\r\n dateA.setHours(hA.hours(), hA.minutes());\r\n dateB.setHours(hB.hours(), hB.minutes());\r\n return dateA - dateB;\r\n }) || []\r\n }\r\n headers={headers}\r\n render={({ rows, getHeaderProps }) => (\r\n \r\n \r\n \r\n
    \r\n
    List Of Audit Activities
    \r\n
    \r\n
    \r\n \r\n Add New Activity\r\n \r\n
    \r\n
    \r\n
    \r\n {this.renderDeleteActivitiesModal()}\r\n {this.renderNewActivityModal()}\r\n \r\n \r\n \r\n {headers.map((header) => (\r\n {header.header}\r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {!rows || rows.length < 1 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n {row.cells.map((cell) => (\r\n \r\n {cell.info.header.includes('date')\r\n ? moment(cell.value).format('DD/MM/YYYY')\r\n : cell.info.header.includes('workSite')\r\n ? cell.value?.name || 'N/A'\r\n : cell.value}\r\n \r\n \r\n ))}\r\n \r\n
    \r\n this.handleActivityDetailVisibility(row.id)}\r\n size=\"small\"\r\n renderIcon={Edit16}\r\n iconDescription=\"Edit\"\r\n kind=\"ghost\"\r\n disabled={this.props.disabled}\r\n />\r\n this.handleDeleteActivityModal(row.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n disabled={this.props.disabled}\r\n />\r\n
    \r\n
    \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n
    \r\n )}\r\n />\r\n {validations.activities}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {/* {}}\r\n placeholder=\"provide valid email address\"\r\n type=\"email\"\r\n value={this.state.notificationData.responsibleEmail || ''}\r\n disabled={this.props.disabled}\r\n /> */}\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n this.onMailBodyModify(el.target.value)\r\n }\r\n hideLabel={true}\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={100}\r\n disabled={this.props.isDisabled}\r\n />\r\n \r\n
    \r\n\r\n
    \r\n {this.renderRelatedDocumentsDataTable()}\r\n
    \r\n \r\n Save\r\n \r\n\r\n \r\n Sign and Send\r\n \r\n {this.editNotificationEmailModal()}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nAuditNotificationForm.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n NotificationFormData: PropTypes.object.isRequired,\r\n minDate: PropTypes.string.isRequired,\r\n maxDate: PropTypes.string.isRequired,\r\n workSites: PropTypes.array.isRequired,\r\n disabled: PropTypes.bool,\r\n onSave: PropTypes.func.isRequired,\r\n onSend: PropTypes.func.isRequired,\r\n};\r\nAuditNotificationForm.defaultProps = {\r\n disabled: true,\r\n};\r\n","/* eslint-disable react/sort-comp */\r\n/* eslint-disable array-callback-return */\r\n/* eslint-disable */\r\nimport React, { Component } from 'react';\r\nimport {\r\n Tabs,\r\n Tab,\r\n TabsSkeleton,\r\n Button,\r\n AccordionItem,\r\n Accordion,\r\n SkeletonText,\r\n Loading,\r\n InlineLoading,\r\n Tile,\r\n FormGroup,\r\n DatePicker,\r\n DatePickerInput,\r\n TableContainer,\r\n Table,\r\n TableHead,\r\n TableRow,\r\n TableHeader,\r\n TableBody,\r\n TableCell,\r\n TextArea,\r\n InlineNotification,\r\n Toggle,\r\n ComposedModal,\r\n ModalBody, \r\n ModalHeader,\r\n Checkbox \r\n} from 'carbon-components-react';\r\nimport { Information16, CheckmarkOutline16, Send16, Error16, Download16 } from '@carbon/icons-react';\r\nimport View16 from '@carbon/icons-react/lib/view/16';\r\nimport Save16 from '@carbon/icons-react/lib/save/16';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport Close16 from '@carbon/icons-react/lib/close/16';\r\nimport Attachment16 from '@carbon/icons-react/lib/attachment/16';\r\nimport PropTypes from 'prop-types';\r\nimport { v4 as uuid } from 'uuid';\r\nimport Add16 from '@carbon/icons-react/lib/add/16';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport moment from 'moment';\r\n\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { AppContext } from '../../helpers/context/AppContext';\r\nimport { IsEnabled, IsEditable, CanExecuteAction, IsInRole } from '../../helpers/authorization/Policies';\r\nimport { api, audit, me } from '../../helpers/api/api';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport {\r\n getError,\r\n sizeFormat,\r\n getSuccess,\r\n apioperation,\r\n entitiesLabels,\r\n STATUS,\r\n} from '../../helpers/Constants';\r\nimport CheckListQuestionAnswer from './common/CheckListQuestionAnswer';\r\nimport FileUpload from '../common/FileUpload';\r\nimport { switchDateFormat } from '../../helpers/jsonschemaform/customwidget/utils';\r\nimport { NoRecordsPlaceholder } from '../../helpers/jsonschemaform/DataTableExtention';\r\nimport CheckListRequirement from './common/CheckListRequirement';\r\nimport AuditPersonnel from './common/AuditPersonnel';\r\nimport AuditNotificationForm from './common/AuditNotificationForm';\r\nimport PageBreadCrumb, { StatusTag } from '../../helpers/PageBreadCrumb';\r\nimport { WFActionModal } from '../common/WFActionModal';\r\nimport { HistoryTable } from '../../helpers/HistoryTable';\r\nimport AuditRepository from '../../helpers/api/AuditRepository';\r\nimport { Online, Offline } from '../common/OnLineOffLine';\r\nimport DownLoadButton from '../common/FileDownloadButton';\r\n\r\nexport default class AuditReport extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n tabsLoading: true,\r\n audit: {},\r\n requirementToDelete: null,\r\n isSubmitted: false,\r\n mainInformationOpened: false,\r\n downloading: null,\r\n modalAddRequirementVisible: false,\r\n addRequirementTemplate: null,\r\n addRequirementSection: null,\r\n modalDeleteRequirementVisible: false,\r\n modalUpdateRequirementVisible: false,\r\n modalDeleteAttachmentVisible: false,\r\n modalDeleteReportAttachmentVisible: false, //RITM0646764\r\n checkListRequirementToModify: null,\r\n requirementToModify: null,\r\n employees: [],\r\n selectedAttachment: null,\r\n editingDisabled: true,\r\n // /Status Action\r\n isApprovalModalOpen: false,\r\n approvalModalAction: '',\r\n approver: null,\r\n approvalStartDate: null,\r\n approvalEndDate: null,\r\n isLoadingApproverOptions: true,\r\n approvalValidationMessages: [],\r\n approvers: [],\r\n selectedData: [],\r\n approverRole: '',\r\n withApprover: true,\r\n approverWarning: null, //RITM0646764\r\n isLoadingWFOperation: false,\r\n approvalNotesRequired: false,\r\n // /Status Action\r\n isHistoryModalOpen: false,\r\n // //\r\n validationSend: true,\r\n validationAnswer: false,\r\n //userDivision: [], //B1_Audit_Module_Optimization\r\n\r\n //DEV 550\r\n checklistTemplates: [],\r\n isLoadingNotificationFile: false,\r\n activitiesData: [],\r\n };\r\n\r\n this.getItems = this.getItems.bind(this);\r\n this.getTemplate = this.getTemplate.bind(this);\r\n this.getSections = this.getSections.bind(this);\r\n this.getQuestionAnswer = this.getQuestionAnswer.bind(this);\r\n this.getRequirementAnswer = this.getRequirementAnswer.bind(this);\r\n this.renderHeader = this.renderHeader.bind(this);\r\n this.onAnswerChange = this.onAnswerChange.bind(this);\r\n this.onNoteChange = this.onNoteChange.bind(this);\r\n this.updateCheckList = this.updateCheckList.bind(this);\r\n this.updatePersonnel = this.updatePersonnel.bind(this);\r\n this.updateConsideration = this.updateConsideration.bind(this);\r\n this.updateMainInformation = this.updateMainInformation.bind(this);\r\n this.renderLoadingModal = this.renderLoadingModal.bind(this);\r\n this.onMainInformationAccordionClick = this.onMainInformationAccordionClick.bind(this);\r\n this.onStartDateChange = this.onStartDateChange.bind(this);\r\n this.onEndDateChange = this.onEndDateChange.bind(this);\r\n this.onAdditionalNoteChange = this.onAdditionalNoteChange.bind(this);\r\n this.onReportSummaryChange = this.onReportSummaryChange.bind(this);\r\n this.onIntroductionChange = this.onIntroductionChange.bind(this);\r\n this.onUpload = this.onUpload.bind(this);\r\n\r\n this.onDeleteAttachment = this.onDeleteAttachment.bind(this);\r\n this.showAddRequirement = this.showAddRequirement.bind(this);\r\n this.showModifyRequirement = this.showModifyRequirement.bind(this);\r\n this.showDeleteRequirement = this.showDeleteRequirement.bind(this);\r\n this.newCheckListRequirementAdded = this.newCheckListRequirementAdded.bind(this);\r\n this.checkListRequirementUpdated = this.checkListRequirementUpdated.bind(this);\r\n this.handleRequirementDelete = this.handleRequirementDelete.bind(this);\r\n this.handleDeleteAttachmentModalVisibility = this.handleDeleteAttachmentModalVisibility.bind(\r\n this\r\n );\r\n this.handleRequirementDeleteCancel = this.handleRequirementDeleteCancel.bind(this);\r\n this.onAuditorAdd = this.onAuditorAdd.bind(this);\r\n this.onAuditorDelete = this.onAuditorDelete.bind(this);\r\n this.getEmployees = this.getEmployees.bind(this);\r\n this.onAuditeesAdd = this.onAuditeesAdd.bind(this);\r\n this.onAuditeesDelete = this.onAuditeesDelete.bind(this);\r\n this.updateNotificationData = this.updateNotificationData.bind(this);\r\n this.sendNotificationData = this.sendNotificationData.bind(this);\r\n this.CanUserEdit = this.CanUserEdit.bind(this);\r\n this.CanAuditorEdit = this.CanAuditorEdit.bind(this);\r\n this.repository = new AuditRepository();\r\n this.validator = new SimpleReactValidator();\r\n this.validationsAnswer = new SimpleReactValidator();\r\n }\r\n\r\n async componentDidMount() {\r\n this.setState({ tabsLoading: true });\r\n const audit = await this.getItems();\r\n //const userDivision = await this.repository.getAuditors(); //B1_Audit_Module_Optimization\r\n this.setState({\r\n audit,\r\n //userDivision, //B1_Audit_Module_Optimization\r\n tabsLoading: false,\r\n editingDisabled: !this.CanUserEdit(audit),\r\n });\r\n // this.getEmployees();\r\n this.validationSendNotification();\r\n }\r\n\r\n CanUserEdit = (audit) => {\r\n return (\r\n IsEditable(\r\n 'Audit',\r\n this.state.audit.newCarManagement === false ? 'Reporting' : 'FindingReporting',\r\n this.context.user,\r\n audit?.checkList?.status?.id,\r\n 'All',\r\n audit?.checkList\r\n ) || this.CanAuditorEdit(audit)\r\n );\r\n };\r\n\r\n CanAuditorEdit = (audit) => {\r\n var canEdit = false;\r\n audit?.auditors.forEach((auditor) => {\r\n canEdit =\r\n canEdit ||\r\n IsEditable(\r\n 'Audit',\r\n this.state.audit.newCarManagement === false ? 'Reporting' : 'FindingReporting',\r\n this.context.user,\r\n audit?.checkList?.status?.id,\r\n 'All',\r\n auditor\r\n );\r\n });\r\n return canEdit;\r\n };\r\n\r\n showButtonHistory = () => (\r\n this.openModalHistory()}\r\n >\r\n History\r\n \r\n );\r\n\r\n openModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: true });\r\n };\r\n\r\n closeModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: false });\r\n };\r\n\r\n onAnswerChange = (id, answer) => {\r\n const { answers } = this.state.audit.checkList;\r\n const index = answers.findIndex((qa) => qa.id === id);\r\n if (answers[index].answer !== answer) answers[index].answer = answer;\r\n else answers[index].answer = null;\r\n this.setState((prevState) => {\r\n const audit = { ...prevState.audit };\r\n audit.checkList.answers = answers;\r\n return { audit };\r\n });\r\n };\r\n\r\n onMainInformationAccordionClick(obj) {\r\n this.setState({ mainInformationOpened: obj.isOpen });\r\n }\r\n\r\n onNoteChange(id, note) {\r\n note.preventDefault();\r\n const { answers } = this.state.audit.checkList;\r\n const index = answers.findIndex((qa) => qa.id === id);\r\n answers[index].notes = note.target.value;\r\n this.setState((prevState) => {\r\n const audit = { ...prevState.audit };\r\n audit.checkList.answers = answers;\r\n return { audit };\r\n });\r\n }\r\n\r\n onAuditRemoteChange = (e) => {\r\n\t\tconst val = e;\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst audit = { ...prevState.audit };\r\n\t\t\taudit.auditRemote = val;\r\n\t\t\treturn { audit };\r\n\t\t});\r\n\t};\r\n\r\n onStartDateChange(e) {\r\n this.setState((prevState) => {\r\n const audit = { ...prevState.audit };\r\n // audit.startDate = switchDateFormat(startDate[0], 'yyyyMMdd');\r\n audit.startDate = moment(e[0]).format('YYYY-MM-DD');\r\n audit.endDate = moment(e[1]).format('YYYY-MM-DD');\r\n return { audit };\r\n });\r\n }\r\n\r\n onEndDateChange(endDate) {\r\n this.setState((prevState) => {\r\n const audit = { ...prevState.audit };\r\n\r\n audit.endDate = switchDateFormat(endDate[0], 'yyyyMMdd');\r\n return { audit };\r\n });\r\n }\r\n\r\n onReportSummaryChange(event) {\r\n const { value } = event.currentTarget;\r\n this.setState((prevState) => {\r\n const audit = { ...prevState.audit };\r\n audit.reportSummary = value;\r\n return { audit };\r\n });\r\n }\r\n\r\n onIntroductionChange(event) {\r\n const { value } = event.currentTarget;\r\n this.setState((prevState) => {\r\n const audit = { ...prevState.audit };\r\n audit.introduction = value;\r\n return { audit };\r\n });\r\n }\r\n\r\n onAdditionalNoteChange(event) {\r\n const { value } = event.currentTarget;\r\n this.setState((prevState) => {\r\n const audit = { ...prevState.audit };\r\n audit.additionalNotes = value;\r\n return { audit };\r\n });\r\n }\r\n\r\n onAuditorAdd(item) {\r\n if (item.id == null) {\r\n item.id = uuid();\r\n }\r\n const emailduplicate = this.state.audit.auditors.filter((el) => el.id == item.id);\r\n const emailduplicateNoSaipem = this.state.audit.auditorsNoSaipem.filter(\r\n (el) => el.email == item.email\r\n );\r\n if (emailduplicate == 0 && emailduplicateNoSaipem == 0) {\r\n this.setState((prevState) => {\r\n const audit = { ...prevState.audit };\r\n item.fullName = `${item.name} ${item.surname}`;\r\n item.role = 'Auditor';\r\n if (item.idEmployer != null) {\r\n audit.auditors = prevState.audit.auditors.concat(item);\r\n } else {\r\n audit.auditorsNoSaipem = prevState.audit.auditorsNoSaipem.concat(item);\r\n item.external = true;\r\n audit.auditors = prevState.audit.auditors.concat(item);\r\n }\r\n return { audit };\r\n });\r\n } else {\r\n showNotification.warning(`${entitiesLabels.WARNING}`, ' Auditors duplicate email ');\r\n }\r\n }\r\n\r\n onAuditeesAdd(item) {\r\n if (item.id == null) {\r\n item.id = uuid();\r\n }\r\n const emailduplicate = this.state.audit.auditees.filter((el) => el.id == item.id);\r\n const emailduplicateNoSaipem = this.state.audit.auditeeNoSaipem.filter(\r\n (el) => el.email == item.email\r\n );\r\n if (emailduplicate == 0 && emailduplicateNoSaipem == 0) {\r\n this.setState((prevState) => {\r\n const audit = { ...prevState.audit };\r\n item.fullName = `${item.name} ${item.surname}`;\r\n\r\n if (item.idEmployer != null) {\r\n audit.auditees = prevState.audit.auditees.concat(item);\r\n } else {\r\n audit.auditeeNoSaipem = prevState.audit.auditeeNoSaipem.concat(item);\r\n item.external = true;\r\n item.role = 'Auditee';\r\n audit.auditees = prevState.audit.auditees.concat(item);\r\n }\r\n\r\n return { audit };\r\n });\r\n } else {\r\n showNotification.warning(`Warning: ${entitiesLabels.AUDIT} Auditors duplicate email `);\r\n }\r\n }\r\n\r\n onAuditorDelete(item) {\r\n this.setState((prevState) => {\r\n const audit = { ...prevState.audit };\r\n audit.auditors = prevState.audit.auditors.filter((a) => a.id !== item.id);\r\n audit.auditorsNoSaipem = prevState.audit.auditorsNoSaipem.filter(\r\n (a) => a.email !== item.email\r\n );\r\n return { audit };\r\n });\r\n }\r\n\r\n onAuditeesDelete(item) {\r\n this.setState((prevState) => {\r\n const audit = { ...prevState.audit };\r\n audit.auditees = prevState.audit.auditees.filter((a) => a.id !== item.id);\r\n audit.auditeeNoSaipem = prevState.audit.auditeeNoSaipem.filter((a) => a.email !== item.email);\r\n return { audit };\r\n });\r\n }\r\n\r\n async onUpload(fileIdentifier, fileName, fileType, size) {\r\n const newAttach = {\r\n id: uuid(),\r\n fileIdentifier: fileIdentifier.blobName,\r\n name: fileName,\r\n contentType: fileType,\r\n size,\r\n };\r\n try {\r\n this.setState({ isSubmitted: true });\r\n await api.post(`/audit/${this.state.audit.id}/attachment`, newAttach);\r\n return this.setState((prevState) => {\r\n const audit = { ...prevState.audit };\r\n audit.attachments.push(newAttach);\r\n return { audit };\r\n });\r\n } catch (error) {\r\n return showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.AUDIT, apioperation.POST)\r\n );\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n }\r\n\r\n onDeleteAttachment(Id) {\r\n const selectedItem = this.state.audit.attachments.find((item) => item.id === Id);\r\n this.setState((oldState) => ({\r\n selectedAttachment: selectedItem,\r\n modalDeleteAttachmentVisible: !oldState.modalDeleteAttachmentVisible,\r\n }));\r\n }\r\n \r\n //#region AuditReportAttachment RITM0646764\r\n onUploadReportSigned = async (fileIdentifier, fileName, fileType, size) => {\r\n const newAttach = {\r\n id: uuid(),\r\n fileIdentifier: fileIdentifier.blobName,\r\n name: fileName,\r\n contentType: fileType,\r\n size,\r\n };\r\n try {\r\n this.setState({ isSubmitted: true });\r\n await api.post(`/audit/${this.state.audit.id}/auditreportattachment`, newAttach);\r\n return this.setState((prevState) => {\r\n const audit = { ...prevState.audit };\r\n const selectedAttachment = {\r\n idAudit: audit.id,\r\n idAttachment: newAttach.id,\r\n attachment: newAttach\r\n }\r\n audit.reportAttachments.push(selectedAttachment);\r\n return { audit };\r\n });\r\n } catch (error) {\r\n return showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.AUDIT, apioperation.POST)\r\n );\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n }\r\n\r\n onDeleteAttachmentReportSigned = (Id) => {\r\n const selectedItem = this.state.audit.reportAttachments.find((item) => item.attachment.id === Id);\r\n var selectedAttachment = null;\r\n if(selectedItem){\r\n selectedAttachment = selectedItem.attachment;\r\n }\r\n this.setState((oldState) => ({\r\n selectedAttachment: selectedAttachment,\r\n modalDeleteReportAttachmentVisible: !oldState.modalDeleteReportAttachmentVisible,\r\n }));\r\n }\r\n\r\n deleteReportAttachment = async () => {\r\n try {\r\n this.setState({ isSubmitted: true });\r\n await api.deleteData(\r\n `/audit/${this.state.audit.id}/auditreportattachment/${this.state.selectedAttachment.fileIdentifier}`\r\n );\r\n this.setState((prevState) => {\r\n const audit = { ...prevState.audit };\r\n audit.reportAttachments = prevState.audit.reportAttachments.filter(\r\n (a) => a.attachment.id !== prevState.selectedAttachment.id\r\n );\r\n return { audit };\r\n });\r\n return this.handleDeleteReportAttachmentModalVisibility();\r\n } catch (error) {\r\n return showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.FileUpload, apioperation.DELETE)\r\n );\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n };\r\n\r\n renderDeleteReportAttachmentModal = () =>\r\n this.state.modalDeleteReportAttachmentVisible && (\r\n
    \r\n
    \r\n
    \r\n

    Delete Attachment

    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {`Press confirm to delete ${this.state.selectedAttachment.name}`}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n handleDeleteReportAttachmentModalVisibility = () => {\r\n this.setState((oldState) => ({\r\n modalDeleteReportAttachmentVisible: !oldState.modalDeleteReportAttachmentVisible,\r\n selectedAttachment: null,\r\n }));\r\n }\r\n\r\n ifManageReportAttachment = (user) => {\r\n console.log(user)\r\n if(IsInRole(user, 'Administrator')) return true;\r\n if(IsInRole(user, 'Compiler') && this.state.audit?.checkList?.status.reportingName !== 'Approved' && this.state.audit?.checkList?.status.reportingName !== 'Completed')\r\n return true\r\n \r\n return false;\r\n }\r\n //#endregion\r\n \r\n getStatusActions = (user) => {\r\n if (!this.IsRowSelectable()) {\r\n return (\r\n \r\n <>\r\n {CanExecuteAction(\r\n 'Audit',\r\n 'Reporting',\r\n user,\r\n \"\",\r\n 'DownloadAuditZip',\r\n this.state.audit.checkList,\r\n this.state.audit.auditors //RITM0736117\r\n ) ?\r\n \r\n this.DownloadAuditZipAction() //RITM0646764\r\n }\r\n >\r\n Download Report\r\n : null }\r\n \r\n \r\n )\r\n };\r\n const { idStatus } = this.state.audit.checkList;\r\n\r\n return (\r\n \r\n <>\r\n {CanExecuteAction(\r\n 'Audit',\r\n this.state.audit.newCarManagement === false ? 'Reporting' : 'FindingReporting',\r\n user,\r\n \"\",\r\n 'DownloadAuditZip',\r\n this.state.audit.checkList,\r\n this.state.audit.auditors //RITM0736117\r\n ) ?\r\n \r\n this.DownloadAuditZipAction() //RITM0646764\r\n }\r\n >\r\n Download Report\r\n : null }\r\n {CanExecuteAction(\r\n 'Audit',\r\n 'Reporting',\r\n user,\r\n idStatus,\r\n 'Submit',\r\n this.state.audit.checkList,\r\n this.state.audit.auditors //RITM0736117\r\n ) ? (\r\n \r\n this.submitReportAction() //RITM0646764\r\n }\r\n >\r\n Submit Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Audit',\r\n this.state.audit.newCarManagement === false ? 'Reporting' : 'FindingReporting',\r\n user,\r\n idStatus,\r\n 'Approve',\r\n this.state.audit.checkList\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'approvereport',\r\n 'Approve',\r\n null,\r\n false,//RITM0735062\r\n false,\r\n null\r\n )\r\n }\r\n >\r\n Approve Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Audit',\r\n this.state.audit.newCarManagement === false ? 'Reporting' : 'FindingReporting',\r\n user,\r\n idStatus,\r\n 'Consolidate',\r\n this.state.audit.checkList\r\n ) ? (\r\n \r\n this.batchActionClick('consolidatereport', 'Approve', null, false, false, null)\r\n }\r\n >\r\n Consolidate Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Audit',\r\n this.state.audit.newCarManagement === false ? 'Reporting' : 'FindingReporting',\r\n user,\r\n idStatus,\r\n 'Reject',\r\n this.state.audit.checkList\r\n ) ? (\r\n \r\n this.batchActionClick('rejectreport', 'Reject', null, false, true, null)\r\n }\r\n >\r\n Reject Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Audit',\r\n this.state.audit.newCarManagement === false ? 'Reporting' : 'FindingReporting',\r\n user,\r\n idStatus,\r\n 'RejectConsolidate',\r\n this.state.audit.checkList\r\n ) ? (\r\n \r\n this.batchActionClick('rejectconsolidatereport', 'Reject', null, false, true, null)\r\n }\r\n >\r\n Reject Report\r\n \r\n ) : null}\r\n\r\n {/* {CanExecuteAction('Audit', 'Reporting', user, idStatus, 'Delete') ? (\r\n \r\n this.batchActionClick('deletereport', 'Delete', null, false, false, null)\r\n }\r\n >\r\n Delete\r\n \r\n ) : null} */}\r\n \r\n \r\n );\r\n };\r\n\r\n getUsersInRole = (role, idEntity) => {\r\n me.getWithParam('users', {\r\n params: { Role: role, IdEntity: idEntity, includeAdmins: true },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n approvers: response.data,\r\n isLoadingApproverOptions: false,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.ROLE, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingApproverOptions: false,\r\n });\r\n });\r\n };\r\n\r\n getTemplate = () => {\r\n const result = [];\r\n const map = new Map();\r\n this.state.audit.checkList.answers.map((answer) => {\r\n if (!map.has(answer.idAuditCheckListTemplate)) {\r\n map.set(answer.idAuditCheckListTemplate, true);\r\n result.push({...answer.template, /*DEV550*/ active: answer.active});\r\n }\r\n });\r\n const orderResult = [];\r\n var defaultTemplate = result.filter(x => x.code === 'DEFAULT');\r\n var noDefaultTemplate = result.filter(x => x.code !== 'DEFAULT');\r\n\r\n defaultTemplate.map(item => {\r\n orderResult.push(item);\r\n })\r\n\r\n noDefaultTemplate.map(item => {\r\n orderResult.push(item);\r\n })\r\n\r\n return orderResult;\r\n };\r\n\r\n toggleActiveTemplateQuestions = (idCheckListTemplate) => {\r\n const updatedAnswer =this.state.audit.checkList.answers.map(answer => {\r\n if(answer.idAuditCheckListTemplate === idCheckListTemplate) return {...answer, active: !answer.active}\r\n return {...answer}\r\n })\r\n const copyOfAudit = {...this.state.audit}\r\n copyOfAudit.checkList.answers = updatedAnswer\r\n this.setState({ audit: copyOfAudit })\r\n }\r\n\r\n getSections = (idTemplate) => {\r\n const result = [];\r\n const map = new Map();\r\n this.state.audit.checkList.answers.map((item) => {\r\n if (\r\n item.idAuditCheckListTemplate === idTemplate &&\r\n !map.has(item.idAuditCheckListTemplateSection)\r\n ) {\r\n map.set(item.idAuditCheckListTemplateSection, true);\r\n result.push(item.section);\r\n }\r\n });\r\n return result.sort((a, b) => a.ranking - b.ranking);\r\n };\r\n\r\n getQuestionAnswer = (idSection) => {\r\n const result = [];\r\n this.state.audit.checkList.answers.map((item) => {\r\n if (item.idAuditCheckListTemplateSection === idSection && item.question) result.push(item);\r\n });\r\n return result.sort((a, b) => {\r\n // const codeA = a.question.code.toUpperCase();\r\n // const codeB = b.question.code.toUpperCase();\r\n \r\n // RITM0567424\r\n const codeA = a.question.ranking\r\n const codeB = b.question.ranking;\r\n return codeA < codeB ? -1 : codeA > codeB ? 1 : 0;\r\n });\r\n // return result.sort((a, b) => a.question.ranking - b.question.ranking);\r\n };\r\n\r\n getRequirementAnswer = (idSection) => {\r\n const result = [];\r\n this.state.audit.checkList.answers.map((item) => {\r\n if (item.idAuditCheckListTemplateSection === idSection && item.requirement) result.push(item);\r\n });\r\n return result.sort((a, b) => {\r\n const codeA = a.requirement.code\r\n const codeB = b.requirement.code;\r\n return codeA < codeB ? -1 : codeA > codeB ? 1 : 0;\r\n });\r\n };\r\n\r\n getItems = async () => {\r\n let audit = null;\r\n\r\n try {\r\n audit = await this.repository.getAudit(this.props.match.params.id);\r\n audit.auditorsNoSaipem.map((el) => {\r\n audit.auditors.push({ ...el, id: uuid() });\r\n });\r\n\r\n audit.auditeeNoSaipem.map((el) => {\r\n audit.auditees.push({ ...el, id: uuid() });\r\n });\r\n } catch (error) {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.REPORT, apioperation.GET)\r\n );\r\n }\r\n return audit;\r\n };\r\n\r\n async getEmployees() {\r\n try {\r\n const employees = await this.repository.getEmployees();\r\n this.setState({\r\n employees,\r\n });\r\n } catch (error) {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.EMPLOYER, apioperation.GET)\r\n );\r\n }\r\n }\r\n\r\n // /Status Action\r\n handleApproverSelect = (selectedItem) => {\r\n this.setState({ approver: selectedItem });\r\n };\r\n\r\n handleCloseApprovalModal = () => {\r\n this.setState({ isApprovalModalOpen: false }, this.clearApprovalForm);\r\n };\r\n\r\n handleApprovalNotesChange = (e) => {\r\n this.setState({ approvalNotes: e.target.value });\r\n };\r\n\r\n handleConfirmApprovalModal = () => {\r\n const apiEndpoint = this.state.approvalEndpoint;\r\n\r\n const data = {\r\n ids: [this.state.audit.id],\r\n owner: this.state.approver,\r\n workflowNotes: this.state.approvalNotes,\r\n };\r\n\r\n this.setState({\r\n isLoadingWFOperation: true,\r\n });\r\n api\r\n .put(`/audit/${apiEndpoint}`, data, '')\r\n .then((response) => {\r\n if (response.status === 200) {\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.AUDIT, apioperation.PUT)\r\n );\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n isApprovalModalOpen: false,\r\n tabsLoading: true,\r\n });\r\n\r\n this.props.history.push('/listofaudit');\r\n } else {\r\n showNotification.error();\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.AUDIT, apioperation.PUT)\r\n );\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n })\r\n .finally(() => {});\r\n };\r\n\r\n refreshAudit = async () => {\r\n this.setState({\r\n tabsLoading: true,\r\n });\r\n const audit = await this.getItems();\r\n this.setState({\r\n audit,\r\n tabsLoading: false,\r\n editingDisabled: !this.CanUserEdit(audit),\r\n });\r\n };\r\n\r\n deleteAttachment = async () => {\r\n try {\r\n this.setState({ isSubmitted: true });\r\n await api.deleteData(\r\n `/audit/${this.state.audit.id}/attachment/${this.state.selectedAttachment.fileIdentifier}`\r\n );\r\n this.setState((prevState) => {\r\n const audit = { ...prevState.audit };\r\n audit.attachments = prevState.audit.attachments.filter(\r\n (a) => a.id !== prevState.selectedAttachment.id\r\n );\r\n return { audit };\r\n });\r\n return this.handleDeleteAttachmentModalVisibility();\r\n } catch (error) {\r\n return showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.FileUpload, apioperation.DELETE)\r\n );\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n };\r\n\r\n renderDeleteAttachmentModal = () =>\r\n this.state.modalDeleteAttachmentVisible && (\r\n
    \r\n
    \r\n
    \r\n

    Delete Attachment

    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {`Press confirm to delete ${this.state.selectedAttachment.name}`}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n renderTitle = () => (\r\n
    \r\n
    \r\n {this.state.tabsLoading ? (\r\n \r\n ) : (\r\n
    \r\n
    \r\n
    {this.state.audit.auditCode}
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n\r\n renderMainInformationTitle = () =>\r\n this.state.mainInformationOpened ? (\r\n Main Information\r\n ) : (\r\n <>\r\n
    \r\n
    \r\n Main Information\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* RITM0945977 */}\r\n {/* Division */}\r\n Business Line\r\n
    \r\n
    \r\n {this.state.tabsLoading ? (\r\n \r\n ) : (\r\n {this.state.audit.division.name}\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Company\r\n
    \r\n
    \r\n {this.state.tabsLoading ? (\r\n \r\n ) : (\r\n \r\n {this.state.audit.company ? this.state.audit.company.name : 'N.A.'}\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Audited Site\r\n
    \r\n
    \r\n {this.state.tabsLoading ? (\r\n \r\n ) : (\r\n \r\n {this.state.audit.workSites.map((item) => item.name).join(', ')}\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n\r\n renderHeader = () => (\r\n \r\n );\r\n\r\n updateCheckList = async () => {\r\n // if (this.validationsAnswer.allValid()) { //CONTROLLO INSERITO NEL SUBMIT\r\n try {\r\n this.setState({ isSubmitted: true });\r\n await api.put('/audit/checklist', this.state.audit);\r\n this.repository.updateCachedAudit(this.state.audit);\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.AUDIT, apioperation.PUT)\r\n );\r\n } catch (error) {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(entitiesLabels.AUDIT, apioperation.PUT)\r\n );\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n // } else {\r\n // this.validationsAnswer.showMessages();\r\n // showNotification.warning(`${entitiesLabels.WARNING}`, \"${entitiesLabels.AUDIT} required fields are missing \");\r\n // this.forceUpdate();\r\n // }\r\n };\r\n\r\n updatePersonnel = async () => {\r\n try {\r\n this.setState({ isSubmitted: true });\r\n await api.put('/audit/personnel', this.state.audit);\r\n this.repository.updateCachedAudit(this.state.audit);\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.AUDIT, apioperation.PUT)\r\n );\r\n } catch (error) {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(entitiesLabels.AUDIT, apioperation.PUT)\r\n );\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n };\r\n\r\n updateConsideration = async () => {\r\n try {\r\n this.setState({ isSubmitted: true });\r\n await api.put('/audit/consideration', this.state.audit);\r\n this.repository.updateCachedAudit(this.state.audit);\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.AUDIT, apioperation.PUT)\r\n );\r\n } catch (error) {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(entitiesLabels.AUDIT, apioperation.PUT)\r\n );\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n };\r\n\r\n checkActivityValidDate = () => {\r\n const startDate = this.state.audit.startDate ? moment(this.state.audit.startDate).format('YYYY-MM-DD') : null;\r\n const endDate = this.state.audit.endDate ? moment(this.state.audit.endDate).format('YYYY-MM-DD') : null;\r\n\r\n var validDate = true;\r\n this.state.activitiesData?.forEach(activity => {\r\n console.log(\"date\", activity.date)\r\n console.log(\"sdate\", startDate)\r\n console.log(\"edate\", endDate)\r\n \r\n if(activity.date > endDate || activity.date < startDate){\r\n validDate = false; \r\n }\r\n });\r\n\r\n if(this.state.activitiesData?.length === 0){\r\n console.log(this.state.audit.checkList.notificationForm?.activities)\r\n this.state.audit.checkList.notificationForm?.activities?.forEach(activity => {\r\n let activityDate = activity.date ? moment(activity.date).format('YYYY-MM-DD') : null;\r\n console.log(\"date\", activityDate)\r\n console.log(\"sdate\", startDate)\r\n console.log(\"edate\", endDate)\r\n\r\n if(activityDate > endDate || activityDate < startDate){\r\n validDate = false; \r\n }\r\n });\r\n }\r\n\r\n return validDate;\r\n }\r\n\r\n updateMainInformation = async () => {\r\n if (this.validator.allValid()) { \r\n if(this.checkActivityValidDate()){ \r\n try {\r\n this.setState({ isSubmitted: true });\r\n await api.put('/audit/maininformation', this.state.audit);\r\n this.repository.updateCachedAudit(this.state.audit);\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.AUDIT, apioperation.PUT)\r\n );\r\n } catch (error) {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(entitiesLabels.AUDIT, apioperation.PUT)\r\n );\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n }\r\n else{\r\n const startDate = this.state.audit.startDate ? moment(this.state.audit.startDate).format('YYYY-MM-DD') : null;\r\n const endDate = this.state.audit.endDate ? moment(this.state.audit.endDate).format('YYYY-MM-DD') : null;\r\n\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n `There are some ActiviyDate that do not fall within the range of ${startDate} and ${endDate}`\r\n );\r\n this.forceUpdate();\r\n }\r\n } else {\r\n this.validator.showMessages();\r\n\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.AUDIT} required fields are missing`\r\n );\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n validationSendNotification() {\r\n if (this.validator.allValid()) {\r\n this.setState({\r\n validationSend: false,\r\n });\r\n } else {\r\n this.setState({\r\n validationSend: true,\r\n });\r\n }\r\n }\r\n\r\n updateNotificationData = async (item) => {\r\n if (this.validator.allValid()) {\r\n this.updateMainInformation();\r\n\r\n if(this.checkActivityValidDate()){\r\n try {\r\n this.setState({ isSubmitted: true, validationSend: false });\r\n \r\n item.savedOn = new Date();\r\n await api.put('/audit/notification', item);\r\n \r\n const { audit } = this.state;\r\n audit.checkList.notificationForm = item;\r\n this.repository.updateCachedAudit(audit);\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.NOTIFICATION, apioperation.PUT)\r\n );\r\n } catch (error) {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(entitiesLabels.NOTIFICATION, apioperation.PUT)\r\n );\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n } \r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.AUDIT} required fields are missing `\r\n );\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n setActivitiesData = (items) => {\r\n console.log(items)\r\n this.setState({\r\n activitiesData: items\r\n })\r\n }\r\n\r\n sendNotificationData = async (notificationItem) => {\r\n if (this.validator.allValid()) {\r\n const item = notificationItem;\r\n try {\r\n this.setState({ isSubmitted: true });\r\n item.sendedOn = new Date();\r\n item.sendedBy = this.context.user.email;\r\n await api.put('/audit/notification/send', item);\r\n\r\n const { audit } = this.state;\r\n audit.checkList.notificationForm = item;\r\n this.repository.updateCachedAudit(audit);\r\n showNotification.success(`${entitiesLabels.SUCCESS}`, 'Notification sent successfully');\r\n } catch (error) {\r\n item.sendedOn = null;\r\n item.sendedBy = null;\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n 'Error occurred, Notification not sent successfully'\r\n );\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n }\r\n };\r\n\r\n handleRequirementDelete = async () => {\r\n try {\r\n this.setState({ isSubmitted: true });\r\n await api.delete('/audit/checklistquestion/', this.state.requirementToDelete);\r\n const { answers } = this.state.audit.checkList;\r\n const index = answers.findIndex(\r\n (qa) => qa.requirement?.id === this.state.requirementToDelete\r\n );\r\n answers.splice(index, 1);\r\n this.setState((prevState) => {\r\n const audit = { ...prevState.audit };\r\n audit.checkList.answers = answers;\r\n return { audit };\r\n });\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.NOTIFICATION, apioperation.DELETE)\r\n );\r\n } catch (error) {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(entitiesLabels.NOTIFICATION, apioperation.DELETE)\r\n );\r\n throw error;\r\n } finally {\r\n this.setState((oldState) => ({\r\n isSubmitted: false,\r\n modalDeleteRequirementVisible: !oldState.modalDeleteRequirementVisible,\r\n requirementToDelete: null,\r\n }));\r\n }\r\n };\r\n\r\n handleRequirementDeleteCancel() {\r\n this.setState((oldState) => ({\r\n modalDeleteRequirementVisible: !oldState.modalDeleteRequirementVisible,\r\n requirementToDelete: null,\r\n }));\r\n }\r\n\r\n handleDeleteAttachmentModalVisibility() {\r\n this.setState((oldState) => ({\r\n modalDeleteAttachmentVisible: !oldState.modalDeleteAttachmentVisible,\r\n selectedAttachment: null,\r\n }));\r\n }\r\n\r\n batchActionClick(\r\n actionKey,\r\n actionName,\r\n approverRole,\r\n withApprover,\r\n approvalNotesRequired,\r\n selectedRows,\r\n approverWarning = null //RITM0646764\r\n ) {\r\n // if (this.validationsAnswer.allValid()) { // answer will be validated only from BE\r\n const { audit } = this.state;\r\n const idEntity = audit.idDivision;\r\n this.setState({\r\n approvalModalAction: actionName,\r\n isApprovalModalOpen: true,\r\n isLoadingApproverOptions: true,\r\n withApprover,\r\n approverWarning, //RITM0646764\r\n selectedData: selectedRows,\r\n approverRole,\r\n approvalEndpoint: actionKey,\r\n approvalNotesRequired,\r\n });\r\n if (withApprover) this.getUsersInRole(approverRole, idEntity);\r\n // } else {\r\n // this.validationsAnswer.showMessages();\r\n // showNotification.warning(\r\n // `${entitiesLabels.WARNING}`,\r\n // `${entitiesLabels.AUDIT} required fields are missing, please remember to save Requirement section before you submit Audit `\r\n // );\r\n // this.forceUpdate();\r\n // }\r\n }\r\n\r\n submitReportAction = () => { //RITM0646764\r\n this.setState({\r\n isSubmitted: true,\r\n });\r\n api\r\n .get(`/audit/checkanswersforsubmitauditreport/`, this.state.audit.id)\r\n .then((response) => {\r\n this.batchActionClick('submitreport', 'Submit', 'Data Approver', true, false, null, response.data || null)\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.AUDIT_REPORT, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isSubmitted: false,\r\n });\r\n });\r\n }\r\n\r\n DownloadAuditZipAction = () => { //RITM0646764\r\n this.setState({\r\n isSubmitted: true,\r\n });\r\n\r\n let input = {\r\n ids: [this.state.audit.id],\r\n isSingle: true\r\n };\r\n\r\n api.postBlob(`/audit/downloadzipmassiveextraction`, input)\r\n .then((response) => {\r\n const link = document.createElement('a');\r\n // Browsers that support HTML5 download attribute\r\n if (link.download !== undefined) {\r\n var currentdate = new Date(); \r\n var datetime = (currentdate.getMonth()+1).toString() +\r\n currentdate.getDate().toString() +\r\n currentdate.getFullYear().toString() +\r\n currentdate.getHours().toString() + \r\n currentdate.getMinutes().toString() + \r\n currentdate.getSeconds().toString();\r\n var fileName = 'Audit_' + this.state.audit.auditCode + '.zip';\r\n\r\n const url = URL.createObjectURL(response.data);\r\n link.setAttribute('href', url);\r\n link.setAttribute('download', fileName);\r\n link.style.visibility = 'hidden';\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(getError(error, entitiesLabels.AUDITMASSIVEEXTRACTION_GETAUDITS, apioperation.POST));\r\n })\r\n .finally(() => {\r\n this.setState({ \r\n isSubmitted: false\r\n });\r\n });\r\n }\r\n\r\n IsRowSelectable() {\r\n const auditItem = this.state.audit;\r\n if (\r\n auditItem == null ||\r\n auditItem.checkList == null ||\r\n auditItem.checkList.idStatus === STATUS.Consolidated\r\n ) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n // eslint-disable-next-line class-methods-use-this\r\n downloadFile(blob, fileName) {\r\n if (navigator.msSaveBlob) {\r\n // IE 10+\r\n navigator.msSaveBlob(blob, fileName);\r\n } else {\r\n const link = document.createElement('a');\r\n // Browsers that support HTML5 download attribute\r\n if (link.download !== undefined) {\r\n const url = URL.createObjectURL(blob);\r\n link.setAttribute('href', url);\r\n link.setAttribute('download', fileName);\r\n link.style.visibility = 'hidden';\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n }\r\n }\r\n\r\n renderLoadingModal = () => {\r\n const show = this.state.isSubmitted;\r\n return show && ;\r\n };\r\n\r\n showAddRequirement(Template, Section) {\r\n this.setState((oldState) => ({\r\n modalAddRequirementVisible: !oldState.modalAddRequirementVisible,\r\n addRequirementTemplate: Template,\r\n addRequirementSection: Section,\r\n }));\r\n }\r\n\r\n showModifyRequirement(idCheckListAnswer, requirement) {\r\n this.setState((oldState) => ({\r\n modalUpdateRequirementVisible: !oldState.modalUpdateRequirementVisible,\r\n requirementToModify: requirement,\r\n checkListRequirementToModify: idCheckListAnswer,\r\n }));\r\n }\r\n\r\n showDeleteRequirement(id) {\r\n this.setState((oldState) => ({\r\n modalDeleteRequirementVisible: !oldState.modalDeleteRequirementVisible,\r\n requirementToDelete: id,\r\n }));\r\n }\r\n\r\n newCheckListRequirementAdded(item) {\r\n this.setState((prevState) => {\r\n const state = { ...prevState };\r\n state.modalAddRequirementVisible = !prevState.modalAddRequirementVisible;\r\n state.isSubmitted = false;\r\n state.audit.checkList.answers = prevState.audit.checkList.answers.concat({...item, active: true});\r\n this.repository.updateCachedAudit(this.state.audit);\r\n return state;\r\n });\r\n }\r\n\r\n checkListRequirementUpdated(item) {\r\n const { answers } = this.state.audit.checkList;\r\n const index = answers.findIndex((qa) => qa.requirement?.id === item.id);\r\n answers[index].requirement = item;\r\n this.setState((prevState) => {\r\n const state = { ...prevState };\r\n state.modalUpdateRequirementVisible = !prevState.modalUpdateRequirementVisible;\r\n state.isSubmitted = false;\r\n state.audit.checkList.answers = answers;\r\n this.repository.updateCachedAudit(this.state.audit);\r\n return state;\r\n });\r\n }\r\n\r\n renderRequirementDeleteModal = () =>\r\n this.state.modalDeleteRequirementVisible && (\r\n
    \r\n
    \r\n
    \r\n

    Delete Custom Requirement

    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    Press confirm to delete selected custom requirement
    \r\n
    \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n Confirm\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n //RITM0646764\r\n //* *************** ATTACHMENT **************** START\r\n showModalAttachment = (id) => {\r\n this.setState({\r\n idAnswerAttachment: id,\r\n isOpenModalAttachment: true,\r\n });\r\n };\r\n\r\n closeModalAttachment = () => {\r\n this.setState({\r\n isOpenModalAttachment: false,\r\n });\r\n };\r\n\r\n modalAttachment(user) {\r\n const modalHeader = {\r\n title: 'Attachments',\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.closeModalAttachment(),\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {this.state.isOpenModalAttachment ? (\r\n false}>\r\n \r\n

    \r\n \r\n \r\n {(IsInRole(user, 'Administrator') || IsInRole(user, 'Compiler')) && (\r\n

    \r\n \r\n
    \r\n )}\r\n \r\n \r\n \r\n \r\n Name\r\n Size\r\n Actions\r\n \r\n \r\n \r\n {this.state.audit?.checkList.answers.map((answer) =>\r\n answer.attachments !== undefined && answer.attachments != [] && answer.id === this.state.idAnswerAttachment ? (//RITM0945977\r\n answer.attachments < 1 ? (\r\n \r\n ) : (\r\n answer.attachments.map((item) => (\r\n \r\n \r\n {item?.name}\r\n \r\n \r\n {sizeFormat(item?.size)}\r\n \r\n \r\n {this.state.downloading === item.id ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n \r\n {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(\r\n error,\r\n entitiesLabels.FileUpload,\r\n apioperation.GET\r\n )\r\n );\r\n }}\r\n onDownLoadStart={() =>\r\n this.setState({\r\n downloading: item.id,\r\n })\r\n }\r\n onDownLoadEnd={() => this.setState({ downloading: null })}\r\n apiUrl={`/audit/${this.state.audit.id}/downloadanswerattachment/${item.fileIdentifier}`}\r\n fileName={item?.name}\r\n size=\"small\"\r\n renderIcon={View16}\r\n iconDescription=\"Download\"\r\n kind=\"ghost\"\r\n disabled={this.state.editingDisabled}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {(IsInRole(user, 'Administrator') ||\r\n IsInRole(user, 'Compiler')) && (\r\n this.onDeleteAttachmentAnswer(item.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n disabled={this.state.editingDisabled}\r\n />\r\n )}{' '}\r\n \r\n \r\n \r\n \r\n
    \r\n )}\r\n \r\n
    \r\n ))\r\n )\r\n ) : (\r\n ''\r\n )\r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n )}\r\n \r\n );\r\n }\r\n\r\n onDeleteAttachmentAnswer = async (id) => {\r\n const answer = this.state.audit.checkList.answers.find(\r\n (item) => item.attachments.count != 0 && item.id === this.state.idAnswerAttachment\r\n );\r\n if(answer !== null && answer !== undefined){\r\n const selectedItem = answer.attachments.find((item) => item.id === id);\r\n try {\r\n this.setState({ isSubmitted: true });\r\n const { fileIdentifier } = selectedItem;\r\n \r\n await audit.deleteAttach(\r\n `/audit/${this.state.audit.id}/deleteanswerattachment/${this.state.idAnswerAttachment}/answer/${fileIdentifier}`\r\n );\r\n const index = answer.attachments.indexOf(selectedItem);\r\n if (index > -1) {\r\n answer.attachments.splice(index, 1);\r\n }\r\n } catch (error) {\r\n return showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.ATTACHMENT, apioperation.DELETE)\r\n );\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n } \r\n }\r\n\r\n onUploadAnswer = async (fileIdentifier, fileName, fileType, size) => {\r\n const newAttach = {\r\n id: uuid(),\r\n fileIdentifier: fileIdentifier.blobName,\r\n name: fileName,\r\n contentType: fileType,\r\n size,\r\n };\r\n this.uploadAnswerAttachment(this.state.idAnswerAttachment, newAttach);\r\n }\r\n\r\n uploadAnswerAttachment = async (idAnswerAttachment, newAttach) => {\r\n const answer = this.state.audit.checkList.answers.find(\r\n (item) => item.attachments.count != 0 && item.id === idAnswerAttachment\r\n );\r\n const index = this.state.audit.checkList.answers.indexOf(answer);\r\n this.setState({ isSubmitted: true });\r\n await api\r\n .post(\r\n `/audit/${this.state.audit.id}/uploadanswerattachments/${idAnswerAttachment}`,\r\n newAttach\r\n )\r\n .then((response) => {\r\n console.log(response.data)\r\n if (response.status === 200) {\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,getSuccess(entitiesLabels.ATTACHMENT, apioperation.POST));\r\n\r\n answer.attachments.push(response.data);\r\n this.setState((prevState) => {\r\n const audit = { ...prevState.audit };\r\n audit.checkList.answers[index] = answer;\r\n this.repository.updateCachedAudit(audit);\r\n return { audit };\r\n });\r\n } else {\r\n showNotification.error();\r\n }\r\n this.setState({ isSubmitted: false });\r\n })\r\n .catch((error) => {\r\n this.setState({ isSubmitted: false });\r\n return showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.ATTACHMENT, apioperation.POST)\r\n );\r\n });\r\n }\r\n //* *************** ATTACHMENT **************** END\r\n\r\n renderTabs = (user) => {\r\n const validations = {\r\n startdate: this.validator.message('start date', this.state.audit.startDate, 'required'),\r\n enddate: this.validator.message('end date', this.state.audit.endDate, 'required'),\r\n maininformation: this.validator.message(\r\n 'Main informationdate ',\r\n this.state.audit.startDate && this.state.audit.endDate,\r\n 'required'\r\n ),\r\n };\r\n return (\r\n <>\r\n {this.state.modalAddRequirementVisible ? (\r\n \r\n ) : null}\r\n {this.state.modalUpdateRequirementVisible ? (\r\n \r\n ) : null}\r\n {this.renderHeader()}\r\n {/* {this.renderTitle()} */}\r\n {this.renderLoadingModal()}\r\n {this.renderRequirementDeleteModal()}\r\n {this.renderDeleteAttachmentModal()}\r\n {this.renderDeleteReportAttachmentModal()} {/* RITM0646764 */}\r\n
    \r\n
    \r\n \r\n {this.modalAttachment(user)}\r\n {this.state.audit && this.state.audit.checkList && (\r\n this.closeModalHistory()}\r\n />\r\n )}\r\n
    \r\n \r\n \r\n {!this.state.tabsLoading ? (\r\n <>\r\n \r\n
    \r\n {/* RITM0945977 */}\r\n {/*
    Division
    */}\r\n
    Business Line
    \r\n
    \r\n {this.state.audit.division.name}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    Company
    \r\n
    \r\n {this.state.audit.company?.name}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    Audit code
    \r\n
    \r\n {this.state.audit.auditCode}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    Site/s audited
    \r\n
    \r\n {this.state.audit.workSites.map((item) => item.name).join(', ')}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    Project/s audited
    \r\n
    \r\n {this.state.audit.projects.map((item) => item.name).join(', ')}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    Type of audit
    \r\n
    \r\n {this.state.audit.auditType.name}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    Target of audit
    \r\n
    \r\n {this.state.audit.target.name}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    Audit Scopes
    \r\n
    \r\n {this.state.audit.scopes.map((item) => item.name).join(', ')}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    Audit Remote
    \r\n
    \r\n {/*this.state.audit.auditRemote?'Yes':'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 {validations.startdate}\r\n {validations.enddate}\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\n \r\n \r\n \r\n \r\n Name\r\n Size\r\n Actions\r\n \r\n \r\n \r\n {this.state.audit.attachments < 1 ? (\r\n \r\n ) : (\r\n this.state.audit.attachments.map((item) => (\r\n \r\n {item.name}\r\n \r\n {sizeFormat(item.size)}\r\n \r\n \r\n {this.state.downloading === item.id ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n \r\n {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(\r\n error,\r\n entitiesLabels.FileUpload,\r\n apioperation.GET\r\n )\r\n );\r\n }}\r\n onDownLoadStart={() =>\r\n this.setState({ downloading: item.id })\r\n }\r\n onDownLoadEnd={() =>\r\n this.setState({ downloading: null })\r\n }\r\n apiUrl={`/audit/${this.state.audit.id}/attachment/${item.fileIdentifier}`}\r\n fileName={item.name}\r\n size=\"small\"\r\n renderIcon={View16}\r\n iconDescription=\"Download\"\r\n kind=\"ghost\"\r\n disabled={this.state.editingDisabled}\r\n />\r\n this.onDeleteAttachment(item.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n disabled={this.state.editingDisabled}\r\n />\r\n \r\n \r\n \r\n this.onDeleteAttachment(item.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n disabled\r\n />\r\n \r\n
    \r\n )}\r\n \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {/* {rows.map(item =>\r\n
    \r\n {item.attachment.fileIdentifier}\r\n
    \r\n )\r\n } */}\r\n
    \r\n \r\n ) : (\r\n ''\r\n )}\r\n \r\n
    \r\n \r\n {/* START RITM0646764 */}\r\n {!this.state.mainInformationOpened && (\r\n this.state.tabsLoading ? (\r\n \r\n ) :\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {validations.startdate}\r\n {validations.enddate}\r\n
    \r\n
    \r\n \r\n Save\r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n {/* END RITM0646764 */}\r\n\r\n {validations.maininformation ? (\r\n
    \r\n {' '}\r\n Enter the start and end data in the main information{' '}\r\n
    \r\n ) : null}\r\n
    \r\n\r\n {this.state.audit?.checkList?.notificationForm?.sendedOn != null ? (\r\n ''\r\n ) : this.state.tabsLoading ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n \r\n
    \r\n )}\r\n\r\n
    \r\n {this.state.tabsLoading ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n {}}\r\n role=\"navigation\"\r\n selected={0}\r\n tabContentClassName=\"auditReportTab\"\r\n triggerHref=\"#\"\r\n type=\"default\"\r\n >\r\n {}}\r\n onKeyDown={() => {}}\r\n role=\"presentation\"\r\n selected={false}\r\n tabIndex={0}\r\n >\r\n
    \r\n el.teamLeader)[0].id ==\r\n // this.context.user.id\r\n // }\r\n isTeamLeader={\r\n this.state.audit.auditors.filter((el) => el.teamLeader)[0] ? \r\n this.state.audit.auditors.filter((el) => el.teamLeader)[0].id ==\r\n this.context.user.id :\r\n false\r\n }\r\n //STEFANO 30/06/2021\r\n\r\n />\r\n
    \r\n \r\n {}}\r\n onKeyDown={() => {}}\r\n role=\"presentation\"\r\n selected={false}\r\n tabIndex={0}\r\n disabled={!this.state.audit.checkList.notificationForm.savedOn}\r\n >\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \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\n \r\n \r\n \r\n \r\n Name\r\n Size\r\n Actions\r\n \r\n \r\n \r\n {this.state.audit.attachments < 1 ? (\r\n \r\n ) : (\r\n this.state.audit.attachments.map((item) => (\r\n \r\n {item.name}\r\n \r\n {sizeFormat(item.size)}\r\n \r\n \r\n {this.state.downloading === item.id ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n \r\n {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(\r\n error,\r\n entitiesLabels.FileUpload,\r\n apioperation.GET\r\n )\r\n );\r\n }}\r\n onDownLoadStart={() =>\r\n this.setState({ downloading: item.id })\r\n }\r\n onDownLoadEnd={() =>\r\n this.setState({ downloading: null })\r\n }\r\n apiUrl={`/audit/${this.state.audit.id}/attachment/${item.fileIdentifier}`}\r\n fileName={item.name}\r\n size=\"small\"\r\n renderIcon={View16}\r\n iconDescription=\"Download\"\r\n kind=\"ghost\"\r\n disabled={this.state.editingDisabled}\r\n />\r\n this.onDeleteAttachment(item.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n disabled={this.state.editingDisabled}\r\n />\r\n \r\n \r\n \r\n this.onDeleteAttachment(item.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n disabled\r\n />\r\n \r\n
    \r\n )}\r\n \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n {}}\r\n onKeyDown={() => {}}\r\n role=\"presentation\"\r\n selected={false}\r\n tabIndex={0}\r\n disabled={!this.state.audit.checkList.notificationForm.savedOn}\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 onKeyDown={() => {}}\r\n role=\"presentation\"\r\n selected={false}\r\n tabIndex={0}\r\n disabled={!this.state.audit.checkList.notificationForm.savedOn}\r\n >\r\n
    \r\n
    \r\n
    \r\n
    Requirements
    \r\n
    \r\n
    \r\n \r\n Save\r\n \r\n
    \r\n
    \r\n \r\n {this.getTemplate().map((checklistTemp) => (\r\n {}}\r\n onKeyDown={() => {}}\r\n role=\"presentation\"\r\n selected={false}\r\n tabIndex={0}\r\n id={checklistTemp.id}\r\n key={checklistTemp.id}\r\n >\r\n
    \r\n \r\n
    \r\n
    \r\n this.toggleActiveTemplateQuestions(checklistTemp.id)}\r\n className=\"toggle-bg-orange mb-20px\"\r\n labelText=\"Template Enabled\"\r\n aria-label=\"\"\r\n disabled={this.state.editingDisabled}\r\n id={`toggle-1 - ${checklistTemp.id}`}\r\n />\r\n
    \r\n
    \r\n \r\n {\r\n showNotification.error(getError(error, entitiesLabels.AUDITCHECKLIST_TEMPLATE, apioperation.DOWNLOAD));\r\n }}\r\n size=\"default\"\r\n className=\"mb-5\"\r\n iconDescription=\"Download Requirement\"\r\n title=\"Download Requirement\"\r\n renderIcon={Download16}\r\n apiUrl={`/audit/${this.state.audit.id}/exportrequirement/${checklistTemp.id}`}\r\n fileName={`Audit_${this.state.audit.auditCode}_Requirement_${checklistTemp.code} - ${checklistTemp.name}.xlsx`}\r\n disabled={!checklistTemp.active}\r\n onDownLoadStart={() => {\r\n this.setState({\r\n isLoadingNotificationFile: true,\r\n });\r\n }}\r\n onDownLoadEnd={() => {\r\n this.setState({\r\n isLoadingNotificationFile: false,\r\n });\r\n }}\r\n >\r\n Download Requirement\r\n \r\n \r\n \r\n \r\n Download Requirement\r\n \r\n \r\n
    \r\n
    \r\n {this.getSections(checklistTemp.id).map((section) => (\r\n \r\n
    \r\n
    \r\n this.showAddRequirement(checklistTemp, section)}\r\n >\r\n Add Requirement\r\n \r\n
    \r\n
    \r\n {this.getQuestionAnswer(section.id).map((qa) => (\r\n
    \r\n \r\n this.onAnswerChange(qa.id, answer)\r\n }\r\n onNoteChange={(note) => this.onNoteChange(qa.id, note)}\r\n validator={this.validationsAnswer}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n Associate Findings\r\n \r\n \r\n {/* RITM0646764: Rinominato CARs in FINDINGs */}\r\n {`FINDINGs: ${\r\n qa.cars.length > 0\r\n ? qa.cars.filter((el) => el.enabled).length\r\n : 0\r\n }`}\r\n {/* RITM0646764: FINE */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {qa.attachments && qa.attachments.length > 0 ? (\r\n \r\n Attachments: {qa.attachments.length}\r\n \r\n ) : (\r\n ''\r\n )}\r\n
    \r\n this.showModalAttachment(qa.id)}\r\n >\r\n Attachments\r\n \r\n
    \r\n
    \r\n
    \r\n ))}\r\n {this.getRequirementAnswer(section.id).map((qa) => (\r\n
    \r\n \r\n this.onAnswerChange(qa.id, answer)\r\n }\r\n isCustom\r\n onDeleteCustomRequirement={() =>\r\n this.showDeleteRequirement(qa.requirement.id)\r\n }\r\n onUpdateCustomRequirement={() =>\r\n this.showModifyRequirement(qa.id, qa.requirement)\r\n }\r\n onNoteChange={(note) => this.onNoteChange(qa.id, note)}\r\n disabled={this.state.editingDisabled || !checklistTemp.active}\r\n validator={this.validationsAnswer}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n Associate Findings\r\n \r\n \r\n {/* RITM0646764: Rinominato CARs in FINDINGs */}\r\n {`FINDINGs: ${\r\n qa.cars.length > 0\r\n ? qa.cars.filter((el) => el.enabled).length\r\n : 0\r\n }`}\r\n {/* RITM0646764: FINE */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {qa.attachments && qa.attachments.length > 0 ? (\r\n \r\n Attachments: {qa.attachments.length}\r\n \r\n ) : (\r\n ''\r\n )}\r\n
    \r\n this.showModalAttachment(qa.id)}\r\n >\r\n Attachments\r\n \r\n
    \r\n
    \r\n
    \r\n ))}\r\n \r\n ))}\r\n
    \r\n
    \r\n \r\n ))}\r\n
    \r\n
    \r\n \r\n\r\n {\r\n this.props.history.push(`/audit/${this.props.match.params.id}/${Number(this.state.audit.newCarManagement)}/car` );\r\n }}\r\n selected={false}\r\n tabIndex={0}\r\n />\r\n\r\n {/* RITM0646764 */}\r\n {}}\r\n onKeyDown={() => {}}\r\n role=\"presentation\"\r\n selected={false}\r\n tabIndex={0}\r\n disabled={!this.state.audit.checkList.notificationForm.savedOn}\r\n >\r\n
    \r\n \r\n {this.ifManageReportAttachment(user) && (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )} \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Name\r\n Size\r\n Actions\r\n \r\n \r\n \r\n {this.state.audit.reportAttachments < 1 ? (\r\n \r\n ) : (\r\n this.state.audit.reportAttachments?.map((item) => (\r\n \r\n {item.attachment.name}\r\n \r\n {sizeFormat(item.attachment.size)}\r\n \r\n \r\n {this.state.downloading === item.attachment.id ? (\r\n
    \r\n \r\n
    \r\n ) : ( \r\n this.ifManageReportAttachment(user) && (\r\n
    \r\n \r\n {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(\r\n error,\r\n entitiesLabels.FileUpload,\r\n apioperation.GET\r\n )\r\n );\r\n }}\r\n onDownLoadStart={() =>\r\n this.setState({ downloading: item.attachment.id })\r\n }\r\n onDownLoadEnd={() =>\r\n this.setState({ downloading: null })\r\n }\r\n apiUrl={`/audit/${this.state.audit.id}/attachment/${item.attachment.fileIdentifier}`}\r\n fileName={item.attachment.name}\r\n size=\"small\"\r\n renderIcon={View16}\r\n iconDescription=\"Download\"\r\n kind=\"ghost\"\r\n disabled={this.state.editingDisabled}\r\n />\r\n this.onDeleteAttachmentReportSigned(item.attachment.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n disabled={this.state.editingDisabled}\r\n />\r\n \r\n \r\n \r\n this.onDeleteAttachmentReportSigned(item.attachment.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n disabled\r\n />\r\n \r\n
    \r\n ) \r\n )}\r\n \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n };\r\n\r\n render() {\r\n return this.state.audit ? (\r\n \r\n {({ user }) => (IsEnabled(user, 'Audit') ? this.renderTabs(user) : '')}\r\n \r\n ) : (\r\n <>\r\n );\r\n }\r\n}\r\nAuditReport.propTypes = {\r\n match: PropTypes.shape({\r\n params: PropTypes.shape({\r\n id: PropTypes.string.isRequired,\r\n }),\r\n }).isRequired,\r\n};\r\nAuditReport.defaultProps = {};\r\nAuditReport.contextType = AppContext;\r\n","import React, { Component } from 'react';\r\n\r\nimport FileDownLoadButton from '../common/FileDownloadButton';\r\nimport FileUpload from '../common/FileUpload';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { InlineLoading, Button, Table, TableContainer, TableHead, TableHeader, TableBody, TableRow, TableCell, ComposedModal, ModalHeader, ModalBody, TableToolbar, FormGroup, Icon, } from 'carbon-components-react'; \r\nimport { ComboBox } from '../../helpers/ComboBox';\r\nimport { Delete16, Add16, Download16, Renew16 } from '@carbon/icons-react';\r\nimport { NoRecordsPlaceholder } from '../../helpers/jsonschemaform/DataTableExtention';\r\nimport { Online, Offline } from '../common/OnLineOffLine';\r\nimport { api } from '../../helpers/api/api';\r\nimport { getError, entitiesLabels, apioperation } from '../../helpers/Constants';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport { v4 as uuid } from 'uuid';\r\n\r\nconst attachmentTypes = ['Pictures','Documents',];\r\nconst imageFileExtensions = ['jpeg', 'jpg', 'png', 'gif'];\r\nconst fileExtensions = ['bmp','pdf','docx','xlsx', 'pptx'];\r\n\r\nexport default class HocCardAttachments extends Component {\r\n // Initializers\r\n clearAttachment = () => ({\r\n id: null,\r\n fileIdentifier: null,\r\n name: null,\r\n contentType: null,\r\n size: null,\r\n type: null\r\n });\r\n initialState = props => ({\r\n idHocCard: props.idHocCard,\r\n attachment: this.clearAttachment(),\r\n attachmentTypes,\r\n key: `modalAtt_${new Date().getTime()}`,\r\n isOpenModal: false\r\n });\r\n\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator();\r\n this.state = {\r\n ...this.initialState(props)\r\n };\r\n }\r\n\r\n toggleModal = open => {\r\n this.setState({ isOpenModal: open, attachmentTypes: attachmentTypes });\r\n };\r\n\r\n addAttachment = () => {\r\n this.setState({ key: `modalAtt_${new Date().getTime()}`, isOpenModal: true });\r\n };\r\n\r\n downloadAttachment = async item => {\r\n try {\r\n const file = await api.getBlob(\r\n `/hoccard/${this.state.idHocCard}/attachment${item.attachment.fileIdentifier}`\r\n ).data;\r\n return this.downloadFile(file, item.attachment.name);\r\n } catch (error) {\r\n return showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.FileUpload, apioperation.GET));\r\n }\r\n };\r\n\r\n downloadFile = (blob, fileName) => {\r\n if (navigator.msSaveBlob)\r\n navigator.msSaveBlob(blob, fileName);\r\n else {\r\n const link = document.createElement('a');\r\n // Browsers that support HTML5 download attribute\r\n if (link.download !== undefined) {\r\n const url = URL.createObjectURL(blob);\r\n link.setAttribute('href', url);\r\n link.setAttribute('download', fileName);\r\n link.style.visibility = 'hidden';\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n }\r\n }\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n const stateCopy = { ...this.state };\r\n stateCopy[objName][inputName] = inputValue;\r\n this.setState(stateCopy);\r\n };\r\n\r\n onUpload = (fileIdentifier, fileName, fileType, size) => {\r\n const last = fileName.split('.').pop();\r\n if (this.state.attachment.type === 'Pictures' && !imageFileExtensions.includes(last.toLowerCase()))\r\n return showNotification.warning(`${entitiesLabels.WARNING}`, \"This format cannot be accepted\");\r\n if (this.state.attachment.type === 'Documents' && !fileExtensions.includes(last.toLowerCase())) {\r\n return showNotification.warning(`${entitiesLabels.WARNING}`, \"This format cannot be accepted\")\r\n }\r\n else {\r\n const attachment = { ...this.state.attachment };\r\n\r\n attachment.id = uuid();\r\n attachment.fileIdentifier = fileIdentifier.blobName;\r\n attachment.name = fileName;\r\n attachment.contentType = fileType;\r\n attachment.size = size;\r\n\r\n this.toggleModal(false);\r\n this.setState({ attachment: this.clearAttachment() });\r\n return this.props.addNewAttachment(attachment);\r\n }\r\n };\r\n\r\n remove = id => {\r\n this.props.removeAttachment(id);\r\n };\r\n\r\n render() {\r\n const validations = {\r\n type: this.validator.message('type', this.state.attachment.type, 'required'),\r\n file: this.validator.message('type', this.state.attachment.id, 'required')\r\n };\r\n const rows = this.props.attachments || [];\r\n\r\n const modalHeader = {\r\n title: 'Add new',\r\n iconDescription: 'Close',\r\n buttonClick: () => this.toggleModal(false)\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n \r\n

    \r\n {!this.props.isDisabled && (\r\n this.addAttachment()}\r\n renderIcon={Add16}\r\n >\r\n Add new\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n Name\r\n Type\r\n Actions\r\n \r\n \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n rows.map(item => (\r\n \r\n {item.attachment.name}\r\n {item.attachment.type}\r\n \r\n
    \r\n \r\n {item.loading ?\r\n \r\n :\r\n item.synching ?\r\n
    \r\n
    \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n
    \r\n

    \r\n
    \r\n this.toggleModal(false)}\r\n >\r\n \r\n

    Attachment

    \r\n
    \r\n \r\n {this.state.isOpenModal ? (\r\n
    \r\n
    \r\n
    \r\n \r\n item || ''}\r\n items={this.state.attachmentTypes}\r\n invalid={validations.type != null}\r\n />\r\n {validations.type}\r\n \r\n
    \r\n
    \r\n \r\n {this.state.attachment.type && (\r\n \r\n )}\r\n {validations.file}\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\n}","import React, { Component } from \"react\";\r\n\r\nimport Close16 from \"@carbon/icons-react/lib/close/16\";\r\nimport DateTimePicker from \"../../helpers/DateTimePicker\";\r\nimport Delete16 from \"@carbon/icons-react/lib/delete/16\";\r\nimport FindSaipemCompilers from \"../common/FindSaipemCompilers\";\r\nimport HocCardAttachments from \"./HocCardAttachments\";\r\nimport HocCardRepository from \"../../helpers/api/HocCardRepository\";\r\nimport PageBreadCrumb from \"../../helpers/PageBreadCrumb\";\r\nimport SimpleReactValidator from \"simple-react-validator\";\r\nimport moment from \"moment\";\r\nimport { AppContext } from \"../../helpers/context/AppContext\";\r\nimport { Checkbox, FormGroup, TextInput, DropdownSkeleton, Button, DatePickerSkeleton, Form, FormLabel, Loading, TextArea } from \"carbon-components-react\";\r\nimport { ComboBox } from \"../../helpers/ComboBox\";\r\nimport { ConfirmAlertCustom } from \"../../helpers/ConfirmAlertCustom\";\r\nimport { FindGHRSEmployer } from \"../common/FindGHRSEmployer\";\r\nimport { CAROwnerManualInputModal } from \"./CAROwnerManualInputModal\";\r\nimport { IsInRole } from \"../../helpers/authorization/Policies\";\r\nimport { Online } from \"../common/OnLineOffLine\";\r\nimport { api, hoccard, me, registry, dynamic } from \"../../helpers/api/api\";\r\nimport { getSuccess, getError, entitiesLabels, apioperation, DateFormat } from \"../../helpers/Constants\";\r\nimport { showNotification } from \"../../helpers/notification/BaseNotification\";\r\nimport { v4 as uuid } from \"uuid\";\r\n\r\nexport default class HocCardDetail extends Component {\r\n\tstatuses = [\"Open\", \"Closed\"];\r\n\tcompletionStatuses = [\"Not Reviewed\", \"Reviewed\"];\r\n\r\n\thocCardProps = {\r\n\t\tidProject: null,\r\n\t\tidHocType: null,\r\n\t\tidHazardType: null,\r\n\t\tidHocPriority: null,\r\n\t\tidLifeSavingRule: null,\r\n\t\tidInfoOriginator: null,\r\n\t\tstatus: null,\r\n\t\timmediateActions: null,\r\n\t\tcomments: null,\r\n\t\tdescription: null,\r\n\t\tlocation: null,\r\n\t\toccurredAt: null,\r\n\t\tadditionalInfo: null,\r\n\t\tuserReportedBy: null,\r\n\t\toccurredAt: null,\r\n\t\tidHocCardCar: null,\r\n\t\tidWorkSite: null,\r\n\t\tidCompiler: null,\r\n\t\tcode: null,\r\n\t\tlocalId: null,\r\n\t\tidHocCardSource: null,\r\n\t\tcompletionStatus: null,\r\n\t\tattachments: [],\r\n\t\thocCardCAR: {\r\n\t\t\tid: null,\r\n\t\t\tdueDate: null,\r\n\t\t\tdescription: null,\r\n\t\t\tidEmployer: null,\r\n\t\t\tidOwnerSaipem: null,\r\n\t\t\tidGenericOwner: null,\r\n\t\t\towner: null,\r\n\t\t\townerSaipem: null,\r\n\t\t\tgenericOwner: null,\r\n\t\t},\r\n\t\tnameEmp: \"\",\r\n\t};\r\n\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\r\n\t\tthis.validator = new SimpleReactValidator();\r\n\r\n\t\tthis.hocCardId = this.props.match.params.id;\r\n\r\n\t\tthis.state = {\r\n\t\t\thocCardModel: { ...this.hocCardProps },\r\n\r\n\t\t\topenModal: null,\r\n\r\n\t\t\tworksites: [],\r\n\t\t\tisLoadingWorksites: false,\r\n\t\t\thoctypes: [],\r\n\t\t\tisLoadingHocTypes: false,\r\n\t\t\thazardtypes: [],\r\n\t\t\tisLoadingHazardTypes: false,\r\n\t\t\thocpriorities: [],\r\n\t\t\tisLoadingHocPriorities: false,\r\n\t\t\tlifesavingrules: [],\r\n\t\t\tisLoadingLifeSavingRules: false,\r\n\t\t\tinfooriginators: [],\r\n\t\t\tisLoadingInfoOriginators: false,\r\n\t\t\thocCardSources: [],\r\n\t\t\tisLoadingHocCardSources: false,\r\n\t\t};\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t\tthis.getUserWorksite();\r\n\t\tthis.getHocType();\r\n\t\tthis.getHazardType();\r\n\t\tthis.getHocPriority();\r\n\t\tthis.getLSR();\r\n\t\tthis.getInfoOriginator();\r\n\t\tthis.getHocCardSources();\r\n\r\n\t\tif (this.hocCardId != null) this.getHOCCARDForEdit(this.hocCardId);\r\n\t}\r\n\r\n\t// Entities getters\r\n\r\n\tgetUserWorksite = () => {\r\n\t\tthis.setState({ isLoadingWorksites: true });\r\n\t\tme.getAll(\"worksites\")\r\n\t\t\t.then((response) => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tworksites: response.data,\r\n\t\t\t\t\tisLoadingWorksites: false,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.WORKSITE, apioperation.GET));\r\n\t\t\t});\r\n\t};\r\n\r\n\tgetHocType = () => {\r\n\t\tthis.setState({ isLoadingHocTypes: true });\r\n\t\tdynamic\r\n\t\t\t.getAll(\"hoctype\", { params: { page: 0 } })\r\n\t\t\t.then((response) => {\r\n\t\t\t\tconst data = response.data.itemList;\r\n\t\t\t\tthis.setState({ hoctypes: data.filter((a) => moment(a.validUntil).isSameOrAfter(moment()) || a.id == this.state.hocCardModel?.idHocType) });\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.HOCTYPE, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({ isLoadingHocTypes: false });\r\n\t\t\t});\r\n\t};\r\n\r\n\tgetHazardType = () => {\r\n\t\tthis.setState({ isLoadingHazardTypes: true });\r\n\t\tdynamic\r\n\t\t\t.getAll(\"hazardtype\", { params: { page: 0 } })\r\n\t\t\t.then((response) => {\r\n\t\t\t\tconst data = response.data.itemList;\r\n\t\t\t\tthis.setState({ hazardtypes: data.filter((a) => moment(a.validUntil).isSameOrAfter(moment()) || a.id == this.state.hocCardModel.idHazardType) }); //RITM1015981\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.HAZARDTYPE, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({ isLoadingHazardTypes: false });\r\n\t\t\t});\r\n\t};\r\n\r\n\tgetHocPriority = () => {\r\n\t\tthis.setState({ isLoadingHocPriorities: true });\r\n\t\tdynamic\r\n\t\t\t.getAll(\"hocpriority\", { params: { page: 0 } })\r\n\t\t\t.then((response) => {\r\n\t\t\t\tconst data = response.data.itemList;\r\n\t\t\t\tthis.setState({ hocpriorities: data });\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.HOCPRIORITY, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({ isLoadingHocPriorities: false });\r\n\t\t\t});\r\n\t};\r\n\r\n\tgetLSR = () => {\r\n\t\tthis.setState({ isLoadingLifeSavingRules: true });\r\n\t\tdynamic\r\n\t\t\t.getAll(\"lifesavingrule\", { params: { page: 0 } })\r\n\t\t\t.then((response) => {\r\n\t\t\t\tconst data = response.data.itemList;\r\n\t\t\t\tthis.setState({ lifesavingrules: data });\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.LIFESAVINGRULEVIOLATION, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({ isLoadingLifeSavingRules: false });\r\n\t\t\t});\r\n\t};\r\n\r\n\tgetInfoOriginator = () => {\r\n\t\tthis.setState({ isLoadingInfoOriginators: true });\r\n\t\tregistry\r\n\t\t\t.getAll(\"infooriginator\")\r\n\t\t\t.then((response) => {\r\n\t\t\t\tconst { data } = response;\r\n\t\t\t\tthis.setState({ infooriginators: data });\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INFOORIGINATOR, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({ isLoadingInfoOriginators: false });\r\n\t\t\t});\r\n\t};\r\n\r\n\tgetHocCardSources = () => {\r\n\t\tthis.setState({ isLoadingHocCardSources: true });\r\n\t\thoccard.sources\r\n\t\t\t.getAll()\r\n\t\t\t.then((response) => {\r\n\t\t\t\tthis.setState({ hocCardSources: response.data });\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.HOCCARDSOURCES, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({ isLoadingHocCardSources: false });\r\n\t\t\t});\r\n\t};\r\n\r\n\tgetHOCCARDForEdit = (id) => {\r\n\t\tthis.setState({ isLoadingElement: true });\r\n\r\n\t\thoccard\r\n\t\t\t.get(id)\r\n\t\t\t.then(async (response) => {\r\n\t\t\t\tif (response.status == 200) {\r\n\t\t\t\t\tthis.validator.hideMessages();\r\n\t\t\t\t\tawait this.getProjectbyWorkSite(response.data.idWorkSite);\r\n\r\n\t\t\t\t\tresponse.data.attachments = response.data.attachments.map((a) => {\r\n\t\t\t\t\t\tif (a.attachment != null) {\r\n\t\t\t\t\t\t\ta.attachment.type = a.attachment.type || \"Pictures\";\r\n\t\t\t\t\t\t\treturn a;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tthis.setState(\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\thocCardModel: response.data,\r\n\t\t\t\t\t\t\tisLoadingElement: false,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t() => {\r\n\t\t\t\t\t\t\tresponse.data.attachments.forEach((a) => {\r\n\t\t\t\t\t\t\t\ta.loading = true;\r\n\t\t\t\t\t\t\t\tthis.queryAttachmentAvailability(a);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tthis.getHocType();\r\n\t\t\t\t\t\t\tthis.getHazardType(); //RITM1015981\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.HOCCARD, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.validator.hideMessages();\r\n\t\t\t\tthis.setState({ isLoadingElement: false });\r\n\t\t\t});\r\n\t};\r\n\r\n\tgetProjectbyWorkSite = async (idWorkSite) => {\r\n\t\ttry {\r\n\t\t\tconst list = await HocCardRepository.getWorkSiteProject();\r\n\t\t\tconst projects = list.filter((res) => res.idWorkSite === idWorkSite).map((ele) => ({ id: ele.idProject, name: ele.project }));\r\n\t\t\tthis.setState({\r\n\t\t\t\tproject: projects,\r\n\t\t\t});\r\n\t\t} catch (error) {\r\n\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.PROJECT, apioperation.GET));\r\n\t\t}\r\n\t};\r\n\r\n\t// Form handlers\r\n\thandleChangeModel = (el) => {\r\n\t\tconst inputName = el.target.name;\r\n\t\tconst inputValue = el.target.value;\r\n\t\tthis.updateState(inputName, inputValue, \"hocCardModel\");\r\n\t};\r\n\thandleTextAreaChange(value, inputName) {\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst hocCardModel = { ...this.state.hocCardModel };\r\n\t\t\thocCardModel[inputName] = value ? value : \"\";\r\n\t\t\treturn { hocCardModel };\r\n\t\t});\r\n\t}\r\n\tupdateStateDP = (inputName, inputValue, objName) => {\r\n\t\tthis.setState((prevState) => ({\r\n\t\t\t[objName]: {\r\n\t\t\t\t...prevState[objName],\r\n\t\t\t\t[inputName]: inputValue,\r\n\t\t\t},\r\n\t\t}));\r\n\t};\r\n\r\n\thandleChangeCombo = (inputName, selectedItem, objName) => {\r\n\t\tconst inputValue = selectedItem ? selectedItem.id : null;\r\n\r\n\t\tconst statusCopy = { ...this.state };\r\n\t\tstatusCopy[objName][inputName] = inputValue;\r\n\r\n\t\tthis.setState(statusCopy);\r\n\t};\r\n\r\n\thandleChangeComboWorksite = (inputName, selectedItem, objName) => {\r\n\t\tconst inputValue = selectedItem ? selectedItem.id : null;\r\n\t\tconst statusCopy = { ...this.state };\r\n\t\tstatusCopy[objName][inputName] = inputValue;\r\n\t\tstatusCopy.project = null;\r\n\t\tstatusCopy.hocCardModel.idProject = null;\r\n\r\n\t\tthis.setState(statusCopy, () => {\r\n\t\t\tif (inputValue) {\r\n\t\t\t\tthis.getProjectbyWorkSite(inputValue);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\thandleChangeComboStatusModel = (_, objName) => {\r\n\t\tobjName != \"All\" ? (objName == \"Closed\" ? (this.state.hocCardModel.status = \"Closed\") : (this.state.hocCardModel.status = \"Opened\")) : (this.state.hocCardModel.status = null);\r\n\r\n\t\tconst statusCopy = { ...this.state.hocCardModel };\r\n\t\tstatusCopy.status = objName;\r\n\t\tthis.setState(statusCopy);\r\n\t};\r\n\r\n\thandleChangeComboCompletionStatusModel = (_, objName) => {\r\n\t\tconst stateModelCopy = { ...this.state.hocCardModel };\r\n\t\tstateModelCopy.completionStatus = objName;\r\n\t\tthis.setState({ hocCardModel: stateModelCopy });\r\n\t};\r\n\r\n\thandleChangeModelCar = (el) => {\r\n\t\tconst inputName = el.target.name;\r\n\t\tconst inputValue = el.target.value;\r\n\r\n\t\tthis.updateStateCAR(inputName, inputValue, \"hocCardCAR\");\r\n\t};\r\n\r\n\tupdateStateDPCAR = (inputName, inputValue, objName) => {\r\n\t\tconst statusCopy = { ...this.state.hocCardModel };\r\n\t\tif (statusCopy.hocCardCAR == null) {\r\n\t\t\tstatusCopy.hocCardCAR = {};\r\n\t\t}\r\n\t\tstatusCopy[objName][inputName] = inputValue;\r\n\r\n\t\tthis.setState({ hocCardModel: statusCopy });\r\n\t\tthis.setState((prevState) => ({\r\n\t\t\t[objName]: {\r\n\t\t\t\t...prevState[objName],\r\n\t\t\t\t[inputName]: inputValue,\r\n\t\t\t},\r\n\t\t}));\r\n\t};\r\n\r\n\tdeleteEmployer = () => {\r\n\t\tconst statusCopy = { ...this.state.hocCardModel };\r\n\t\tstatusCopy.hocCardCAR.owner = null;\r\n\t\tstatusCopy.hocCardCAR.idEmployer = null;\r\n\t\tstatusCopy.hocCardCAR.idOwnerSaipem = null;\r\n\t\tstatusCopy.hocCardCAR.ownerSaipem = null;\r\n\t\tstatusCopy.hocCardCAR.idGenericOwner = null;\r\n\t\tstatusCopy.hocCardCAR.genericOwner = null;\r\n\t\tthis.setState({ hocCardModel: statusCopy });\r\n\t};\r\n\r\n\thandleChangeModal = (m) => {\r\n\t\tthis.setState({ openModal: m });\r\n\t};\r\n\r\n\tsetEmployer = (employer) => {\r\n\t\tif (employer && employer.id) {\r\n\t\t\tconst statusCopy = { ...this.state.hocCardModel };\r\n\t\t\tif (statusCopy.hocCardCAR == null) {\r\n\t\t\t\tstatusCopy.hocCardCAR = {};\r\n\t\t\t}\r\n\t\t\tstatusCopy.hocCardCAR.idEmployer = employer.id;\r\n\t\t\tstatusCopy.hocCardCAR.nameEmployer = employer.name;\r\n\t\t\tstatusCopy.hocCardCAR.owner = employer;\r\n\t\t\tstatusCopy.hocCardCAR.idOwnerSaipem = null;\r\n\t\t\tstatusCopy.hocCardCAR.ownerSaipem = null;\r\n\t\t\tstatusCopy.hocCardCAR.idGenericOwner = null;\r\n\t\t\tstatusCopy.hocCardCAR.genericOwner = null;\r\n\t\t\tthis.setState({ hocCardModel: statusCopy, openModal: null });\r\n\t\t\tthis.setState({ selectEmployer: employer });\r\n\t\t}\r\n\t};\r\n\r\n\tsetSaipemOwner = (employer) => {\r\n\t\tif (employer && employer.id) {\r\n\t\t\tconst statusCopy = { ...this.state.hocCardModel };\r\n\t\t\tif (statusCopy.hocCardCAR == null) {\r\n\t\t\t\tstatusCopy.hocCardCAR = {};\r\n\t\t\t}\r\n\t\t\tstatusCopy.hocCardCAR.idOwnerSaipem = employer.id;\r\n\t\t\tstatusCopy.hocCardCAR.nameEmployer = employer.name;\r\n\t\t\tstatusCopy.hocCardCAR.ownerSaipem = employer;\r\n\t\t\tstatusCopy.hocCardCAR.idEmployer = null;\r\n\t\t\tstatusCopy.hocCardCAR.owner = null;\r\n\t\t\tstatusCopy.hocCardCAR.idGenericOwner = null;\r\n\t\t\tstatusCopy.hocCardCAR.genericOwner = null;\r\n\r\n\t\t\tthis.setState({ hocCardModel: statusCopy, openModal: null });\r\n\t\t\tthis.setState({ selectEmployer: employer });\r\n\t\t}\r\n\t};\r\n\r\n\tsetGenericOwner = (genericOwner) => {\r\n\t\tconst hocCardModel = { ...this.state.hocCardModel };\r\n\t\tif (hocCardModel.hocCardCAR == null) hocCardModel.hocCardCAR = {};\r\n\t\thocCardModel.hocCardCAR.genericOwner = genericOwner;\r\n\t\tif (hocCardModel.hocCardCAR.idGenericOwner == null) hocCardModel.hocCardCAR.genericOwner.id = hocCardModel.hocCardCAR.idGenericOwner = uuid();\r\n\t\thocCardModel.hocCardCAR.idEmployer = null;\r\n\t\thocCardModel.hocCardCAR.owner = null;\r\n\t\thocCardModel.hocCardCAR.idOwnerSaipem = null;\r\n\t\thocCardModel.hocCardCAR.ownerSaipem = null;\r\n\t\tthis.setState({ hocCardModel, openModal: null });\r\n\t};\r\n\r\n\thandleSubmitInsert = () => {\r\n\t\tif (this.validator.allValid()) {\r\n\t\t\tthis.setState({ isSubmitted: true });\r\n\r\n\t\t\tconst datiForm = this.state.hocCardModel;\r\n\t\t\tdatiForm.id = this.state.hocCardModel.id || uuid();\r\n\t\t\tif (datiForm.hocCardCAR != null) {\r\n\t\t\t\tif ((datiForm.hocCardCAR.description != null && datiForm.hocCardCAR.description != \"\") || datiForm.hocCardCAR.dueDate != null || datiForm.hocCardCAR.idEmployer != null) {\r\n\t\t\t\t\t// controllo che i due cambi siano diversi da null per creare/modficare una car\r\n\r\n\t\t\t\t\t// inserimento\r\n\t\t\t\t\tconst newid = uuid();\r\n\t\t\t\t\tdatiForm.idHocCardCar = newid;\r\n\t\t\t\t\tdatiForm.hocCardCAR.id = newid;\r\n\t\t\t\t} else if ((datiForm.hocCardCAR.description == null || datiForm.hocCardCAR.description == \"\") && datiForm.hocCardCAR.dueDate == null && datiForm.hocCardCAR.idEmployer == null) {\r\n\t\t\t\t\t// per inserimento e modifica imposta la car a null i campi della car sono null\r\n\t\t\t\t\tdatiForm.idHocCardCar = null;\r\n\t\t\t\t\tdatiForm.hocCardCAR = null;\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// mostra messaggio errore e non effettua modifiche\r\n\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, \"hocCardCAR\");\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (!this.hocCardId && this.state.hocCardModel.attachments?.length > 0) {\r\n\t\t\t\t\tthis.state.hocCardModel.attachments.forEach((a) => (a.idHocCard = datiForm.id));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tconst method = this.hocCardId ? hoccard.put(datiForm, this.state.hocCardModel.id) : hoccard.post(datiForm);\r\n\r\n\t\t\tmethod\r\n\t\t\t\t.then(async (response) => {\r\n\t\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\t\tconst dataList = {\r\n\t\t\t\t\t\t\tid: datiForm.id,\r\n\t\t\t\t\t\t\tdescription: datiForm.description,\r\n\t\t\t\t\t\t\tproject: this.state.project && this.state.hocCardModel.idProject ? this.state.project.find((el) => el.id === this.state.hocCardModel.idProject).name : null,\r\n\t\t\t\t\t\t\thazardType: (this.state.hazardtypes || []).find((el) => el.id === this.state.hocCardModel.idHazardType).name,\r\n\t\t\t\t\t\t\tinfoOriginator: (this.state.infooriginators || []).find((el) => el.id === this.state.hocCardModel.idInfoOriginator).name,\r\n\t\t\t\t\t\t\treportBy: datiForm.reportBy,\r\n\t\t\t\t\t\t\thocType: (this.state.hoctypes || []).find((el) => el.id === this.state.hocCardModel.idHocType).name,\r\n\t\t\t\t\t\t\tstatus: datiForm.status || datiForm.idHocCardCar != null ? \"Opened\" : \"Closed\",\r\n\t\t\t\t\t\t\toccurredAt: datiForm.occurredAt,\r\n\t\t\t\t\t\t\tisCar: datiForm.idHocCardCar != null,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\tawait HocCardRepository.updateCachedList(this.state.currentPage, this.state.pageSize, dataList);\r\n\t\t\t\t\t\tawait HocCardRepository.updateCachedDetail(datiForm);\r\n\t\t\t\t\t\tshowNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.HOCCARD, this.hocCardId ? apioperation.PUT : apioperation.POST));\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tif(!this.hocCardId){\r\n\t\t\t\t\t\t\tthis.backToMainSection();\r\n\t\t\t\t\t\t}\t\t\t\t\t\t\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tshowNotification.error();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.HOCCARD, this.hocCardId ? apioperation.PUT : apioperation.POST));\r\n\t\t\t\t})\r\n\t\t\t\t.finally(() => {\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tisSubmitted: false,\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.validator.showMessages();\r\n\t\t\tshowNotification.warning(`${entitiesLabels.WARNING}`, `${entitiesLabels.HOCCARD} required fields are missing `);\r\n\t\t\tthis.forceUpdate();\r\n\t\t}\r\n\t};\r\n\r\n\thandleCancel = () => {\r\n\t\t// this.props.history.push('/hoccard');\r\n\t\tthis.props.history.push(\"/hocCard?isBack\"); // RITM0544922\r\n\t};\r\n\r\n\tbackToMainSection = () => {\r\n\t\t// this.props.history.push('/hoccard');\r\n\t\tthis.props.history.push(\"/hocCard?isBack\"); // RITM0544922\r\n\t};\r\n\r\n\t// Generic helpers\r\n\tupdateState = (inputName, inputValue, objName) => {\r\n\t\tconst statusCopy = { ...this.state };\r\n\t\tstatusCopy[objName][inputName] = inputValue;\r\n\r\n\t\tthis.setState(statusCopy);\r\n\t};\r\n\r\n\tupdateStateCAR = (inputName, inputValue, objName) => {\r\n\t\tconst statusCopy = { ...this.state.hocCardModel };\r\n\t\tif (statusCopy.hocCardCAR == null) {\r\n\t\t\tstatusCopy.hocCardCAR = {};\r\n\t\t}\r\n\t\tstatusCopy[objName][inputName] = inputValue;\r\n\r\n\t\tthis.setState({ hocCardModel: statusCopy });\r\n\t};\r\n\r\n\taddNewAttachment = (data) => {\r\n\t\ttry {\r\n\t\t\tif (data == null) return;\r\n\t\t\tlet oldAttachments = this.state.hocCardModel.attachments || [];\r\n\t\t\tlet newItem = {\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tidHocCard: this.hocCardId ? this.hocCardId : uuid(),\r\n\t\t\t\tidAttachment: data.id,\r\n\t\t\t\tattachment: data,\r\n\t\t\t};\r\n\r\n\t\t\tlet newAttachments = oldAttachments.concat([newItem]);\r\n\t\t\tthis.updateState(\"attachments\", newAttachments, \"hocCardModel\");\r\n\t\t} catch (error) {\r\n\t\t\tshowNotification.error();\r\n\t\t}\r\n\t};\r\n\r\n\tremoveAttachment = (id) => {\r\n\t\tif (!id) return;\r\n\r\n\t\tlet stateModelCopy = { ...this.state.hocCardModel };\r\n\t\tstateModelCopy.attachments = stateModelCopy.attachments.filter((el) => el.idAttachment !== id);\r\n\t\tthis.setState({ hocCardModel: stateModelCopy });\r\n\t};\r\n\r\n\tsetAttachmentStatus = (id, status, loading) => {\r\n\t\tlet hocCardModel = { ...this.state.hocCardModel };\r\n\t\tlet attachments = [...hocCardModel.attachments];\r\n\t\tlet attachment = hocCardModel.attachments.find((att) => att.idAttachment === id);\r\n\t\tattachment.loading = loading;\r\n\t\tattachment.synching = status;\r\n\t\thocCardModel.attachments = attachments;\r\n\t\tthis.setState({ hocCardModel: hocCardModel });\r\n\t};\r\n\r\n\tqueryAttachmentAvailability = (attachmentItem) => {\r\n\t\tapi.get(`hoccard/attachments/available/`, attachmentItem.attachment.fileIdentifier)\r\n\t\t\t.then(async (res) => {\r\n\t\t\t\tthis.setAttachmentStatus(attachmentItem.idAttachment, res.data, false);\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.HOCCARD_ATTACHMENTS_AVAILABILITY, apioperation.GET));\r\n\t\t\t\tthis.setAttachmentStatus(attachmentItem.idAttachment, true, false);\r\n\t\t\t});\r\n\t};\r\n\r\n\tcheckAttachmentAvailability = (id) => {\r\n\t\tlet attachment = this.state.hocCardModel.attachments.find((a) => a.idAttachment === id);\r\n\t\tthis.setAttachmentStatus(id, true, true);\r\n\t\tthis.queryAttachmentAvailability(attachment);\r\n\t};\r\n\r\n\t// Delete\r\n\topenDeleteHocCardConfirmModal = () => {\r\n\t\tthis.setState({\r\n\t\t\tisDeleteModalOpen: true,\r\n\t\t\tisDeleting: false,\r\n\t\t});\r\n\t};\r\n\r\n\tdeleteItem = () => {\r\n\t\tthis.setState({\r\n\t\t\tisDeleting: true,\r\n\t\t});\r\n\t\thoccard\r\n\t\t\t.delete(this.hocCardId)\r\n\t\t\t.then((response) => {\r\n\t\t\t\tif (response.status == 200) {\r\n\t\t\t\t\t// this.props.history.push('/hoccard');\r\n\t\t\t\t\tthis.props.history.push(\"/hocCard?isBack\"); // RITM0544922\r\n\r\n\t\t\t\t\tthis.onCloseConfirm();\r\n\t\t\t\t\tshowNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.HOCCARD, apioperation.DELETE));\r\n\t\t\t\t} else {\r\n\t\t\t\t\tshowNotification.error();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.HOCCARD, apioperation.DELETE));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisDeleting: false,\r\n\t\t\t\t\tisDeleteModalOpen: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t};\r\n\r\n\tonCloseConfirm = () => {\r\n\t\tthis.setState({\r\n\t\t\tisDeleteModalOpen: false,\r\n\t\t});\r\n\t};\r\n\r\n\t// Render methods\r\n\trenderMainForm = (user) => {\r\n\t\tif (this.state.hocCardModel.hocCardCAR != null) {\r\n\t\t\tvar diffduedate = !this.state.hocCardModel.hocCardCAR.dueDate || moment(this.state.hocCardModel.hocCardCAR.dueDate).isSameOrAfter(moment(this.state.hocCardModel.occurredAt), \"day\");\r\n\t\t} else {\r\n\t\t\tvar diffduedate = true;\r\n\t\t}\r\n\r\n\t\tconst isDisable = user && (IsInRole(user, \"Administrator\") || !this.state.hocCardModel.idCompiler || user.id == this.state.hocCardModel.idCompiler || !this.hocCardId) ? false : true;\r\n\t\tconst projectIsDisable = this.state.project == null || this.state.project.length == 0 || isDisable;\r\n\r\n\t\tconst HocCreated = this.state.hocCardModel.createdOn ? new Date(this.state.hocCardModel.createdOn) : null;\r\n\r\n\t\tconst validations = {\r\n\t\t\timmediateActions: this.validator.message(\"Immediate Actions\", this.state.hocCardModel.immediateActions, \"required\"),\r\n\t\t\tlocation: this.validator.message(\"Location\", this.state.hocCardModel.location, \"required\"),\r\n\t\t\tdescription: this.validator.message(\"Description \", this.state.hocCardModel.description, \"required\"),\r\n\t\t\toccurredAt: this.validator.message(\"Date Of Occurrence\", this.state.hocCardModel.occurredAt, \"required\"),\r\n\t\t\tidInfoOriginator: this.validator.message(\"HOC raised by\", this.state.hocCardModel.idInfoOriginator, \"required\"),\r\n\t\t\tidHazardType: this.validator.message(\"Hazard Type\", this.state.hocCardModel.idHazardType, \"required\"),\r\n\t\t\tidHocType: this.validator.message(\"Hoc Type\", this.state.hocCardModel.idHocType, \"required\"),\r\n\t\t\tidHocPriority: this.validator.message(\"Hoc Priority\", this.state.hocCardModel.idHocPriority, \"required\"),\r\n\t\t\tduedate: this.validator.message(\"Due Date\", diffduedate, \"accepted\"),\r\n\t\t\tidWorkSite: this.validator.message(\"WorkSite\", this.state.hocCardModel.idWorkSite, \"required\"),\r\n\t\t\tcarEmployer: this.validator.message(\r\n\t\t\t\t\"Owner\",\r\n\t\t\t\tthis.state.hocCardModel.hocCardCAR?.idEmployer ||\r\n\t\t\t\t\tthis.state.hocCardModel.hocCardCAR?.idGenericOwner ||\r\n\t\t\t\t\tthis.state.hocCardModel.hocCardCAR?.idOwnerSaipem ||\r\n\t\t\t\t\tthis.state.hocCardModel.hocCardCAR?.dueDate ||\r\n\t\t\t\t\tthis.state.hocCardModel.hocCardCAR?.description\r\n\t\t\t\t\t? this.state.hocCardModel.hocCardCAR?.idEmployer || this.state.hocCardModel.hocCardCAR?.idGenericOwner || this.state.hocCardModel.hocCardCAR?.idOwnerSaipem\r\n\t\t\t\t\t: true,\r\n\t\t\t\t\"required\"\r\n\t\t\t),\r\n\t\t\tcarDescription: this.validator.message(\r\n\t\t\t\t\"Description\",\r\n\t\t\t\tthis.state.hocCardModel.hocCardCAR?.idEmployer ||\r\n\t\t\t\t\tthis.state.hocCardModel.hocCardCAR?.idGenericOwner ||\r\n\t\t\t\t\tthis.state.hocCardModel.hocCardCAR?.idOwnerSaipem ||\r\n\t\t\t\t\tthis.state.hocCardModel.hocCardCAR?.dueDate ||\r\n\t\t\t\t\tthis.state.hocCardModel.hocCardCAR?.description\r\n\t\t\t\t\t? this.state.hocCardModel.hocCardCAR?.description\r\n\t\t\t\t\t: true,\r\n\t\t\t\t\"required\"\r\n\t\t\t),\r\n\t\t\tcarDueDate: this.validator.message(\r\n\t\t\t\t\"DueDate\",\r\n\t\t\t\tthis.state.hocCardModel.hocCardCAR?.idEmployer ||\r\n\t\t\t\t\tthis.state.hocCardModel.hocCardCAR?.idGenericOwner ||\r\n\t\t\t\t\tthis.state.hocCardModel.hocCardCAR?.idOwnerSaipem ||\r\n\t\t\t\t\tthis.state.hocCardModel.hocCardCAR?.dueDate ||\r\n\t\t\t\t\tthis.state.hocCardModel.hocCardCAR?.description\r\n\t\t\t\t\t? this.state.hocCardModel.hocCardCAR?.dueDate\r\n\t\t\t\t\t: true,\r\n\t\t\t\t\"required\"\r\n\t\t\t),\r\n\t\t\t// (RITM0544085 & RITM0530003) To not validate the hoc created before the implementation of the new functionality\r\n\t\t\tproject: this.validator.message(\"Project\", projectIsDisable || (HocCreated ? HocCreated < new Date(\"2022/01/25\") : false) ? true : this.state.hocCardModel.idProject, \"required\"),\r\n\t\t\tlifeSavingRules: this.validator.message(\"Life Saving Rules Violation\", (HocCreated ? HocCreated < new Date(\"2022/01/25\") : false) ? true : this.state.hocCardModel.idLifeSavingRule, \"required\"),\r\n\t\t};\r\n\t\tconst selectedItemCombo = {\r\n\t\t\tidProject: this.state.project ? this.state.project.find((el) => el.id == this.state.hocCardModel.idProject) : [],\r\n\t\t\tidHocType: (this.state.hoctypes || []).find((el) => el.id == this.state.hocCardModel.idHocType),\r\n\t\t\tidHazardType: (this.state.hazardtypes || []).find((el) => el.id == this.state.hocCardModel.idHazardType),\r\n\t\t\tidHocPriority: (this.state.hocpriorities || []).find((el) => el.id == this.state.hocCardModel.idHocPriority),\r\n\t\t\tidLifeSavingRule: (this.state.lifesavingrules || []).find((el) => el.id == this.state.hocCardModel.idLifeSavingRule),\r\n\t\t\tidInfoOriginator: (this.state.infooriginators || []).find((el) => el.id == this.state.hocCardModel.idInfoOriginator),\r\n\t\t\tidWorkSite: (this.state.worksites || []).find((el) => el.id == this.state.hocCardModel.idWorkSite),\r\n\t\t\tstatus: this.state.hocCardModel != null ? this.state.hocCardModel.status : null,\r\n\t\t\tcompletionStatus: this.state.hocCardModel && this.state.hocCardModel.completionStatus,\r\n\t\t};\r\n\r\n\t\tconst idCompiler = this.state.hocCardModel?.idCompiler; /*RITM0544698*/\r\n\t\t// const idCarOwner = this.state.hocCardModel.hocCardCAR?.idOwnerSaipem || this.state.hocCardModel.hocCardCAR?.owner?.id || this.state.hocCardModel.hocCardCAR?.idGenericOwner;\r\n\r\n\t\tconst emailCarOwnerGHRS = this.state.hocCardModel.hocCardCAR?.owner?.email; //RITM0544698\r\n\t\tconst idCarOwnerSaipem = this.state.hocCardModel.hocCardCAR?.idOwnerSaipem; //RITM0544698\r\n\t\tconst emailCarOwnerGeneric = this.state.hocCardModel.hocCardCAR?.genericOwner?.email; //RITM0544698\r\n\t\t// var idDisableStatus = IsInRole(user, \"Administrator\") ? false : idCarOwner && user.id !== idCarOwner ;\r\n\r\n\t\t// Filtra l'array infooriginators escludendo l'opzione 'SAP'\r\n\t\tconst filteredInfoOriginators = this.state.infooriginators.filter(\r\n\t\t\t(item) => item.name !== 'SAP'\r\n\t\t);\r\n\r\n\t\tvar idDisableStatus; //RITM0544698\r\n\r\n\t\tif (this.state.hocCardModel.hocCardCAR?.id) {\r\n\t\t\t//RITM0544698\r\n\t\t\tswitch (true) {\r\n\t\t\t\tcase IsInRole(user, \"Administrator\") || (idCompiler && idCompiler == user.id):\r\n\t\t\t\t\tidDisableStatus = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase idCarOwnerSaipem != null:\r\n\t\t\t\t\tidDisableStatus = idCarOwnerSaipem != user.id;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase emailCarOwnerGHRS != null:\r\n\t\t\t\t\tidDisableStatus = emailCarOwnerGHRS.toLowerCase() != user.email.toLowerCase();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase emailCarOwnerGeneric != null:\r\n\t\t\t\t\tidDisableStatus = emailCarOwnerGeneric.toLowerCase() != user.email.toLowerCase();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tidDisableStatus = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (idDisableStatus == null) idDisableStatus = true;\r\n\r\n\t\tlet hocCardSource = this.hocCardId && this.state.hocCardSources && this.state.hocCardModel.idHocCardSource ? this.state.hocCardSources.find((s) => s.id === this.state.hocCardModel.idHocCardSource)?.name : \"\";\r\n\r\n\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t{this.state.isLoadingElement ? : \"\"}\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{this.hocCardId ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    Source:
    {hocCardSource}
    {\" \"}\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\tDescription of Observation*
    (The mention of names and surnames must be done only if strictly necessary)
    \r\n\t\t\t\t\t\t this.handleTextAreaChange(e.target.value, \"description\")}\r\n\t\t\t\t\t\t\tinvalid={validations.description != null}\r\n\t\t\t\t\t\t\tinvalidText={validations.description}\r\n\t\t\t\t\t\t\thideLabel\r\n\t\t\t\t\t\t\tlabelText=\"\"\r\n\t\t\t\t\t\t\tlight\r\n\t\t\t\t\t\t\trows={4}\r\n\t\t\t\t\t\t\tcols={250}\r\n\t\t\t\t\t\t\tdisabled={isDisable}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tImmediate Action*
    (The mention of names and surnames must be done only if strictly necessary)
    \r\n\t\t\t\t\t\t this.handleTextAreaChange(e.target.value, \"immediateActions\")}\r\n\t\t\t\t\t\t\tinvalid={validations.immediateActions != null}\r\n\t\t\t\t\t\t\tinvalidText={validations.immediateActions}\r\n\t\t\t\t\t\t\thideLabel\r\n\t\t\t\t\t\t\tlabelText=\"\"\r\n\t\t\t\t\t\t\tlight\r\n\t\t\t\t\t\t\trows={4}\r\n\t\t\t\t\t\t\tcols={250}\r\n\t\t\t\t\t\t\tdisabled={isDisable}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t{!this.state.isSubmitted ? \"\" : }\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tSuggestion for Improvement/Recommendation
    (The mention of names and surnames must be done only if strictly necessary)
    \r\n\t\t\t\t\t\t this.handleTextAreaChange(e.target.value, \"additionalInfo\")}\r\n\t\t\t\t\t\t\thideLabel\r\n\t\t\t\t\t\t\tlabelText=\"\"\r\n\t\t\t\t\t\t\tlight\r\n\t\t\t\t\t\t\trows={4}\r\n\t\t\t\t\t\t\tcols={250}\r\n\t\t\t\t\t\t\tdisabled={isDisable}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\tLocation*\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{validations.location}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tFull Name\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tLocal ID\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tComment
    (The mention of names and surnames must be done only if strictly necessary)
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\tDate Of Occurrence*\r\n\t\t\t\t\t\t{this.state.isLoadingDate ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{validations.occurredAt}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tHOC raised by*\r\n\t\t\t\t\t\t{this.state.isLoadingInfoOriginators ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t (item ? item.name : \"\")}\r\n\t\t\t\t\t\t\t\tinitialSelectedItem={selectedItemCombo.idInfoOriginator}\r\n\t\t\t\t\t\t\t\t//\titems={this.state.infooriginators}\r\n\t\t\t\t\t\t\t\titems={filteredInfoOriginators}\r\n\t\t\t\t\t\t\t\tinvalid={validations.idInfoOriginator != null}\r\n\t\t\t\t\t\t\t\tdisabled={isDisable}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{validations.idInfoOriginator}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tWorksite*\r\n\t\t\t\t\t\t{this.state.isLoadingWorksite ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t (item ? item.name : \"\")}\r\n\t\t\t\t\t\t\t\tselectedItem={selectedItemCombo.idWorkSite}\r\n\t\t\t\t\t\t\t\titems={this.state.worksites}\r\n\t\t\t\t\t\t\t\tinvalid={validations.idWorkSite != null}\r\n\t\t\t\t\t\t\t\tdisabled={isDisable}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{validations.idWorkSite}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tProject{projectIsDisable ? \"\" : \"*\"}\r\n\t\t\t\t\t\t (item ? item.name : \"\")}\r\n\t\t\t\t\t\t\tselectedItem={selectedItemCombo.idProject ? selectedItemCombo.idProject : null}\r\n\t\t\t\t\t\t\titems={this.state.project}\r\n\t\t\t\t\t\t\tdisabled={projectIsDisable}\r\n\t\t\t\t\t\t\tinvalid={validations.project != null}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t{validations.project}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tHazard Type*\r\n\t\t\t\t\t\t{this.state.isLoadingHazardTypes ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t (item ? item.name : \"\")}\r\n\t\t\t\t\t\t\t\tinitialSelectedItem={selectedItemCombo.idHazardType}\r\n\t\t\t\t\t\t\t\titems={this.state.hazardtypes}\r\n\t\t\t\t\t\t\t\tinvalid={validations.idHazardType != null}\r\n\t\t\t\t\t\t\t\tdisabled={isDisable}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{validations.idHazardType}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tHOC Type *\r\n\t\t\t\t\t\t{this.state.isLoadingHocTypes ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t (item ? item.name : \"\")}\r\n\t\t\t\t\t\t\t\tinitialSelectedItem={selectedItemCombo.idHocType}\r\n\t\t\t\t\t\t\t\titems={this.state.hoctypes}\r\n\t\t\t\t\t\t\t\tinvalid={validations.idHocType != null}\r\n\t\t\t\t\t\t\t\tdisabled={isDisable}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{validations.idHocType}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tLife Saving Rule Violation*\r\n\t\t\t\t\t\t{this.state.isLoadingLifeSavingRules ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t (item ? item.name : \"\")}\r\n\t\t\t\t\t\t\t\tinitialSelectedItem={selectedItemCombo.idLifeSavingRule}\r\n\t\t\t\t\t\t\t\titems={this.state.lifesavingrules}\r\n\t\t\t\t\t\t\t\tdisabled={isDisable}\r\n\t\t\t\t\t\t\t\t//RITM0544085\r\n\t\t\t\t\t\t\t\tinvalid={validations.lifeSavingRules != null}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tStop Work Authority\r\n\t\t\t\t\t\t\t\t this.updateState(\"stopWorkAuthority\", el, \"hocCardModel\")}\r\n\t\t\t\t\t\t\t\t\tclassName=\"bx--form-item bx--checkbox-wrapper\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tFive Stars\r\n\t\t\t\t\t\t\t\t this.updateState(\"fiveStars\", el, \"hocCardModel\")}\r\n\t\t\t\t\t\t\t\t\tclassName=\"bx--form-item bx--checkbox-wrapper\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\tHOC Priority*\r\n\t\t\t\t\t\t{this.state.isLoadingHocPriorities ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t (item ? item.name : \"\")}\r\n\t\t\t\t\t\t\t\tinitialSelectedItem={selectedItemCombo.idHocPriority}\r\n\t\t\t\t\t\t\t\titems={this.state.hocpriorities}\r\n\t\t\t\t\t\t\t\tinvalid={validations.idHocPriority != null}\r\n\t\t\t\t\t\t\t\tdisabled={isDisable}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{validations.idHocPriority}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{this.hocCardId ? ( //RITM0607600\r\n <>\r\n {this.state.hocCardModel.hocCardCAR?.dueDate &&\r\n this.state.hocCardModel.hocCardCAR?.description &&\r\n (this.state.hocCardModel.hocCardCAR?.owner || this.state.hocCardModel.hocCardCAR?.ownerSaipem || this.state.hocCardModel.hocCardCAR?.genericOwner) ? (\r\n \r\n CAR Status\r\n item || \"\"}\r\n selectedItem={selectedItemCombo.status}\r\n items={this.statuses}\r\n disabled={idDisableStatus}\r\n />\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n\r\n\t\t\t\t\t\t\t{selectedItemCombo.completionStatus ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tHSE Review Status\r\n\t\t\t\t\t\t\t\t\t item || \"\"}\r\n\t\t\t\t\t\t\t\t\t\tselectedItem={selectedItemCombo.completionStatus}\r\n\t\t\t\t\t\t\t\t\t\titems={this.completionStatuses}\r\n\t\t\t\t\t\t\t\t\t\tdisabled={isDisable}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t)}\r\n \r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t

    CAR

    {\" \"}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\tCAR Description\r\n\t\t\t\t\t\t{\" \"}\r\n\t\t\t\t\t\t{validations.carDescription}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tDue Date*\r\n\t\t\t\t\t\t{this.state.isLoadingDate ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{validations.duedate ?
    Event date less than the Date of Occurrence
    : null}\r\n\t\t\t\t\t\t{validations.carDueDate}\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\tCAR Owner
    (Personal Email Addresses are not allowed​)
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{\" \"}\r\n\t\t\t\t\t\t\t{validations.carEmployer}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t this.deleteEmployer()}\r\n\t\t\t\t\t\t\t\tclassName=\"search--custom-button\"\r\n\t\t\t\t\t\t\t\tdisabled={isDisable}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\tFind Owner on GHRS or Saipem*
    (Personal Email Addresses are not allowed​)
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t

    Attachments

    \r\n\t\t\t\t\t\t
    (It is forbidden to upload photos which show people's faces. It is also forbidden to upload photos on which it is possible to recognize specific people)
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\tgetStatusActions = () => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\trender() {\r\n\t\tlet hocCardHeader = this.state.hocCardModel && this.state.hocCardModel.code ? \"ID: \" + this.state.hocCardModel.code : \"\";\r\n\r\n\t\tconst confirmDelProps = () => ({\r\n\t\t\tidToDelete: this.hocCardId,\r\n\t\t\tnameItem: \"\",\r\n\t\t\tisDeleting: this.state.isDeleting,\r\n\t\t\topen: this.state.isDeleteModalOpen,\r\n\t\t\tonCloseConfirm: this.onCloseConfirm,\r\n\t\t\tdeleteItem: this.deleteItem,\r\n\t\t});\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{({ user }) => (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{this.state.openModal === \"FindGHRSEmployer\" ? this.handleChangeModal(null)} onOk={this.setEmployer} /> : null}\r\n\t\t\t\t\t\t\t\t{this.state.openModal === \"FindSaipemCompilers\" ? (\r\n\t\t\t\t\t\t\t\t\t this.handleChangeModal(null)} onOk={this.setSaipemOwner} />\r\n\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t{this.state.openModal === \"CAROwnerManualInput\" ? (\r\n\t\t\t\t\t\t\t\t\t this.handleChangeModal(null)}\r\n\t\t\t\t\t\t\t\t\t\tonOk={this.setGenericOwner}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t{this.renderMainForm(user)}\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
    \r\n\t\t);\r\n\t}\r\n}\r\n","import React, { Component } from 'react';\r\nimport { MultiSelect, ComboBox, DropdownSkeleton } from 'carbon-components-react';\r\nimport PropTypes from 'prop-types';\r\nimport { moment } from 'moment';\r\nimport { api } from '../../helpers/api/api';\r\n\r\nexport default class Combo extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n items: [],\r\n url: props.url,\r\n selectedItems: [],\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n async componentDidMount() {\r\n if (this.props.url !== undefined && this.props.url !== '' && this.props.url !== null)\r\n this.retriveItems();\r\n else {\r\n this.setState({\r\n items: this.props.items,\r\n loading: false,\r\n selectedItems: this.props.initialSelectedItems,\r\n });\r\n }\r\n }\r\n\r\n retriveItems = async () => {\r\n this.setState({ loading: true });\r\n const retrivedItems = await this.getItems();\r\n this.setState({\r\n items: retrivedItems,\r\n loading: false,\r\n selectedItems: this.props.initialSelectedItems,\r\n });\r\n };\r\n\r\n getItems = async () => {\r\n let items = [];\r\n try {\r\n items = (await api.getAll(this.state.url)).data;\r\n } catch (error) {\r\n console.error(error);\r\n this.props.onError(error);\r\n }\r\n return items;\r\n };\r\n\r\n onChange = (selectedItem) => {\r\n const items = selectedItem ? selectedItem.selectedItems : null;\r\n this.setState({\r\n selectedItems: items,\r\n });\r\n this.props.onChange(items);\r\n };\r\n\r\n render() {\r\n return this.state.loading ? (\r\n \r\n ) : this.props.multiCombo ? (\r\n (typeof elem === 'object' ? elem.name : elem))\r\n .join(', ')\r\n }\r\n label=\"\"\r\n itemToString={(item) =>\r\n item && typeof item === 'object'\r\n ? item && item.name\r\n : typeof item === 'object'\r\n ? ''\r\n : item\r\n }\r\n items={this.state.items || []}\r\n light={false}\r\n onChange={this.onChange}\r\n type=\"default\"\r\n initialSelectedItems={this.props.initialSelectedItems}\r\n />\r\n ) : (\r\n {\r\n if (typeof inputValue === 'string') {\r\n if (typeof item === 'object')\r\n return item.name?.toLowerCase().includes(inputValue?.toLowerCase());\r\n return item.toLowerCase().includes(inputValue?.toLowerCase());\r\n }\r\n }}\r\n itemToString={\r\n this.props.itemToString != null\r\n ? this.props.itemToString\r\n : (item) =>\r\n item && typeof item === 'object'\r\n ? item && item.name\r\n : typeof item === 'object'\r\n ? ''\r\n : item\r\n }\r\n selectedItem={this.props.initialSelectedItems}\r\n invalid={this.props.invalid}\r\n />\r\n );\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.url != null && nextProps.url !== '' && nextProps.url !== this.props.url) {\r\n this.state.url = nextProps.url;\r\n this.retriveItems();\r\n }\r\n if (nextProps.items != null && nextProps.items !== this.props.items) {\r\n this.setState({ items: nextProps.items });\r\n }\r\n }\r\n}\r\n\r\nCombo.propTypes = {\r\n entity: PropTypes.string,\r\n url: PropTypes.string,\r\n onChange: PropTypes.func.isRequired,\r\n initialSelectedItems: PropTypes.array,\r\n onError: PropTypes.func.isRequired,\r\n disabled: PropTypes.bool,\r\n};\r\n\r\nCombo.defaultProps = {\r\n entity: null,\r\n disabled: true,\r\n};\r\n","import PropTypes from 'prop-types';\r\nimport React, { useState, useEffect } from 'react';\r\nimport {\r\n Button,\r\n DropdownSkeleton,\r\n FormGroup,\r\n FormLabel,\r\n TextInput,\r\n TextInputSkeleton\r\n} from 'carbon-components-react';\r\nimport Add16 from '@carbon/icons-react/lib/add/16';\r\nimport Close16 from '@carbon/icons-react/lib/close/16';\r\n\r\nimport { ComboBox } from './ComboBox';\r\nimport { showNotification } from './notification/BaseNotification';\r\n// import \"../scss/weekSelector.scss\";\r\n\r\nconst WeekSelectorModifyModal = ({\r\n modalVisible,\r\n handleModalVisibility,\r\n onElementSubmitted,\r\n selectableItems,\r\n selectedItem,\r\n selectedQuantity,\r\n renderWeek,\r\n editingDisabled\r\n}) => {\r\n const [amount, setAmount] = useState(selectedQuantity);\r\n const [currWeek, setCurrWeek] = useState(selectedItem);\r\n const [addButtonDisabled, setAddButtonDisabled] = useState(true);\r\n\r\n useEffect(() => { setAmount(selectedQuantity); }, [selectedQuantity]);\r\n useEffect(() => { setCurrWeek(selectedItem); }, [selectedItem]);\r\n\r\n const onChangeSelectItem = () => {\r\n if ((amount <= 0) || (currWeek === null)) {\r\n showNotification.warning('Warning: Week is mandatory');\r\n } else {\r\n onElementSubmitted({ oldWeekNumber: selectedItem.weekNum, \r\n oldQuantity: selectedQuantity, \r\n oldWeekStart: selectedItem.weekStart, \r\n oldWeekFinish: selectedItem.weekFinish, \r\n weekNumber: currWeek.weekNum, \r\n quantity: amount });\r\n }\r\n };\r\n\r\n const onChangeComboBox = (selectedItemNew) => {\r\n if (selectedItemNew !== null) {\r\n if (selectedItemNew.weekNum !== selectedItem.weekNum) {\r\n setAddButtonDisabled(false);\r\n } else if (amount === selectedQuantity) {\r\n setAddButtonDisabled(true);\r\n }\r\n } else {\r\n setAddButtonDisabled(true);\r\n }\r\n setCurrWeek(selectedItemNew || null);\r\n };\r\n\r\n const onChangeTextInput = (event) => {\r\n if (event !== selectedQuantity.toString()) {\r\n setAddButtonDisabled(false);\r\n } else if (currWeek.weekNum === selectedItem.weekNum) {\r\n setAddButtonDisabled(true);\r\n }\r\n setAmount(event !== null ? Number(event) : null);\r\n };\r\n\r\n return (\r\n modalVisible && (\r\n
    \r\n
    \r\n \r\n
    \r\n

    Modify Week

    \r\n handleModalVisibility()}\r\n iconDescription=\"\"\r\n />\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n Week number *\r\n {selectableItems == null ? (\r\n \r\n ) : (\r\n onChangeComboBox(sItem)}\r\n id=\"WeekNumber\"\r\n initialSelectedItem={selectedItem}\r\n disabled={editingDisabled}\r\n items={selectableItems || []}\r\n itemToString={renderWeek}\r\n placeholder=\"Select\"\r\n />\r\n )}\r\n \r\n
    \r\n
    \r\n \r\n N° of drill *\r\n {!amount ? (\r\n \r\n ) : (\r\n onChangeTextInput(event.target.value)}\r\n type=\"number\"\r\n min=\"1\"\r\n disabled={editingDisabled}\r\n />\r\n )}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n )\r\n );\r\n};\r\n\r\nWeekSelectorModifyModal.propTypes = {\r\n modalVisible: PropTypes.bool.isRequired,\r\n handleModalVisibility: PropTypes.func.isRequired,\r\n onElementSubmitted: PropTypes.func.isRequired,\r\n selectableItems: PropTypes.arrayOf(PropTypes.shape({\r\n quantity: PropTypes.number,\r\n weekNum: PropTypes.number,\r\n weekNumber: PropTypes.number,\r\n weekStart: PropTypes.string,\r\n weekFinish: PropTypes.string,\r\n })).isRequired,\r\n selectedItem: PropTypes.shape({\r\n quantity: PropTypes.number,\r\n weekNum: PropTypes.number,\r\n weekNumber: PropTypes.number,\r\n weekStart: PropTypes.string,\r\n weekFinish: PropTypes.string,\r\n }).isRequired,\r\n selectedQuantity: PropTypes.number.isRequired,\r\n renderWeek: PropTypes.func.isRequired,\r\n editingDisabled: PropTypes.bool.isRequired\r\n};\r\n\r\nexport default WeekSelectorModifyModal;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport isEqual from 'lodash.isequal';\r\nimport '../scss/weekSelector.scss';\r\nimport {\r\n Button,\r\n TextInput,\r\n FormGroup,\r\n FormLabel,\r\n} from 'carbon-components-react';\r\nimport Add16 from '@carbon/icons-react/lib/add/16';\r\nimport moment from 'moment';\r\nimport { v4 as uuid } from 'uuid';\r\nimport Combo from '../components/common/Combo';\r\nimport { api } from './api/api';\r\nimport { showNotification } from './notification/BaseNotification';\r\nimport WeekSelectorModifyModal from './WeekSelectorModifyModal';\r\nimport { PlannedWeekChangeType } from './Constants';\r\n\r\nexport default class WeekSelector extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n error: null,\r\n week: null,\r\n currentWeekNumber: null,\r\n quantity: 1,\r\n plannedWeeks: [],\r\n weeks: [],\r\n year: props.year,\r\n modifyModalVisible: false,\r\n modifyingWeeks: []\r\n };\r\n this.weeks = [];\r\n }\r\n\r\n async componentDidMount() {\r\n this.setWeeks();\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.year !== this.props.year) {\r\n this.setState({ year: nextProps.year }, () => {\r\n this.setWeeks();\r\n });\r\n this.props.onChange([]);\r\n this.clearInput();\r\n }\r\n }\r\n\r\n shouldComponentUpdate(nextProps, nextState) {\r\n return !isEqual(nextProps, this.props) || !isEqual(nextState, this.state);\r\n }\r\n\r\n async setWeeks() {\r\n const weeksForYear = (\r\n await api.getAll(`me/weeks/${this.state.year || moment().year()}`)\r\n ).data;\r\n const yearNow = moment().year();\r\n if (!this.props.editingDisabled) {\r\n if (this.state.year === yearNow) {\r\n const weekCurrent = moment().week();\r\n this.weeks = weeksForYear.filter((w) =>\r\n !this.props.items.find((i) => i.weekNumber === w.weekNum) && \r\n w.weekNum >= weekCurrent - 1);\r\n } else {\r\n this.weeks = weeksForYear.filter((w) => \r\n !this.props.items.find((i) => i.weekNumber === w.weekNum));\r\n }\r\n } else if (this.state.year === yearNow) {\r\n const weekNow = moment().week();\r\n if (this.props.items.length > 0) {\r\n this.weeks = weeksForYear.filter(({ weekNum: week }) =>\r\n this.props.items.some(\r\n (i) => week === i.weekNumber || week >= weekNow - 1\r\n )\r\n );\r\n } else {\r\n this.weeks = (weeksForYear || []).filter(\r\n (el) => el.weekNum >= weekNow - 1\r\n );\r\n }\r\n } else {\r\n this.weeks = [...weeksForYear];\r\n }\r\n this.setState({\r\n weeks: this.weeks,\r\n plannedWeeks: this.props.items.map((x) => ({\r\n quantity: x.quantity,\r\n weekNum: x.weekNumber,\r\n weekNumber: x.weekNumber,\r\n weekStart: weeksForYear?.filter((y) => y.weekNum === x.weekNumber)[0]\r\n ?.weekStart,\r\n weekFinish: weeksForYear?.filter((y) => y.weekNum === x.weekNumber)[0]\r\n ?.weekFinish,\r\n }), this),\r\n });\r\n }\r\n\r\n getKey = (item) => `${item.weekNumber}_${item.quantity}`\r\n\r\n clearInput = () => {\r\n this.setState({\r\n quantity: 1,\r\n currentWeekNumber: null,\r\n week: null,\r\n });\r\n };\r\n\r\n setError = (error) => {\r\n this.setState({ error });\r\n };\r\n\r\n addPlannedWeek = () => {\r\n if (\r\n this.state.currentWeekNumber != null &&\r\n this.state.quantity > 0 &&\r\n this.state.plannedWeeks.filter(\r\n (x) => x.weekNum === this.state.currentWeekNumber\r\n )?.length === 0\r\n ) {\r\n const weekS = this.weeks.filter(\r\n (y) => y.weekNum === this.state.currentWeekNumber\r\n )[0].weekStart;\r\n const weekF = this.weeks.filter(\r\n (y) => y.weekNum === this.state.currentWeekNumber\r\n )[0].weekFinish;\r\n const prevPlannedWeeks = this.state.plannedWeeks;\r\n prevPlannedWeeks.push({\r\n quantity: this.state.quantity,\r\n weekNumber: this.state.currentWeekNumber,\r\n weekNum: this.state.currentWeekNumber,\r\n weekStart: weekS,\r\n weekFinish: weekF\r\n });\r\n prevPlannedWeeks.sort((a, b) => a.weekNumber - b.weekNumber);\r\n this.setState((prevState) => {\r\n const prevWeeks = prevState.weeks;\r\n if (!this.props.editingDisabled) {\r\n prevWeeks.splice(prevWeeks.findIndex((e) => \r\n e.weekNum === prevState.currentWeekNumber), 1);\r\n }\r\n \r\n return { plannedWeeks: prevPlannedWeeks, weeks: prevWeeks };\r\n });\r\n\r\n this.clearInput();\r\n this.props.onChange(prevPlannedWeeks);\r\n if (!this.props.editingDisabled) {\r\n for (let i = 1; i <= this.state.quantity; i += 1) {\r\n this.props.onSubmitPlannedWeekChange({ id: uuid(), \r\n oldWeekNumber: this.state.currentWeekNumber, \r\n oldQuantity: 0, \r\n idDrillPlannedWeekChangeType: \r\n PlannedWeekChangeType.ToAdd, \r\n weekNumber: this.state.currentWeekNumber, \r\n weekStart: weekS, \r\n weekFinish: weekF, \r\n quantity: this.state.quantity, \r\n sequence: i, \r\n reasonForChange: null });\r\n }\r\n }\r\n } else if (this.state.currentWeekNumber) {\r\n showNotification.warning(\r\n `Warning: Week ${this.state.currentWeekNumber} already added to the list`\r\n );\r\n } else {\r\n showNotification.warning('Warning: Week is mandatory');\r\n }\r\n };\r\n\r\n handleDelete = (item) => {\r\n const array = this.state.plannedWeeks.filter(\r\n (i) => this.getKey(i) !== this.getKey(item)\r\n );\r\n this.setState((prevState) => {\r\n const prevWeeks = prevState.weeks;\r\n if (!this.props.editingDisabled) {\r\n prevWeeks.push({ name: item.weekNum.toString(), \r\n weekNum: item.weekNum, \r\n weekStart: item.weekStart, \r\n weekFinish: item.weekFinish });\r\n }\r\n return { plannedWeeks: array, weeks: prevWeeks };\r\n });\r\n this.props.onChange(array);\r\n if (!this.props.editingDisabled) {\r\n for (let i = 1; i <= item.quantity; i += 1) {\r\n this.props.onSubmitPlannedWeekChange({ id: uuid(), \r\n oldWeekNumber: item.weekNum, \r\n oldQuantity: item.quantity, \r\n idDrillPlannedWeekChangeType: \r\n PlannedWeekChangeType.ToDelete, \r\n weekNumber: item.weekNumber, \r\n weekStart: item.weekStart, \r\n weekFinish: item.weekFinish, \r\n quantity: 0, \r\n sequence: i, \r\n reasonForChange: null });\r\n }\r\n }\r\n };\r\n\r\n handleModify = (item) => {\r\n let mWeeks = [];\r\n if ((item !== undefined) && (item !== null)) {\r\n mWeeks = this.state.weeks.map((a) => ({ ...a }));\r\n const selectedItem = { name: item.weekNum.toString(), \r\n weekFinish: item.weekFinish, \r\n weekNum: item.weekNum, \r\n weekStart: item.weekStart };\r\n mWeeks.push(selectedItem);\r\n }\r\n this.setState(() => ({ modifyingWeeks: mWeeks, \r\n quantity: item?.quantity, \r\n currentWeekNumber: mWeeks.find((el) => el.weekNum === item.weekNum) }));\r\n this.setState((prevState) => ({ modifyModalVisible: !prevState.modifyModalVisible }));\r\n };\r\n\r\n handleModifyPlannedWeek = (item) => {\r\n if ((item !== null) && (item !== undefined)) {\r\n if (item.oldWeekNumber === item.weekNumber) {\r\n this.setState((prevState) => {\r\n const prevPlannedWeeks = prevState.plannedWeeks;\r\n const prevItemIdx = prevPlannedWeeks.findIndex((el) => el.weekNum === item.weekNumber);\r\n if (prevItemIdx !== -1) { prevPlannedWeeks[prevItemIdx].quantity = item.quantity; }\r\n return { plannedWeeks: prevPlannedWeeks };\r\n });\r\n const diffQuantity = item.quantity - item.oldQuantity;\r\n if (diffQuantity > 0) {\r\n for (let i = 1; i <= diffQuantity; i += 1) {\r\n this.props.onSubmitPlannedWeekChange({ id: uuid(), \r\n oldWeekNumber: item.oldWeekNumber, \r\n oldQuantity: item.oldQuantity, \r\n idDrillPlannedWeekChangeType:\r\n PlannedWeekChangeType.ToAdd, \r\n weekNumber: item.weekNumber, \r\n weekStart: item.weekStart, \r\n weekFinish: item.weekFinish, \r\n quantity: item.quantity, \r\n sequence: i, \r\n reasonForChange: null });\r\n }\r\n } else {\r\n for (let i = 1; i <= -diffQuantity; i += 1) {\r\n this.props.onSubmitPlannedWeekChange({ id: uuid(), \r\n oldWeekNumber: item.oldWeekNumber, \r\n oldQuantity: item.oldQuantity, \r\n idDrillPlannedWeekChangeType:\r\n PlannedWeekChangeType.ToDelete, \r\n weekNumber: item.weekNumber, \r\n weekStart: item.weekStart, \r\n weekFinish: item.weekFinish, \r\n quantity: item.quantity, \r\n sequence: i, \r\n reasonForChange: null });\r\n }\r\n }\r\n } else {\r\n this.setState((prevState) => {\r\n const prevPlannedWeeks = prevState.plannedWeeks;\r\n const array = prevPlannedWeeks.filter(\r\n (i) => this.getKey(i) !== this.getKey({ weekNumber: item.oldWeekNumber, \r\n quantity: item.oldQuantity })\r\n );\r\n const prevWeeks = prevState.weeks;\r\n array.push({\r\n quantity: item.quantity,\r\n weekNumber: item.weekNumber,\r\n weekNum: item.weekNumber,\r\n weekStart: prevWeeks.filter(\r\n (y) => y.weekNum === item.weekNumber\r\n )[0].weekStart,\r\n weekFinish: prevWeeks.filter(\r\n (y) => y.weekNum === item.weekNumber\r\n )[0].weekFinish,\r\n });\r\n array.sort((a, b) => a.weekNumber - b.weekNumber);\r\n const yearNow = moment().year();\r\n if (prevState.year === yearNow) {\r\n const weekCurrent = moment().week();\r\n if (item.oldWeekNumber >= weekCurrent - 1) {\r\n prevWeeks.push({ name: item.oldWeekNumber.toString(), \r\n weekNum: item.oldWeekNumber, \r\n weekStart: item.oldWeekStart, \r\n weekFinish: item.oldWeekFinish });\r\n }\r\n }\r\n prevWeeks.splice(prevWeeks.findIndex((e) => e.weekNum === item.weekNumber), 1);\r\n\r\n return { plannedWeeks: array, weeks: prevWeeks };\r\n });\r\n const diffQuantity = item.quantity - item.oldQuantity;\r\n if (diffQuantity > 0) {\r\n let i = 1;\r\n for (; i <= diffQuantity; i += 1) {\r\n this.props.onSubmitPlannedWeekChange({ id: uuid(), \r\n oldWeekNumber: item.oldWeekNumber, \r\n oldQuantity: item.oldQuantity, \r\n idDrillPlannedWeekChangeType: \r\n PlannedWeekChangeType.ToAdd, \r\n weekNumber: item.weekNumber, \r\n weekStart: item.weekStart, \r\n weekFinish: item.weekFinish, \r\n quantity: item.quantity, \r\n sequence: i, \r\n reasonForChange: null });\r\n }\r\n this.props.onSubmitPlannedWeekChange({ id: uuid(), \r\n oldWeekNumber: item.oldWeekNumber, \r\n oldQuantity: item.oldQuantity, \r\n idDrillPlannedWeekChangeType: \r\n PlannedWeekChangeType.ToChange, \r\n weekNumber: item.weekNumber, \r\n weekStart: item.weekStart, \r\n weekFinish: item.weekFinish, \r\n quantity: item.quantity, \r\n sequence: i, \r\n reasonForChange: null });\r\n } else if (diffQuantity < 0) {\r\n let i = 1;\r\n for (; i <= -diffQuantity; i += 1) {\r\n this.props.onSubmitPlannedWeekChange({ id: uuid(), \r\n oldWeekNumber: item.oldWeekNumber, \r\n oldQuantity: item.oldQuantity, \r\n idDrillPlannedWeekChangeType: \r\n PlannedWeekChangeType.ToDelete, \r\n weekNumber: item.weekNumber, \r\n weekStart: item.weekStart, \r\n weekFinish: item.weekFinish, \r\n quantity: item.quantity, \r\n sequence: i, \r\n reasonForChange: null });\r\n }\r\n this.props.onSubmitPlannedWeekChange({ id: uuid(), \r\n oldWeekNumber: item.oldWeekNumber, \r\n oldQuantity: item.oldQuantity, \r\n idDrillPlannedWeekChangeType: \r\n PlannedWeekChangeType.ToChange, \r\n weekNumber: item.weekNumber, \r\n weekStart: item.weekStart, \r\n weekFinish: item.weekFinish, \r\n quantity: item.quantity, \r\n sequence: i, \r\n reasonForChange: null });\r\n } else {\r\n this.props.onSubmitPlannedWeekChange({ id: uuid(), \r\n oldWeekNumber: item.oldWeekNumber, \r\n oldQuantity: item.oldQuantity, \r\n idDrillPlannedWeekChangeType: \r\n PlannedWeekChangeType.ToChange, \r\n weekNumber: item.weekNumber, \r\n weekStart: item.weekStart, \r\n weekFinish: item.weekFinish, \r\n quantity: item.quantity, \r\n sequence: 1, \r\n reasonForChange: null });\r\n }\r\n }\r\n this.props.onChange(this.state.plannedWeeks);\r\n this.setState(() => ({ modifyingWeeks: [], quantity: 1, currentWeekNumber: null }));\r\n }\r\n this.setState((prevState) => ({ modifyModalVisible: !prevState.modifyModalVisible }));\r\n }\r\n\r\n renderWeek = (x, isFull = false) => x == null\r\n ? ''\r\n : `Week: ${x?.weekNum} | ${moment\r\n .utc(x?.weekStart)\r\n .format('DD/MM/YY')} - ${moment\r\n .utc(x?.weekFinish)\r\n .format('DD/MM/YY')}${ \r\n isFull ? ` | N\\u00B0 of Drill: ${x?.quantity}` : ''}`;\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n Week number *\r\n \r\n this.setState((prevState) => {\r\n const curState = prevState;\r\n curState.week = event.selectedItem || null;\r\n curState.currentWeekNumber =\r\n event.selectedItem?.weekNum || null;\r\n return { curState };\r\n })\r\n }\r\n id={this.state.weeks?.toString()}\r\n initialSelectedItems={this.state.week}\r\n disabled={\r\n (this.props.disabled && this.props.editingDisabled) ||\r\n !this.state.year\r\n }\r\n items={this.state.weeks}\r\n itemToString={this.renderWeek}\r\n placeholder=\"Select\"\r\n />\r\n \r\n {this.state.error && (\r\n

    {this.state.error}

    \r\n )}\r\n
    \r\n
    \r\n \r\n N° of drill *\r\n {\r\n const val = event.target.value;\r\n this.setState((prevState) => {\r\n const curState = prevState;\r\n curState.quantity = val || 1;\r\n return { curState };\r\n });\r\n }}\r\n type=\"number\"\r\n min=\"1\"\r\n disabled={\r\n (this.props.disabled && this.props.editingDisabled) ||\r\n !this.state.year\r\n }\r\n />\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n {this.state.plannedWeeks.map((item) => (\r\n
    \r\n {this.renderWeek(item, true)}\r\n {this.props.editingDisabled ? null : (\r\n \r\n )}\r\n {this.props.disabled && this.props.editingDisabled ? null : (\r\n this.handleDelete(item)}\r\n >\r\n ×\r\n \r\n )}\r\n
    \r\n ))}\r\n
    \r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nWeekSelector.propTypes = {\r\n year: PropTypes.number.isRequired,\r\n editingDisabled: PropTypes.bool,\r\n disabled: PropTypes.bool.isRequired,\r\n onSubmitPlannedWeekChange: PropTypes.func,\r\n onChange: PropTypes.func.isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({\r\n quantity: PropTypes.number,\r\n weekNum: PropTypes.number,\r\n weekNumber: PropTypes.number,\r\n weekStart: PropTypes.string,\r\n weekFinish: PropTypes.string,\r\n })).isRequired,\r\n};\r\n\r\nWeekSelector.defaultProps = {\r\n editingDisabled: true,\r\n onSubmitPlannedWeekChange: () => {}\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport { v4 as uuid } from 'uuid';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport {\r\n Button,\r\n FormGroup,\r\n TextInput,\r\n Loading,\r\n AccordionItem,\r\n Accordion,\r\n ComboBox,\r\n DropdownSkeleton, MultiSelect\r\n} from 'carbon-components-react';\r\nimport Close16 from '@carbon/icons-react/lib/close/16';\r\nimport PropTypes from 'prop-types';\r\nimport { Information16 } from '@carbon/icons-react';\r\nimport moment from 'moment';\r\nimport { api, me, drill } from '../../helpers/api/api';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport {\r\n getSuccess,\r\n getError,\r\n entitiesLabels,\r\n apioperation,\r\n STATUS,\r\n PlannedWeekChangeType\r\n} from '../../helpers/Constants';\r\nimport { IsEditable, IsInRole } from '../../helpers/authorization/Policies';\r\nimport { HistoryTable } from '../../helpers/HistoryTable';\r\nimport WeekSelector from '../../helpers/WeekSelector';\r\nimport Combo from '../common/Combo';\r\nimport '../../scss/emailchips.scss';\r\nimport EmailChips from '../../helpers/EmailChips';\r\nimport MeRepository from '../../helpers/api/MeRepository';\r\n\r\n\r\nexport default class EDrillDetails extends Component {\r\n currentDate = moment().format('YYYY-MM-DD');\r\n\r\n constructor(props) {\r\n super(props);\r\n this.onSelectDistributionListChange = this.onSelectDistributionListChange.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.saveEDrill = this.saveEDrill.bind(this);\r\n this.updateEDrill = this.updateEDrill.bind(this);\r\n this.renderLoadingModal = this.renderLoadingModal.bind(this);\r\n this.validator = new SimpleReactValidator({\r\n validators: {\r\n emails: {\r\n // name the rule\r\n message: 'The :attribute must be a valid email address list semicolon separated',\r\n rule: (val, params, validator) =>\r\n validator.helpers.testRegex(\r\n val,\r\n // eslint-disable-next-line no-useless-escape\r\n /^(([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)(\\s*;\\s*|\\s*$))+$/i\r\n ) && params.indexOf(val) === -1,\r\n required: true, // optional\r\n },\r\n },\r\n });\r\n\r\n this.defaultGuid = null; // \"00000000-0000-0000-0000-000000000000\";\r\n this.weeks = [...Array(53).keys()].map((x) => x + 1).map(String);\r\n\r\n this.statuses = STATUS;\r\n this.state = {\r\n newEDrill: {\r\n id: this.props.EDrill?.id || uuid(),\r\n drillCode: this.props.EDrill?.drillCode || '',\r\n newDrillTypeDetail: this.props.EDrill?.newDrillTypeDetail,\r\n plannedWeek: this.props.EDrill?.plannedWeek || '',\r\n drillPlannedWeeks: this.props.EDrill?.drillPlannedWeeks || [],\r\n division: this.props.EDrill?.division || null,\r\n company: this.props.EDrill?.company || null,\r\n participant: this.props.EDrill?.participant || null,\r\n status: this.props.EDrill?.status || null,\r\n projects: this.props.EDrill?.projects || [],\r\n drillProjects: this.props.EDrill?.drillProjects || null,\r\n workSite: this.props.EDrill?.workSite || null,\r\n drillType: this.props.EDrill?.drillType || null,\r\n drillTypeDetail: this.props.EDrill?.drillTypeDetail || null,\r\n frequency: this.props.EDrill?.frequency || null,\r\n drillEmergencyLevel: this.props.EDrill?.drillEmergencyLevel || null,\r\n distributionList: this.props.EDrill?.distributionList || null,\r\n plannedYear: this.props.EDrill?.plannedYear || null,\r\n\r\n idDivision: this.props.EDrill?.workSite?.idDivision || this.defaultGuid,\r\n idParticipant: this.props.EDrill?.idParticipant || this.defaultGuid,\r\n idCompany: this.props.EDrill?.idCompany || this.defaultGuid,\r\n idStatus: this.props.EDrill?.idStatus || 0,\r\n idWorkSite: this.props.EDrill?.idWorkSite || this.defaultGuid,\r\n idDrillType: this.props.EDrill?.drillType?.id || this.defaultGuid,\r\n idDrillTypeDetail: this.props.EDrill?.idDrillTypeDetail || this.defaultGuid,\r\n idFrequency: this.props.EDrill?.idFrequency || this.defaultGuid,\r\n idEmergencyLevel: this.props.EDrill?.idEmergencyLevel || this.defaultGuid,\r\n newEmergLevManagement: this.props.EDrill?.newEmergLevManagement == null ? \r\n true : this.props.EDrill?.newEmergLevManagement,\r\n isHistoryModalOpen: false,\r\n },\r\n divisions: [],\r\n appAllDrillTypeDT: [],\r\n appAllDrillType: [],\r\n appAllWorksites: null,\r\n appAllWorksitePrj: null,\r\n appAllEmergencyLevel: [],\r\n isLoadingDrillTypeDT: null,\r\n isSubmitted: false,\r\n isLoadingDivision: false,\r\n isLoadingWorksite: false,\r\n isLoadingProject: false,\r\n isLoadingEmergencyLevel: false,\r\n deletedPlannedWeek: [],\r\n addedPlannedWeek: [],\r\n updatedPlannedWeek: [],\r\n editingDisabled: this.props.EDrill\r\n ? !IsEditable(\r\n 'Emergency Drill',\r\n 'Planning',\r\n this.props.user,\r\n this.props.EDrill.status.id,\r\n 'All',\r\n this.props.EDrill\r\n )\r\n : false,\r\n editingPlannedDisabled: this.props.EDrill\r\n ? ((!((this.props.EDrill.status.id === 4) && (IsInRole(this.props.user, 'Administrator') || IsInRole(this.props.user, 'Compiler')))\r\n ) || (this.props.EDrill.drillModifiedPlannedWeekSets && \r\n this.props.EDrill.drillModifiedPlannedWeekSets.length > 0))\r\n : true\r\n };\r\n \r\n const year = new Date().getFullYear();\r\n this.years = Array.from(new Array(5), (val, index) => (index + year).toString());\r\n }\r\n\r\n componentDidMount() {\r\n this.getAllDivision();\r\n this.getAllWorkSite();\r\n this.getAllProjects();\r\n this.getAllDrillType();\r\n this.getAllDrillTypeDT();\r\n this.getAllEmergencyLevel();\r\n }\r\n\r\n getAllDivision = () => {\r\n this.setState({\r\n isLoadingDivision: true,\r\n });\r\n MeRepository.getDivisions()\r\n .then((response) => {\r\n this.setState({\r\n divisions: response,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.DIVISION, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingDivision: false,\r\n });\r\n });\r\n };\r\n\r\n getAllWorkSite = () => {\r\n this.setState({\r\n isLoadingWorksite: true,\r\n });\r\n me.getAll('worksites')\r\n .then((response) => {\r\n this.setState({\r\n appAllWorksites: response.data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.WORKSITE, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingWorksite: false,\r\n });\r\n });\r\n };\r\n\r\n getAllProjects = () => {\r\n this.setState({\r\n isLoadingProject: true,\r\n });\r\n api\r\n .getAll('/me/worksitesproject')\r\n .then((response) => {\r\n this.setState({\r\n appAllWorksitePrj: response.data.filter((a) => a.end >= this.currentDate),\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.PROJECT, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingProject: false,\r\n });\r\n });\r\n };\r\n\r\n getAllDrillType = () => {\r\n drill\r\n .get('drilltype')\r\n .then((response) => {\r\n this.setState({\r\n appAllDrillType: response.data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.PROJECT, apioperation.GET));\r\n });\r\n };\r\n\r\n getAllDrillTypeDT = () => {\r\n this.setState({\r\n isLoadingDrillTypeDT: true,\r\n });\r\n drill.get('drilltype/drilltypedetails')\r\n .then((response) => {\r\n this.setState({\r\n appAllDrillTypeDT: response.data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.PROJECT, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingDrillTypeDT: false,\r\n });\r\n });\r\n };\r\n\r\n getAllEmergencyLevel = () => {\r\n this.setState({\r\n isLoadingEmergencyLevel: true,\r\n });\r\n drill.get('emergencylevel')\r\n .then((response) => {\r\n if (response.status === 200) {\r\n this.setState({\r\n appAllEmergencyLevel: response.data,\r\n });\r\n } else {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError('Unsuccessfully get', entitiesLabels.EMERGENCYLEVEL, apioperation.GET)\r\n );\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.EMERGENCYLEVEL, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingEmergencyLevel: false,\r\n });\r\n });\r\n };\r\n\r\n getWorksiteFiltered(idDivision) {\r\n if (idDivision != null) {\r\n const data = (this.state.appAllWorksites || []).filter((el) => el.idDivision === idDivision);\r\n return data;\r\n }\r\n return this.state.appAllWorksites;\r\n }\r\n\r\n getWorksitePrjFiltered(idWorksite) {\r\n if (idWorksite != null) {\r\n const data = (this.state.appAllWorksitePrj || [])\r\n .filter((el) => el.idWorkSite === idWorksite);\r\n return data;\r\n }\r\n return this.state.appAllWorksitePrj;\r\n }\r\n\r\n getDrillTypeDetailFiltered(idDrillType) {\r\n if (idDrillType != null) {\r\n const data = (this.state.appAllDrillTypeDT || [])\r\n .filter((el) => el.idDrillType === idDrillType);\r\n return data;\r\n }\r\n return this.state.appAllWorksitePrj;\r\n }\r\n \r\n showButtonHistory = () => (\r\n \r\n );\r\n\r\n openModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: true });\r\n };\r\n\r\n getSelectedProjects = (listProject) => {\r\n const selectedProjects = listProject.filter((e) => this.state.newEDrill.projects\r\n .some((i) => e.idProject === i.id || e.idProject === i.idProject));\r\n return selectedProjects;\r\n };\r\n\r\n closeModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: false });\r\n };\r\n\r\n onSelectDistributionListChange = (e) => {\r\n const val = e;\r\n this.setState((prevState) => {\r\n const newEDrill = { ...prevState.newEDrill };\r\n newEDrill.distributionList = val;\r\n return { newEDrill };\r\n });\r\n };\r\n \r\n renderLoadingModal = () => {\r\n const show = this.state.isSubmitted;\r\n return show && ;\r\n };\r\n\r\n saveEDrill = async (item) => {\r\n try {\r\n this.setState({ isSubmitted: true });\r\n const itemtoSubmit = item;\r\n itemtoSubmit.id = uuid();\r\n const { data } = await api.post('/drill', itemtoSubmit);\r\n showNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.EMERGENCYDRILL, apioperation.POST));\r\n return data;\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.EMERGENCYDRILL, apioperation.POST));\r\n return null;\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n };\r\n\r\n updateEDrill = async (item) => {\r\n try {\r\n this.setState({ isSubmitted: true });\r\n await api.put('/drill', item);\r\n return showNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.EMERGENCYDRILL, apioperation.PUT));\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.EMERGENCYDRILL, apioperation.PUT));\r\n return null;\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n };\r\n\r\n handleSubmit = async (event) => {\r\n event.preventDefault();\r\n if (!this.state.editingPlannedDisabled) {\r\n this.props.onDrillPlannedUpdate(\r\n this.state.deletedPlannedWeek, \r\n this.state.addedPlannedWeek, \r\n this.state.updatedPlannedWeek);\r\n return;\r\n }\r\n\r\n if (this.validator.allValid()) { \r\n const id = this.state.newEDrill?.id;\r\n const newEDrillDTO = {\r\n id: this.state.newEDrill?.id || uuid(),\r\n newDrillTypeDetail: this.state.newEDrill?.newDrillTypeDetail,\r\n plannedWeek: this.state.newEDrill?.plannedWeek,\r\n drillPlannedWeeks: this.state.newEDrill.drillPlannedWeeks || [],\r\n plannedYear: this.state.newEDrill?.plannedYear,\r\n // division: this.state.newEDrill?.division || null,\r\n company: this.state.newEDrill?.company || null,\r\n participant: this.state.newEDrill?.participant || null,\r\n projects: this.state.newEDrill.projects || [],\r\n drillProjects: this.state.newEDrill.projects.map((key) => (\r\n { IdDrill: id != null ? id : uuid(), \r\n IdProject: key.idProject ? key.idProject : key.id })),\r\n workSite: this.state.newEDrill?.workSite || null,\r\n drillType: this.state.newEDrill?.drillType || null,\r\n drillTypeDetail: this.state.newEDrill?.drillTypeDetail || null,\r\n frequency: this.state.newEDrill?.frequency || null,\r\n drillEmergencyLevel: this.state.newEDrill?.drillEmergencyLevel || null,\r\n status: this.state.newEDrill?.status || null,\r\n distributionList: this.state.newEDrill?.distributionList || null,\r\n idParticipant: this.state.newEDrill?.idParticipant || this.defaultGuid,\r\n idDivision: this.state.newEDrill?.idDivision || this.defaultGuid,\r\n idCompany: this.state.newEDrill?.idCompany || this.defaultGuid,\r\n idStatus: this.state.newEDrill?.idStatus || 0,\r\n idWorkSite: this.state.newEDrill?.idWorkSite || this.defaultGuid,\r\n idDrillType: this.state.newEDrill?.idDrillType || this.defaultGuid,\r\n idDrillTypeDetail: this.state.newEDrill?.idDrillTypeDetail || this.defaultGuid,\r\n idFrequency: this.state.newEDrill?.idFrequency || this.defaultGuid,\r\n idEmergencyLevel: this.state.newEDrill?.idEmergencyLevel || this.defaultGuid,\r\n newEmergLevManagement: this.state.newEDrill?.newEmergLevManagement || false\r\n };\r\n if (this.props.EDrill) {\r\n newEDrillDTO.updatedBy = this.props.user.email;\r\n newEDrillDTO.updatedOn = new Date();\r\n newEDrillDTO.idCheckList = this.props.EDrill.checkList?.Id;\r\n newEDrillDTO.checkList = this.props.EDrill.checkList || null;\r\n await this.updateEDrill(newEDrillDTO);\r\n newEDrillDTO.division = this.state.newEDrill?.division || null;\r\n newEDrillDTO.idDivision = this.state.newEDrill?.idDivision || this.defaultGuid;\r\n newEDrillDTO.drillCode = this.state.newEDrill?.drillCode || '';\r\n this.props.onUpdate(newEDrillDTO);\r\n } else {\r\n newEDrillDTO.createdBy = this.props.user.email;\r\n newEDrillDTO.createdOn = new Date();\r\n newEDrillDTO.updatedBy = this.props.user.email;\r\n newEDrillDTO.updatedOn = newEDrillDTO.createdOn;\r\n const newItem = await this.saveEDrill(newEDrillDTO);\r\n newEDrillDTO.division = this.state.newEDrill?.division || null;\r\n newEDrillDTO.idDivision = this.state.newEDrill?.idDivision || this.defaultGuid;\r\n newEDrillDTO.idStatus = 1;\r\n newEDrillDTO.status = {\r\n id: 1,\r\n caManagementName: 'Draft',\r\n carManagementName: 'Assigned',\r\n carSimplifiedName: 'Opened',\r\n name: 'Draft',\r\n planningName: 'Draft',\r\n reportingName: 'Opened',\r\n };\r\n newEDrillDTO.drillCode = '';\r\n if (newItem) this.props.onSave(newEDrillDTO);\r\n }\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`,\r\n ` ${entitiesLabels.EMERGENCYDRILL} required fields are missing `\r\n );\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n render() {\r\n const listWorksite = this.state.newEDrill.idDivision\r\n ? this.getWorksiteFiltered(this.state.newEDrill.idDivision)\r\n : [];\r\n const listProject = this.state.newEDrill.idWorkSite\r\n ? this.getWorksitePrjFiltered(this.state.newEDrill.idWorkSite)\r\n : [];\r\n const listDrillTypeDetail = this.state.newEDrill.idDrillType\r\n ? this.getDrillTypeDetailFiltered(this.state.newEDrill.idDrillType)\r\n : [];\r\n const selectedItemCombo = { idDrillType: this.state.newEDrill.idDrillType ?\r\n (this.state.appAllDrillType || []).find((el) => el.id === this.state.newEDrill?.idDrillType)\r\n : [],\r\n idDrillTypeDetail: this.state.newEDrill.idDrillTypeDetail\r\n ? (listDrillTypeDetail || []).find((el) => el.id === this.state.newEDrill.idDrillTypeDetail)\r\n : [],\r\n idDivision: this.state.newEDrill.idDivision\r\n ? (this.state.divisions || []).find((el) => el.id === this.state.newEDrill?.idDivision)\r\n : [],\r\n idWorkSite: this.state.newEDrill.idWorkSite\r\n ? (listWorksite || []).find((el) => el.id === this.state.newEDrill.idWorkSite)\r\n : [],\r\n idProject: this.state.newEDrill.projects\r\n ? this.getSelectedProjects(listProject) || []\r\n : [], \r\n idEmergencyLevel: this.state.newEDrill.idEmergencyLevel ?\r\n (this.state.appAllEmergencyLevel || [])\r\n .find((el) => el.id === this.state.newEDrill?.idEmergencyLevel) : [], };\r\n\r\n const validations = {\r\n // division: this.validator.message('division', this.state.newEDrill.division, 'required'), //RITM0945977\r\n division: this.validator.message('businessLine', this.state.newEDrill.division, 'required'),\r\n company: this.validator.message('company', this.state.newEDrill.company?.id, 'required'),\r\n workSite: this.validator.message('workSite', this.state.newEDrill.workSite?.id, 'required'),\r\n drillType: this.validator.message(\r\n 'drillType',\r\n this.state.newEDrill.drillType?.id,\r\n 'required'\r\n ),\r\n drillTypeDetail: this.validator.message(\r\n 'drillTypeDetail',\r\n this.state.newEDrill.drillTypeDetail?.id,\r\n 'required'\r\n ),\r\n newDrillTypeDetail: this.validator.message(\r\n 'newDrillTypeDetail',\r\n this.state.newEDrill.drillTypeDetail?.name.toUpperCase() !== 'OTHER' || this.state.newEDrill.drillType?.name.toUpperCase() !== 'OTHER'\r\n ? true\r\n : this.state.newEDrill.newDrillTypeDetail, // RITM0731493\r\n 'required'\r\n ),\r\n idEmergencyLevel: this.validator.message(\r\n 'emergencyLevel',\r\n this.state.newEDrill.newEmergLevManagement\r\n ? this.state.newEDrill.idEmergencyLevel : true, \r\n 'required'\r\n ),\r\n plannedYear: this.validator.message(\r\n 'plannedYear',\r\n this.state.newEDrill.plannedYear,\r\n 'required'\r\n ),\r\n participant: this.validator.message(\r\n 'participant',\r\n this.state.newEDrill.participant?.id,\r\n 'required'\r\n ),\r\n drillPlannedWeek: this.validator.message(\r\n 'drillPlannedWeeks',\r\n this.state.newEDrill.drillPlannedWeeks[0],\r\n 'required'\r\n ),\r\n };\r\n return (\r\n
    \r\n
    \r\n
    \r\n {this.props.EDrill ? (\r\n

    \r\n {`Edit Drill Plan: ${this.props.EDrill.drillCode}`}\r\n

    \r\n ) : (\r\n

    New Drill Plan

    \r\n )}\r\n {this.props.EDrill ? this.showButtonHistory() : ''}\r\n {\r\n this.closeModalHistory()}\r\n />\r\n }\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n {/* \r\n this.setState((prevState) => {\r\n const newEDrill = { ...prevState.newEDrill };\r\n newEDrill.drillType = event.selectedItem || null;\r\n newEDrill.idDrillType = newEDrill.drillType?.id;\r\n newEDrill.drillTypeDetail = null;\r\n newEDrill.idDrillTypeDetail = null;\r\n if (newEDrill.drillType?.name == 'LCU') newEDrill.projects = [];\r\n return { newEDrill };\r\n })\r\n }\r\n onError={(error) => {\r\n showNotification.error(\r\n getError(error, entitiesLabels.DRILLTYPE, apioperation.GET)\r\n );\r\n }}\r\n initialSelectedItems={this.state.newEDrill.drillType}\r\n disabled={this.state.editingDisabled}\r\n entity={this.state.newEDrill.drillType?.id}\r\n placeholder=\"Select\"\r\n /> */}\r\n {this.state.isLoadingDivision ? (\r\n \r\n ) : (\r\n \r\n this.setState((prevState) => {\r\n const newEDrill = { ...prevState.newEDrill };\r\n newEDrill.drillType = event.selectedItem || null;\r\n newEDrill.idDrillType = newEDrill.drillType?.id;\r\n newEDrill.drillTypeDetail = null;\r\n newEDrill.idDrillTypeDetail = null;\r\n if (newEDrill.drillType?.name === 'LCU') newEDrill.projects = [];\r\n return { newEDrill };\r\n })\r\n }\r\n itemToString={(item) => (item ? item.name : '')}\r\n initialSelectedItem={\r\n selectedItemCombo.idDrillType ? selectedItemCombo.idDrillType : {}\r\n }\r\n items={this.state.appAllDrillType}\r\n disabled={\r\n this.state.isDisabled ||\r\n this.state?.divisions == null ||\r\n this.state?.divisions?.length <= 0 ||\r\n (this.state.isEditModal &&\r\n !IsEditable(\r\n 'Drill',\r\n 'Planning',\r\n this.props.user,\r\n this.getStatusId(this.state.newEDrill.id),\r\n 'All',\r\n this.getCanEditResource(this.state.newEDrill.id)\r\n )) ||\r\n this.state.editingDisabled\r\n }\r\n invalid={validations.division != null}\r\n />\r\n )}\r\n {validations.drillType}\r\n \r\n\r\n {this.state.newEDrill.drillType?.name === 'Other' ? (\r\n <>\r\n \r\n {\r\n const val = event.target.value;\r\n this.setState((prevState) => {\r\n const newEDrill = { ...prevState.newEDrill };\r\n newEDrill.newDrillTypeDetail = val || null;\r\n return { newEDrill };\r\n });\r\n }}\r\n type=\"text\"\r\n disabled={this.state.editingDisabled}\r\n placeholder=\"Input Drill Type Detail\"\r\n />\r\n \r\n \r\n ) : null}\r\n
    \r\n
    \r\n \r\n {/* \r\n this.setState((prevState) => {\r\n const newEDrill = { ...prevState.newEDrill };\r\n newEDrill.drillTypeDetail = event.selectedItem || null;\r\n newEDrill.idDrillTypeDetail = newEDrill.drillTypeDetail?.id;\r\n return { newEDrill };\r\n })\r\n }\r\n onError={(error) => {\r\n showNotification.error(\r\n getError(error, entitiesLabels.DRILLTYPEDETAIL, apioperation.GET)\r\n );\r\n }}\r\n key=\"this.state.newEDrill.drillType?.id\"\r\n initialSelectedItems={this.state.newEDrill.drillTypeDetail}\r\n disabled={this.state.editingDisabled || this.state.newEDrill.drillType == null}\r\n entity={this.state.newEDrill.drillTypeDetail?.id}\r\n placeholder=\"Select\"\r\n /> */}\r\n {this.state.isLoadingDrillTypeDT ? (\r\n \r\n ) : (\r\n \r\n this.setState((prevState) => {\r\n const newEDrill = { ...prevState.newEDrill };\r\n newEDrill.drillTypeDetail = event.selectedItem || null;\r\n newEDrill.idDrillTypeDetail = newEDrill.drillTypeDetail?.id;\r\n return { newEDrill };\r\n })\r\n }\r\n itemToString={(item) => (item ? item.name : '')}\r\n initialSelectedItem={\r\n selectedItemCombo.idDrillTypeDetail ? \r\n selectedItemCombo.idDrillTypeDetail : {}\r\n }\r\n items={listDrillTypeDetail}\r\n disabled={\r\n this.state.isDisabled ||\r\n this.state?.divisions == null ||\r\n this.state?.divisions?.length <= 0 ||\r\n (this.state.isEditModal &&\r\n !IsEditable(\r\n 'Drill',\r\n 'Planning',\r\n this.props.user,\r\n this.getStatusId(this.state.newEDrill.id),\r\n 'All',\r\n this.getCanEditResource(this.state.newEDrill.id)\r\n )) ||\r\n this.state.editingDisabled\r\n }\r\n invalid={validations.division != null}\r\n />\r\n )}\r\n {validations.drillTypeDetail}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {/* RITM0945977 */}\r\n {/* */}\r\n \r\n {/* \r\n this.setState((prevState) => {\r\n const newEDrill = { ...prevState.newEDrill };\r\n newEDrill.division = event.selectedItem || null;\r\n newEDrill.idDivision = newEDrill.division?.id;\r\n newEDrill.workSite = null;\r\n newEDrill.projects = [];\r\n return { newEDrill };\r\n })\r\n }\r\n onError={(error) => {\r\n showNotification.error(\r\n getError(error, entitiesLabels.DIVISION, apioperation.GET)\r\n );\r\n }}\r\n initialSelectedItems={this.state.newEDrill.division}\r\n disabled={this.state.editingDisabled}\r\n entity={this.state.newEDrill.division?.id}\r\n placeholder=\"Select\"\r\n /> */}\r\n {this.state.isLoadingDivision ? (\r\n \r\n ) : (\r\n \r\n this.setState((prevState) => {\r\n const newEDrill = { ...prevState.newEDrill };\r\n newEDrill.division = event.selectedItem || null;\r\n newEDrill.idDivision = newEDrill.division?.id;\r\n newEDrill.workSite = null;\r\n newEDrill.projects = [];\r\n return { newEDrill };\r\n })}\r\n itemToString={(item) => (item ? item.name : '')}\r\n initialSelectedItem={\r\n selectedItemCombo.idDivision ? selectedItemCombo.idDivision : {}\r\n }\r\n items={this.state.divisions}\r\n disabled={\r\n this.state.isDisabled ||\r\n this.state?.divisions == null ||\r\n this.state?.divisions?.length <= 0 ||\r\n (this.state.isEditModal &&\r\n !IsEditable(\r\n 'Drill',\r\n 'Planning',\r\n this.props.user,\r\n this.getStatusId(this.state.newEDrill.id),\r\n 'All',\r\n this.getCanEditResource(this.state.newEDrill.id)\r\n )) ||\r\n this.state.editingDisabled\r\n }\r\n invalid={validations.division != null}\r\n />\r\n )}\r\n {validations.division}\r\n \r\n
    \r\n
    \r\n \r\n \r\n this.setState((prevState) => {\r\n const newEDrill = { ...prevState.newEDrill };\r\n newEDrill.company = event.selectedItem || null;\r\n newEDrill.idCompany = newEDrill.company?.id;\r\n return { newEDrill };\r\n })\r\n }\r\n onError={(error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.COMPANY, apioperation.GET)\r\n );\r\n }}\r\n initialSelectedItems={this.state.newEDrill.company}\r\n disabled={this.state.editingDisabled}\r\n entity={this.state.newEDrill.company?.id}\r\n placeholder=\"Select\"\r\n />\r\n {validations.company}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {/* \r\n this.setState((prevState) => {\r\n const newEDrill = { ...prevState.newEDrill };\r\n newEDrill.workSite = event.selectedItem || null;\r\n newEDrill.idWorkSite = newEDrill.workSite?.id;\r\n newEDrill.projects = [];\r\n return { newEDrill };\r\n })\r\n }\r\n onError={(error) => {\r\n showNotification.error(\r\n getError(error, entitiesLabels.WORKSITE, apioperation.GET)\r\n );\r\n }}\r\n initialSelectedItems={this.state.newEDrill.workSite}\r\n disabled={this.state.editingDisabled || this.state.newEDrill.division == null}\r\n entity={this.state.newEDrill.workSite?.id}\r\n placeholder=\"Select\"\r\n /> */}\r\n {this.state.isLoadingWorksite ? (\r\n \r\n ) : (\r\n \r\n this.setState((prevState) => {\r\n const newEDrill = { ...prevState.newEDrill };\r\n newEDrill.workSite = event.selectedItem || null;\r\n newEDrill.idWorkSite = newEDrill.workSite?.id;\r\n newEDrill.projects = [];\r\n return { newEDrill };\r\n })}\r\n itemToString={(item) => (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.idWorkSite}\r\n items={listWorksite}\r\n disabled={\r\n this.state.isDisabled ||\r\n this.state.newEDrill.idDivision == null ||\r\n listWorksite == null ||\r\n listWorksite?.length <= 0 ||\r\n (this.state.isEditModal &&\r\n !IsEditable(\r\n 'Drill',\r\n 'Planning',\r\n this.props.user,\r\n this.getStatusId(this.state.newEDrill.id),\r\n 'All',\r\n this.getCanEditResource(this.state.newEDrill.id)\r\n )) ||\r\n this.state.editingDisabled\r\n }\r\n invalid={validations?.worksite != null}\r\n />\r\n )}\r\n {validations.workSite}\r\n \r\n
    \r\n
    \r\n \r\n {/* \r\n this.setState((prevState) => {\r\n const newEDrill = { ...prevState.newEDrill };\r\n newEDrill.projects = prjs || [];\r\n return { newEDrill };\r\n })\r\n }\r\n onError={(error) => {\r\n showNotification.error(\r\n getError(error, entitiesLabels.projects, apioperation.GET)\r\n );\r\n }}\r\n placeholder=\"Select\"\r\n initialSelectedItems={this.state.newEDrill.projects}\r\n disabled={\r\n this.state.editingDisabled ||\r\n this.state.newEDrill.drillType?.name == 'LCU' ||\r\n this.state.newEDrill.workSite == null\r\n }\r\n /> */}\r\n {this.state.isLoadingProject ? (\r\n \r\n ) : (\r\n \r\n this.setState((prevState) => {\r\n const newEDrill = { ...prevState.newEDrill };\r\n newEDrill.projects = prjs.selectedItems || [];\r\n return { newEDrill };\r\n })\r\n }\r\n helperText=\"Note: the field is mandatory unless the project is not yet defined in this stage\"\r\n itemToString={(item) => (item ? item.project : '')}\r\n initialSelectedItems={this.getSelectedProjects(listProject)}\r\n items={listProject}\r\n disabled={\r\n this.state.newEDrill.idDivision == null ||\r\n this.state.newEDrill.idWorkSite == null ||\r\n listProject == null ||\r\n listProject?.length <= 0 ||\r\n (this.state.isEditModal &&\r\n !IsEditable(\r\n 'Drill',\r\n 'Planning',\r\n this.props.user,\r\n this.getStatusId(this.state.newEDrill.id),\r\n 'All',\r\n this.getCanEditResource(this.state.newEDrill.id)\r\n )) ||\r\n this.state.editingDisabled\r\n }\r\n invalid={validations.idProject != null}\r\n />\r\n )}\r\n {this.state.editingDisabled ?\r\n

    {(this.state.newEDrill.projects.map((item) => item.name ? item.name : item.project).sort()).join(', ')}

    \r\n : null\r\n }\r\n {validations.project}\r\n \r\n
    \r\n
    \r\n { this.state.newEDrill?.newEmergLevManagement ? (\r\n
    \r\n
    \r\n \r\n {this.state.isLoadingEmergencyLevel ? (\r\n ) : (\r\n \r\n this.setState((prevState) => {\r\n const newEDrill = { ...prevState.newEDrill };\r\n newEDrill.drillEmergencyLevel = event.selectedItem || null;\r\n newEDrill.idEmergencyLevel = newEDrill.drillEmergencyLevel?.id;\r\n return { newEDrill };\r\n })\r\n }\r\n itemToString={(item) => (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.idEmergencyLevel}\r\n items={this.state.appAllEmergencyLevel}\r\n disabled={\r\n this.state.isDisabled ||\r\n (this.state.isEditModal &&\r\n !IsEditable(\r\n 'Drill',\r\n 'Planning',\r\n this.props.user,\r\n this.getStatusId(this.state.newEDrill.id),\r\n 'All',\r\n this.getCanEditResource(this.state.newEDrill.id)\r\n )) ||\r\n this.state.editingDisabled\r\n }\r\n invalid={validations.idEmergencyLevel != null}\r\n />\r\n )\r\n }\r\n {validations.idEmergencyLevel} \r\n \r\n
    \r\n
    ) : ''}\r\n
    \r\n
    \r\n \r\n \r\n this.setState((prevState) => {\r\n const newEDrill = { ...prevState.newEDrill };\r\n newEDrill.participant = event.selectedItem || null;\r\n newEDrill.idParticipant = newEDrill.participant?.id;\r\n return { newEDrill };\r\n })\r\n }\r\n disabled={this.state.editingDisabled}\r\n placeholder=\"Select\"\r\n />\r\n {validations.participant}\r\n \r\n
    \r\n
    \r\n \r\n \r\n this.setState((prevState) => {\r\n const newEDrill = { ...prevState.newEDrill };\r\n newEDrill.plannedYear = event.selectedItem || null;\r\n return { newEDrill };\r\n })\r\n }\r\n disabled={this.state.editingDisabled}\r\n placeholder=\"Select\"\r\n />\r\n {validations.plannedYear}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n this.setState((prevState) => {\r\n const newEDrill = { ...prevState.newEDrill };\r\n newEDrill.frequency = event.selectedItem || null;\r\n newEDrill.idFrequency = newEDrill.frequency?.id;\r\n return { newEDrill };\r\n })\r\n }\r\n onError={(error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.FREQUENCY, apioperation.GET)\r\n );\r\n }}\r\n initialSelectedItems={this.state.newEDrill.frequency}\r\n disabled={this.state.editingDisabled}\r\n entity={this.state.newEDrill.frequency?.id}\r\n placeholder=\"Select\"\r\n />\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n \r\n this.setState((prevState) => {\r\n const newEDrill = { ...prevState.newEDrill };\r\n newEDrill.drillPlannedWeeks = plnW || null;\r\n return { newEDrill };\r\n })\r\n }\r\n onSubmitPlannedWeekChange={(plnWeek) => {\r\n if (plnWeek !== null) {\r\n this.setState((prevState) => {\r\n let prevWeek = [];\r\n if (plnWeek.idDrillPlannedWeekChangeType ===\r\n PlannedWeekChangeType.ToAdd) {\r\n prevWeek = prevState.addedPlannedWeek;\r\n prevWeek.push(plnWeek);\r\n return { addedPlannedWeek: prevWeek };\r\n } \r\n if (plnWeek.idDrillPlannedWeekChangeType ===\r\n PlannedWeekChangeType.ToChange) {\r\n prevWeek = prevState.updatedPlannedWeek;\r\n prevWeek.push(plnWeek);\r\n return { updatedPlannedWeek: prevWeek };\r\n } \r\n prevWeek = prevState.deletedPlannedWeek;\r\n prevWeek.push(plnWeek);\r\n return { deletedPlannedWeek: prevWeek };\r\n });\r\n }\r\n }}\r\n />\r\n
    \r\n {validations.drillPlannedWeek}\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 {this.renderLoadingModal()}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\nEDrillDetails.propTypes = {\r\n onCancel: PropTypes.func.isRequired,\r\n onSave: PropTypes.func.isRequired,\r\n onUpdate: PropTypes.func.isRequired,\r\n onDrillPlannedUpdate: PropTypes.func.isRequired,\r\n EDrill: PropTypes.object,\r\n user: PropTypes.object.isRequired,\r\n};\r\nEDrillDetails.defaultProps = { EDrill: null };\r\n","import { Button, ComposedModal, Loading, ModalBody, ModalFooter, ModalHeader } from \"carbon-components-react\";\r\nimport React from \"react\";\r\n\r\nconst ConfirmModal = ({ show, onClose, onConfirm, title, contentMessage, confirmBtnText = \"Confirm\", loading }) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{loading && }\r\n\t\t\t\t

    {contentMessage}

    \r\n\t\t\t
    \r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n};\r\n\r\nexport default ConfirmModal;\r\n","/* eslint-disable react/jsx-props-no-spreading */\r\n/* eslint-disable react/forbid-prop-types */\r\n/* eslint-disable jsx-a11y/click-events-have-key-events */\r\nimport React, { Component } from 'react';\r\nimport {\r\n DataTable,\r\n TableContainer,\r\n Table,\r\n TableHead,\r\n TableRow,\r\n TableBody,\r\n TableCell,\r\n TableHeader,\r\n TableSelectRow,\r\n TableToolbar,\r\n TableBatchActions,\r\n TableBatchAction,\r\n Loading,\r\n Button,\r\n Pagination,\r\n} from 'carbon-components-react';\r\nimport PropTypes, { number } from 'prop-types';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport Error16 from '@carbon/icons-react/lib/error/16';\r\nimport Send16 from '@carbon/icons-react/lib/send/16';\r\nimport Close16 from '@carbon/icons-react/lib/close/16';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport Task16 from '@carbon/icons-react/lib/task/16';\r\nimport View16 from '@carbon/icons-react/lib/view/16';\r\nimport ExportDoc16 from '@carbon/icons-react/lib/document--export/16';\r\nimport CheckmarkOutline16 from '@carbon/icons-react/lib/checkmark--outline/16';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { Link } from 'react-router-dom';\r\nimport { api, me } from '../../helpers/api/api';\r\nimport { WFActionModal } from '../common/WFActionModal';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport { CanExecuteAction, IsInRole } from '../../helpers/authorization/Policies';\r\nimport { AppContext } from '../../helpers/context/AppContext';\r\nimport {\r\n getError,\r\n STATUS,\r\n getSuccess,\r\n apioperation,\r\n entitiesLabels,\r\n} from '../../helpers/Constants';\r\nimport { NoRecordsPlaceholder } from '../../helpers/jsonschemaform/DataTableExtention';\r\nimport { StatusTag } from '../../helpers/PageBreadCrumb';\r\nimport { Online, Offline } from '../common/OnLineOffLine';\r\nimport ConfirmModal from '../common/ConfirmModal';\r\n\r\nexport default class EDrillMultiSelectDataTable extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isApprovalModalOpen: false,\r\n approvalModalAction: '',\r\n approver: null,\r\n isLoadingApproverOptions: true,\r\n approvalValidationMessages: [],\r\n approvers: [],\r\n selectedData: [],\r\n approverRole: '',\r\n withApprover: true,\r\n isLoadingWFOperation: false,\r\n approvalNotesRequired: false,\r\n isLoadingNotificationFile: false,\r\n filteredEDrills: null, // props.allYearEDrills,\r\n showFilters: false,\r\n // filteredMonth: null,\r\n selectedApprover: {},\r\n modalDeleteVisible: false,\r\n modalSubmitVisible: false,\r\n isSubmitted: false,\r\n isModifiedPlannedWeekApprovalModalOpen: false,\r\n modifiedPlannedWeekApprovalModalMessage: ''\r\n };\r\n\r\n // this.onSelectEDrillTypeChange = this.onSelectEDrillTypeChange.bind(this);\r\n // this.onSelectStatusChange = this.onSelectStatusChange.bind(this);\r\n // this.onSelectWorkSiteChange = this.onSelectWorkSiteChange.bind(this);\r\n // this.onSelectTargetChange = this.onSelectTargetChange.bind(this);\r\n // this.onSelectScopeChange = this.onSelectScopeChange.bind(this);\r\n this.onSelectDataApproverChange = this.onSelectDataApproverChange.bind(this);\r\n this.renderLoadingModal = this.renderLoadingModal.bind(this);\r\n // this.handleClickCancelSearch = this.handleClickCancelSearch.bind(this);\r\n this.handleClickSearch = this.handleClickSearch.bind(this);\r\n this.validator = new SimpleReactValidator();\r\n this.handleChangePaging = this.handleChangePaging.bind(this);\r\n\r\n this.filters = {};\r\n this.textInput = React.createRef();\r\n\r\n this.validations = {\r\n dataApprover: this.validator.message(\r\n 'dataApprover',\r\n this.state.selectedApprover.id,\r\n 'required'\r\n ),\r\n };\r\n }\r\n\r\n // static getDerivedStateFromProps(props, state) {\r\n // Any time the current user changes,\r\n // Reset any parts of state that are tied to that user.\r\n // In this simple example, that's just the email.\r\n // if (props.allYearEDrills !== state.filteredEDrills) {\r\n // return {\r\n // filteredEDrills: props.allYearEDrills,\r\n // };\r\n // }\r\n // return null;\r\n // }\r\n\r\n // toogleCalendar = (e) => {\r\n // this.props.toogleCalendar(e);\r\n // };\r\n\r\n // onSelectEDrillTypeChange = (selectedItem) => {\r\n // this.props.onTypeFilter(selectedItem);\r\n // };\r\n\r\n // onSelectScopeChange = (selectedItem) => {\r\n // this.props.onScopeFilter(selectedItem);\r\n // };\r\n\r\n // onSelectTargetChange = (selectedItem) => {\r\n // this.props.onTargetFilter(selectedItem);\r\n // };\r\n\r\n // onSelectStatusChange = (selectedItem) => {\r\n // this.props.onStatusFilter(selectedItem);\r\n // };\r\n\r\n // onSelectWorkSiteChange = (selectedItem) => {\r\n // this.props.onWorkSiteFilter(selectedItem);\r\n // };\r\n\r\n getUsersInRole = (role, idEntity) => {\r\n me.getWithParam('users', {\r\n params: { Role: role, IdEntity: idEntity, includeAdmins: true },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n approvers: response.data,\r\n isLoadingApproverOptions: false,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, '', 'ERROR'));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingApproverOptions: false,\r\n });\r\n });\r\n };\r\n\r\n // eslint-disable-next-line react/sort-comp\r\n IsRowSelectable(tableRow, selectedRows, user) {\r\n const row = this.props.eDrills.find((i) => i.id === tableRow.id);\r\n\r\n if (!row || !row.status) return false;\r\n\r\n if (row.idStatus === 4 &&\r\n row.drillModifiedPlannedWeekSets?.length > 0 &&\r\n row.drillModifiedPlannedWeekSets[0].idDataApprover === user.id) return true;\r\n\r\n if (row.isInReport === true) return false;\r\n\r\n if (\r\n row.idStatus === 4 &&\r\n row.isInReport === false &&\r\n (IsInRole(user, 'Administrator') || IsInRole(user, 'Compiler'))\r\n ) return true;\r\n\r\n const canSelect =\r\n CanExecuteAction('Emergency Drill', 'Planning', user, row.idStatus, 'Submit', row) ||\r\n CanExecuteAction('Emergency Drill', 'Planning', user, row.idStatus, 'Approve', row) ||\r\n CanExecuteAction('Emergency Drill', 'Planning', user, row.idStatus, 'Reject', row) ||\r\n CanExecuteAction('Emergency Drill', 'Planning', user, row.idStatus, 'Delete', row);\r\n\r\n if (selectedRows.length === 0) {\r\n return canSelect;\r\n }\r\n\r\n if (selectedRows.length > 0) {\r\n const selectableEDrill = this.props.eDrills.find((i) => i.id === selectedRows[0].id);\r\n const selectableState = selectableEDrill.idStatus;\r\n const selectableDivision =\r\n selectableEDrill.division == null\r\n ? selectableEDrill?.workSite?.idDivision\r\n : selectableEDrill.division?.id;\r\n const selectableWorksite = selectableEDrill.idWorkSite;\r\n\r\n if (\r\n row.idStatus === selectableState &&\r\n ((row.idStatus === STATUS.Draft && row.idWorkSite === selectableWorksite) ||\r\n (row.idStatus !== STATUS.Draft && row.division == null && row?.workSite?.idDivision) ||\r\n (row.idStatus !== STATUS.Draft && row.division != null && \r\n row.division?.id === selectableDivision))\r\n ) {\r\n return canSelect;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n batchActionClick(\r\n actionKey,\r\n actionName,\r\n approverRole,\r\n withApprover,\r\n approvalNotesRequired,\r\n selectedRows\r\n ) {\r\n const eDrill = this.props.eDrills.find((i) => i.id === selectedRows[0].id);\r\n\r\n const idEntity = eDrill.workSite?.idDivision;\r\n\r\n this.setState({\r\n approvalModalAction: actionName,\r\n isApprovalModalOpen: true,\r\n isLoadingApproverOptions: true,\r\n withApprover,\r\n selectedData: selectedRows,\r\n approverRole,\r\n approvalEndpoint: actionKey,\r\n approvalNotesRequired,\r\n });\r\n\r\n if (withApprover) this.getUsersInRole(approverRole, idEntity);\r\n }\r\n\r\n onBatchClick(\r\n title,\r\n message,\r\n actionKey,\r\n selectedRows\r\n ) {\r\n this.setState(() => ({\r\n isModifiedPlannedWeekApprovalModalOpen: true,\r\n approvalEndpoint: actionKey,\r\n approvalModalAction: title,\r\n modifiedPlannedWeekApprovalModalMessage: message,\r\n selectedData: selectedRows\r\n }));\r\n }\r\n\r\n toogleFilterModal = (e) => {\r\n this.props.toogleFilterModal(e);\r\n };\r\n\r\n handleChangePaging = (event) => {\r\n this.props.handleChangePaging(event);\r\n };\r\n\r\n onSelectDataApproverChange = (selectedItem) => {\r\n this.setState({\r\n selectedApprover: selectedItem || {},\r\n });\r\n };\r\n\r\n buildNoMonthFilter = () => {\r\n let { filteredEDrills } = this.state;\r\n filteredEDrills = this.state.filteredDivision\r\n ? filteredEDrills.filter((item) => item.idDivision === this.state.filteredDivision)\r\n : filteredEDrills;\r\n return filteredEDrills;\r\n };\r\n\r\n /* onMonthFilter = (event) => {\r\n this.setState({\r\n filteredMonth: event.currentTarget.id > 0 ? parseInt(event.currentTarget.id, 10) : null,\r\n filteredEDrills: this.buildNoMonthFilter(),\r\n });\r\n this.props.onMonthFilter(\r\n event.currentTarget.id > 0 ? parseInt(event.currentTarget.id, 10) : null\r\n );\r\n }; */\r\n\r\n handleApproverSelect = (selectedItem) => {\r\n this.setState({ approver: selectedItem });\r\n };\r\n\r\n handleCloseApprovalModal = () => {\r\n this.setState({ isApprovalModalOpen: false }, this.clearApprovalForm);\r\n };\r\n\r\n handleCloseModifiedPlannedWeekApprovalModal = () => {\r\n this.setState(() => ({ isModifiedPlannedWeekApprovalModalOpen: false,\r\n approvalEndpoint: '',\r\n approvalModalAction: '',\r\n modifiedPlannedWeekApprovalModalMessage: '',\r\n selectedData: null }));\r\n };\r\n\r\n handleApprovalNotesChange = (e) => {\r\n this.setState({ approvalNotes: e.target.value });\r\n };\r\n\r\n handleConfirmApprovalModal = () => {\r\n const apiEndpoint = this.state.approvalEndpoint;\r\n const data = {\r\n ids: this.state.selectedData.map((r) => r.id),\r\n owner: this.state.approver,\r\n workflowNotes: this.state.approvalNotes,\r\n };\r\n\r\n this.props.onWaitingSubmit();\r\n api\r\n .put(`/drill/${apiEndpoint}`, data, '')\r\n .then((response) => {\r\n this.props.onWaitingSubmit();\r\n if (response.status === 200) {\r\n showNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.EMERGENCYDRILL, apioperation.PUT));\r\n this.setState({\r\n isApprovalModalOpen: false,\r\n // isLoading: true,\r\n // itemList: []\r\n });\r\n this.props.onRefreshData();\r\n } else {\r\n showNotification.error();\r\n }\r\n })\r\n .catch((error) => {\r\n this.props.onWaitingSubmit();\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, error.response.data, 'ERROR'));\r\n })\r\n .finally(() => {});\r\n };\r\n\r\n handleConfirmModifiedPlannedWeekApprovalModal = () => {\r\n const apiEndpoint = this.state.approvalEndpoint;\r\n const data = {\r\n Ids: this.state.selectedData.map(\r\n (r) => this.props.eDrills.find((i) => i.id === r.id)?.drillModifiedPlannedWeekSets[0].id)\r\n };\r\n\r\n this.props.onWaitingSubmit();\r\n api\r\n .put(`/drill/${apiEndpoint}`, data, '')\r\n .then((response) => {\r\n this.props.onWaitingSubmit();\r\n if (response.status === 200) {\r\n showNotification.success(`${entitiesLabels.SUCCESS}`, `${entitiesLabels.EMERGENCYDRILL_PLANNEDWEEKCHANGES} correctly managed`);\r\n this.setState(() => ({ isModifiedPlannedWeekApprovalModalOpen: false }));\r\n this.props.onRefreshData();\r\n } else {\r\n const message = response.data || '';\r\n if (response.status === 501) showNotification.error(`${entitiesLabels.ERROR}`, `${entitiesLabels.EMERGENCYDRILL_PLANNEDWEEKCHANGES} ${message}`);\r\n else {\r\n const error = { response };\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.EMERGENCYDRILL_PLANNEDWEEKCHANGES, apioperation.PUT));\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n this.props.onWaitingSubmit();\r\n if (error.response) {\r\n const message = error.response.data || '';\r\n if (error.response.status === 501) showNotification.error(`${entitiesLabels.ERROR}`, `${entitiesLabels.EMERGENCYDRILL_PLANNEDWEEKCHANGES} ${message}`);\r\n else showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.EMERGENCYDRILL_PLANNEDWEEKCHANGES, apioperation.PUT));\r\n }\r\n });\r\n };\r\n /** ***********Render******************* */\r\n\r\n getEDrill = (selectedRows) => {\r\n if (selectedRows && selectedRows.length > 0) {\r\n return this.props.eDrills.find((el) => el.id === selectedRows[0].id);\r\n }\r\n return null;\r\n };\r\n\r\n getEDrillor = (selectedRows) => {\r\n if (selectedRows && selectedRows.length > 0) {\r\n const au = this.props.eDrills.find((el) => el.id === selectedRows[0].id);\r\n return au && au.eDrillors && au.eDrillors[0] ? { idCompiler: au.eDrillors[0].id } : null;\r\n }\r\n return null;\r\n };\r\n\r\n getEDrillReport = (selectedRows) => {\r\n if (selectedRows && selectedRows.length > 0) {\r\n const r = this.props.eDrills.find((el) => el.id === selectedRows[0].id);\r\n return r && r.checkList;\r\n }\r\n return null;\r\n };\r\n\r\n getStatusId = (idRow) => {\r\n const r = this.props.eDrills.find((el) => el.id === idRow);\r\n return r && r.idStatus;\r\n };\r\n\r\n getIsInReport = (idRow) => {\r\n const r = this.props.eDrills.find((el) => el.id === idRow);\r\n if (r.isInReport === false) return true;\r\n return false;\r\n };\r\n\r\n getReportStatusId = (idRow) => {\r\n const r = this.props.eDrills.find((el) => el.id === idRow);\r\n return r && r.checkList;\r\n };\r\n\r\n getIsModificationWeeksDataApprover = (idRow, user) => {\r\n const r = this.props.eDrills.find((el) => el.id === idRow);\r\n if (r && r.idStatus > STATUS.Approved && r.drillModifiedPlannedWeekSets?.length > 0 &&\r\n r.drillModifiedPlannedWeekSets[0].idDataApprover === user.id) return true;\r\n return false;\r\n };\r\n\r\n canViewReports = (idRow) => {\r\n const r = this.props.eDrills.find((el) => el.id === idRow);\r\n if (r && r.idStatus > STATUS.Approved && r.isInReport === true) return true;\r\n return false;\r\n };\r\n\r\n renderLoadingModal = () => {\r\n const show = this.state.isSubmitted;\r\n return show && ;\r\n };\r\n\r\n renderDeleteModal = (totalItems) =>\r\n this.state.modalDeleteVisible && (\r\n
    \r\n
    \r\n
    \r\n

    Delete draft eDrills

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

    \r\n Press confirm to delete\r\n {` ${totalItems} `}\r\n eDrill/s selected\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n renderSubmitModal = (totalItems) => \r\n // const validations = {\r\n // dataApprover: this.validator.message(\r\n // 'dataApprover',\r\n // this.state.selectedApprover.id,\r\n // 'required'\r\n // ),\r\n // };\r\n (\r\n this.state.modalSubmitVisible && (\r\n
    \r\n
    \r\n
    \r\n

    Submit Drill

    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n Choose a Data Approver and than confirm to submit\r\n {` ${totalItems} `}\r\n Drill/s selected\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n Confirm\r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n )\r\n;\r\n\r\n /* renderMonthsHeader = () => {\r\n const elements = [\r\n 'All',\r\n 'Gen',\r\n 'Feb',\r\n 'Mar',\r\n 'Apr',\r\n 'May',\r\n 'Jun',\r\n 'Jul',\r\n 'Aug',\r\n 'Sep',\r\n 'Oct',\r\n 'Nov',\r\n 'Dec',\r\n ];\r\n const items = elements.map((item, index) => (\r\n // eslint-disable-next-line jsx-a11y/interactive-supports-focus\r\n \r\n
    {item}
    \r\n\r\n
    \r\n {index > 0\r\n ? this.state.filteredEDrills.filter((elem) => elem.referenceMonth === index).length\r\n : this.state.filteredEDrills.length}\r\n
    \r\n
    \r\n ));\r\n\r\n return
    {items}
    ;\r\n }; */\r\n\r\n getCellValue = (type, value,) => {\r\n if (!value) return '';\r\n if (typeof value === 'object') {\r\n if (type.header.includes('eDrillor')) {\r\n return value.fullName;\r\n }\r\n if (type.header.includes('status')) {\r\n return ;\r\n }\r\n if (type.header.includes('checkList')) {\r\n return ;\r\n }\r\n\r\n if (value instanceof Array) {\r\n return value.map((elem) => elem.name).join(', ');\r\n }\r\n return value.name;\r\n }\r\n if (type.header.includes('Month')) {\r\n const months = [\r\n 'Jan',\r\n 'Feb',\r\n 'Mar',\r\n 'Apr',\r\n 'May',\r\n 'Jun',\r\n 'Jul',\r\n 'Aug',\r\n 'Sep',\r\n 'Oct',\r\n 'Nov',\r\n 'Dec',\r\n ];\r\n const monthToString = (monthNumber) => months[monthNumber - 1] || '';\r\n return monthToString(value);\r\n }\r\n return value;\r\n };\r\n\r\n // handleClickCancelSearch = () => {\r\n // this.textInput.current.value = '';\r\n // for (const prop in this.filters) {\r\n // if (Object.prototype.hasOwnProperty.call(this.filters, prop)) {\r\n // this.filters[prop] = Array.isArray(this.filters[prop]) ? [] : null;\r\n // }\r\n // }\r\n // this.props.applyFilters(this.filters, false);\r\n // };\r\n\r\n handleClickSearch = () => {\r\n this.props.applyFilters(this.filters, true);\r\n };\r\n\r\n DownloadEDrillReport(eDrillId) {\r\n this.setState({ isLoadingNotificationFile: true });\r\n api\r\n .getWithParam(`/eDrill/${eDrillId}/exportreport`, { responseType: 'arraybuffer' })\r\n .then((response) => {\r\n const data = new Blob([response.data], { type: 'application/pdf' });\r\n const csvURL = window.URL.createObjectURL(data);\r\n const tempLink = document.createElement('a');\r\n tempLink.href = csvURL;\r\n const eDrillCode = this.props.eDrills.find((i) => i.id === eDrillId);\r\n const nomefile = `EDrill_Report_${eDrillCode.eDrillCode}.pdf`;\r\n tempLink.setAttribute('download', nomefile);\r\n document.body.appendChild(tempLink);\r\n tempLink.click();\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.EMERGENCYDRILL_REPORT, apioperation.DOWNLOAD)\r\n );\r\n // console.log(eDrillId);\r\n })\r\n .finally(() => {\r\n this.setState({ isLoadingNotificationFile: false });\r\n });\r\n }\r\n\r\n DownloadEDrillNotification(eDrillId) {\r\n this.setState({ isLoadingNotificationFile: true });\r\n api\r\n .getWithParam(`/eDrill/${eDrillId}/export`, { responseType: 'arraybuffer' })\r\n .then((response) => {\r\n const data = new Blob([response.data], { type: 'application/pdf' });\r\n const csvURL = window.URL.createObjectURL(data);\r\n const tempLink = document.createElement('a');\r\n tempLink.href = csvURL;\r\n const eDrillCode = this.props.eDrills.find((i) => i.id === eDrillId);\r\n const nomefile = `EDrill_Notification_${eDrillCode.eDrillCode}.pdf`;\r\n tempLink.setAttribute('download', nomefile);\r\n document.body.appendChild(tempLink);\r\n tempLink.click();\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.EMERGENCYDRILL_NOTIFICATION, apioperation.DOWNLOAD)\r\n );\r\n // console.log(eDrillId);\r\n })\r\n .finally(() => {\r\n this.setState({ isLoadingNotificationFile: false });\r\n });\r\n }\r\n\r\n showFilters() {\r\n this.setState((oldState) => ({ showFilters: !oldState.showFilters }));\r\n }\r\n\r\n // renderFilters = () => (\r\n //
    \r\n //
    \r\n\r\n // \r\n // Company\r\n // \r\n // this.filters['company'] = event.selectedItem\r\n // }\r\n // onError={(error) => { }}\r\n // disabled={false}\r\n // initialSelectedItems={this.filters['company']}\r\n // />\r\n // \r\n\r\n // \r\n // Worksite\r\n // \r\n // this.filters['workSite'] = event.selectedItem\r\n // }\r\n // onError={(error) => { }}\r\n // disabled={false}\r\n // initialSelectedItems={this.filters['workSite']}\r\n // />\r\n // \r\n\r\n // \r\n // Drill Code\r\n // \r\n // this.filters['drillCode'] = event.target.value\r\n // }\r\n // type=\"text\"\r\n // ref={this.textInput}\r\n // />\r\n // \r\n\r\n // {/*\r\n // Projects\r\n // \r\n // this.filters['projects'] = prjs\r\n // }\r\n // onError={(error) => { }}\r\n // initialSelectedItems={this.filters['projects'] || []}\r\n // disabled={false}\r\n // />\r\n // */}\r\n\r\n // \r\n // Drill Type\r\n // \r\n // this.filters['drillType'] = event.selectedItem\r\n // }\r\n // onError={(error) => { }}\r\n // loadAll\r\n // disabled={false}\r\n // initialSelectedItems={this.filters['drillType']}\r\n // />\r\n // \r\n\r\n // \r\n // Drill Type Detail\r\n // \r\n // this.filters['drillTypeDetail'] = event.selectedItem\r\n // }\r\n // onError={(error) => { }}\r\n // loadAll\r\n // disabled={false}\r\n // initialSelectedItems={this.filters['drillTypeDetail']}\r\n // />\r\n // \r\n\r\n //
    \r\n\r\n //
    \r\n // \r\n // \r\n //
    \r\n //
    \r\n // );\r\n\r\n render() {\r\n const headers = [\r\n {\r\n key: 'drillCode',\r\n header: 'Drill Code',\r\n },\r\n {\r\n key: 'division',\r\n //RITM0945977\r\n // header: 'Division',\r\n header: 'Business Line',\r\n },\r\n {\r\n key: 'company',\r\n header: 'Company',\r\n },\r\n {\r\n key: 'workSite',\r\n header: 'WorkSite',\r\n },\r\n {\r\n key: 'participant',\r\n header: 'Participant',\r\n },\r\n {\r\n key: 'frequency',\r\n header: 'Frequency',\r\n },\r\n {\r\n key: 'drillType',\r\n header: 'Drill Type',\r\n },\r\n {\r\n key: 'drillTypeDetail',\r\n header: 'Drill Type Detail',\r\n },\r\n {\r\n key: 'status',\r\n header: 'Status',\r\n },\r\n ];\r\n const paginationProps = () => ({\r\n page: this.props.paginationInfo.currentPage || 1,\r\n totalItems: this.props.paginationInfo.rowCount || 0,\r\n pageSize: this.props.paginationInfo.pageSize || 10,\r\n pageSizes: [10, 20, 30, 40, 50],\r\n onChange: this.handleChangePaging,\r\n });\r\n\r\n return (\r\n \r\n {({ user }) => (\r\n <>\r\n \r\n (\r\n \r\n {selectedRows.length > 0 ? (\r\n \r\n \r\n \r\n {CanExecuteAction(\r\n 'Emergency Drill',\r\n 'Planning',\r\n user,\r\n selectedRows.length > 0 ? this.getStatusId(selectedRows[0].id) : null,\r\n 'Submit',\r\n this.getEDrill(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Submit',\r\n 'Submit',\r\n 'Data Approver',\r\n true,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Submit Plan\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Emergency Drill',\r\n 'Planning',\r\n user,\r\n selectedRows.length > 0 ? this.getStatusId(selectedRows[0].id) : null,\r\n 'Approve',\r\n this.getEDrill(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Approve',\r\n 'Approve',\r\n null,\r\n false,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Approve Plan\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Emergency Drill',\r\n 'Planning',\r\n user,\r\n selectedRows.length > 0 ? this.getStatusId(selectedRows[0].id) : null,\r\n 'Reject',\r\n this.getEDrill(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Reject',\r\n 'Reject',\r\n null,\r\n false,\r\n true,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Reject Plan\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Emergency Drill',\r\n 'Planning',\r\n user,\r\n selectedRows.length > 0 ? this.getStatusId(selectedRows[0].id) : null,\r\n 'Delete',\r\n this.getEDrill(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'Delete',\r\n 'Delete',\r\n null,\r\n false,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Delete Plan\r\n \r\n ) : null}\r\n {selectedRows.length > 0 &&\r\n this.getStatusId(selectedRows[0].id) === 4 &&\r\n this.getIsInReport(selectedRows[0].id) && (\r\n <>\r\n {IsInRole(user, 'Administrator') || IsInRole(user, 'Compiler') ? (\r\n \r\n this.batchActionClick(\r\n 'newreport',\r\n 'Assign',\r\n null,\r\n false,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Assign Report\r\n \r\n ) : null}\r\n \r\n )}\r\n {selectedRows.length > 0 &&\r\n this.getStatusId(selectedRows[0].id) === 4 &&\r\n this.getIsModificationWeeksDataApprover(selectedRows[0].id, user) && (\r\n <>\r\n \r\n this.onBatchClick(\r\n 'Confirm modifications',\r\n 'Confirm the modifications of the selected Drill plan?',\r\n 'confirmdrillmodifiedplannedweekset',\r\n selectedRows\r\n )\r\n }\r\n >\r\n Confirm Modification Request\r\n \r\n \r\n this.onBatchClick(\r\n 'Decline modifications',\r\n 'Decline the modifications of the selected Drill plan?',\r\n 'declinedrillmodifiedplannedweekset',\r\n selectedRows\r\n )\r\n }\r\n >\r\n Decline Modification Request\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n ) : (\r\n ''\r\n )}\r\n\r\n {/* {this.renderFilters()} */}\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n {headers.map((header) => (\r\n {header.header}\r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n {this.IsRowSelectable(row, selectedRows, user) ? (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n {row.cells.map((cell) => (\r\n \r\n {this.getCellValue(cell.info, cell.value, row.id)}\r\n \r\n ))}\r\n \r\n
    \r\n {this.getReportStatusId(row.id) && (\r\n this.DownloadEDrillNotification(row.id)}\r\n />\r\n )}\r\n {this.getReportStatusId(row.id) && (\r\n this.DownloadEDrillReport(row.id)}\r\n />\r\n )}\r\n {(this.getReportStatusId(row.id) == null ||\r\n IsInRole(user, 'Administrator')) && (\r\n this.props.onEditEDrill(row)}\r\n size=\"small\"\r\n renderIcon={Edit16}\r\n title=\"Edit Drill Plan\"\r\n iconDescription=\"Edit Drill Plan\"\r\n kind=\"ghost\"\r\n />\r\n )}\r\n {this.canViewReports(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 )}\r\n />\r\n\r\n
    \r\n \r\n
    \r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nEDrillMultiSelectDataTable.propTypes = {\r\n eDrills: PropTypes.array.isRequired,\r\n onNewEDrill: PropTypes.func.isRequired,\r\n onEditEDrill: PropTypes.func.isRequired,\r\n applyFilters: PropTypes.func.isRequired,\r\n onDelete: PropTypes.func.isRequired,\r\n onRefreshData: PropTypes.func.isRequired,\r\n handleChangePaging: PropTypes.func.isRequired,\r\n toogleFilterModal: PropTypes.func.isRequired,\r\n onWaitingSubmit: PropTypes.func.isRequired,\r\n paginationInfo: PropTypes.shape({\r\n currentPage: number,\r\n pageSize: number,\r\n rowCount: number\r\n })\r\n};\r\n\r\nEDrillMultiSelectDataTable.defaultProps = {\r\n paginationInfo: {\r\n currentPage: 1,\r\n pageSize: 10\r\n }\r\n};\r\n","/* eslint-disable react/jsx-props-no-spreading */\r\n/* eslint-disable react/forbid-prop-types */\r\n/* eslint-disable jsx-a11y/click-events-have-key-events */\r\nimport React, { Component } from 'react';\r\nimport { FormGroup, Button, Form, TextInput, ComboBox } from 'carbon-components-react';\r\nimport Close16 from '@carbon/icons-react/lib/close/16';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport { getError, STATUS, apioperation, entitiesLabels } from '../../helpers/Constants';\r\nimport Combo from '../common/Combo';\r\nimport MeRepository from '../../helpers/api/MeRepository';\r\nimport { me, drill } from '../../helpers/api/api';\r\n\r\nexport default class DrillFilterModal extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.defaultGuid = null; // \"00000000-0000-0000-0000-000000000000\";\r\n this.weeks = [...Array(53).keys()].map((x) => `${x + 1}`);\r\n\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleClose = this.handleClose.bind(this);\r\n this.updateState = this.updateState.bind(this);\r\n\r\n this.statuses = STATUS;\r\n this.state = {\r\n search: {\r\n isBack: false, //this.props.checkBack,\r\n division: this.props.searchModel?.division || null,\r\n company: this.props.searchModel?.company || null,\r\n participant: this.props.searchModel?.participant || null,\r\n status: this.props.searchModel?.status || null,\r\n workSite: this.props.searchModel?.workSite || null,\r\n project: this.props.searchModel?.project || null,\r\n drillType: this.props.searchModel?.drillType || null,\r\n drillTypeDetail: this.props.searchModel?.drillTypeDetail || null,\r\n frequency: this.props.searchModel?.frequency || null,\r\n\r\n idDivision: this.props.searchModel?.idDivision || this.defaultGuid,\r\n idProject: this.props.searchModel?.idProject || this.defaultGuid,\r\n idParticipant: this.props.searchModel?.idParticipant || this.defaultGuid,\r\n idCompany: this.props.searchModel?.idCompany || this.defaultGuid,\r\n idStatus: this.props.searchModel?.idStatus || 0,\r\n idWorkSite: this.props.searchModel?.idWorkSite || this.defaultGuid,\r\n idDrillType: this.props.searchModel?.idDrillType || this.defaultGuid,\r\n idDrillTypeDetail: this.props.searchModel?.idDrillTypeDetail || this.defaultGuid,\r\n idFrequency: this.props.searchModel?.idFrequency || this.defaultGuid,\r\n plannedWeek: this.props.searchModel?.plannedWeek || null,\r\n // referenceYear: this.props.searchModel?.referenceYear || new Date().getFullYear(),\r\n monthNumber: this.props.searchModel?.monthNumber || null,\r\n code: this.props.searchModel?.code || null,\r\n compilerEmail: this.props.searchModel?.compilerEmail || null,\r\n dataApproverEmail: this.props.searchModel?.dataApproverEmail || null,\r\n drillerEmail: this.props.searchModel?.drillerEmail || null,\r\n },\r\n divisions: [],\r\n appAllDrillTypeDT: [],\r\n appAllDrillType: [],\r\n appAllWorksites: null,\r\n appAllProjects: null,\r\n isLoading : true,\r\n };\r\n }\r\n componentDidMount() {\r\n this.getAllDivision();\r\n this.getAllWorkSite();\r\n this.getAllProjects();\r\n this.getAllDrillType();\r\n this.getAllDrillTypeDT();\r\n }\r\n getAllDivision = () => {\r\n this.setState({\r\n isLoadingDivision: true,\r\n });\r\n MeRepository.getDivisions()\r\n .then((response) => {\r\n this.setState({\r\n divisions: response,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.DIVISION, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingDivision: false,\r\n });\r\n });\r\n };\r\n getAllWorkSite = () => {\r\n this.setState({\r\n isLoadingWorksite: true,\r\n });\r\n me.getAll('worksites')\r\n .then((response) => {\r\n this.setState({\r\n appAllWorksites: response.data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.WORKSITE, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingWorksite: false,\r\n });\r\n });\r\n };\r\n getAllProjects = () => {\r\n this.setState({\r\n isLoadingProject: true,\r\n });\r\n me.getAll('project')\r\n .then((response) => {\r\n this.setState({\r\n appAllProjects: response.data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.PROJECT, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingProject: false,\r\n });\r\n });\r\n };\r\n getAllDrillType = () => {\r\n this.setState({\r\n isLoadingDrillType: true,\r\n });\r\n drill\r\n .get('drilltype')\r\n .then((response) => {\r\n this.setState({\r\n appAllDrillType: response.data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.PROJECT, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingDrillType: false,\r\n });\r\n });\r\n };\r\n getAllDrillTypeDT = () => {\r\n this.setState({\r\n isLoadingDrillTypeDT: true,\r\n });\r\n drill\r\n .get('drilltype/drilltypedetails')\r\n .then((response) => {\r\n this.setState({\r\n appAllDrillTypeDT: response.data,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, entitiesLabels.PROJECT, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingDrillTypeDT: false,\r\n });\r\n });\r\n };\r\n getWorksiteFiltered(idDivision) {\r\n if (idDivision != null) {\r\n const data = (this.state.appAllWorksites || []).filter((el) => el.idDivision === idDivision);\r\n return data;\r\n }\r\n return this.state.appAllWorksites;\r\n }\r\n getProjectFiltered(idProject) {\r\n if (idProject != null) {\r\n const data = (this.state.appAllProjects || []).filter((el) => el.id === idProject);\r\n return data;\r\n }\r\n return this.state.appAllProjects;\r\n }\r\n getDrillTypeDetailFiltered(idDrillType) {\r\n if (idDrillType != null) {\r\n const data = (this.state.appAllDrillTypeDT || []).filter(\r\n (el) => el.idDrillType === idDrillType\r\n );\r\n return data;\r\n }\r\n return this.state.appAllWorksitePrj;\r\n }\r\n\r\n handleSearch = (e) => {\r\n this.props.onSearch(e, this.state.search);\r\n };\r\n\r\n handleCancel = (e) => {\r\n this.props.onCancel(e, this.state.search);\r\n };\r\n\r\n handleClose = (e) => {\r\n this.props.onClose(e, this.state.search);\r\n };\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n statusCopy.search.isBack = false;\r\n this.setState(statusCopy);\r\n };\r\n\r\n handleChangeCode = (el) => {\r\n const inputName = 'code';\r\n const inputValue = el.target.value;\r\n const objName = 'search';\r\n this.updateState(inputName, inputValue, objName);\r\n };\r\n\r\n handleChangeModel = (el) => {\r\n const inputName = el.target.name;\r\n const inputValue = el.target.value;\r\n const objName = el.target.alt;\r\n this.updateState(inputName, inputValue, objName);\r\n };\r\n\r\n render() {\r\n \r\n const listWorksite = this.state.search.idDivision\r\n ? this.getWorksiteFiltered(this.state.search.idDivision)\r\n : this.state.appAllWorksites\r\n ? this.state.appAllWorksites\r\n : [];\r\n const listProjects = this.state.search.idProject \r\n ? this.getProjectFiltered(this.state.search.idProject)\r\n : this.state.appAllProjects\r\n ? this.state.appAllProjects\r\n : []\r\n const listDrillTypeDetail = this.state.search.idDrillType\r\n ? this.getDrillTypeDetailFiltered(this.state.search.idDrillType)\r\n : this.state.appAllDrillTypeDT\r\n ? this.state.appAllDrillTypeDT\r\n : [];\r\n const selectedItemCombo = {\r\n idDrillType: this.state.search.idDrillType\r\n ? (this.state.appAllDrillType || []).find((el) => el.id === this.state.search?.idDrillType)\r\n : [],\r\n idDrillTypeDetail: this.state.search.idDrillTypeDetail\r\n ? (listDrillTypeDetail || []).find((el) => el.id === this.state.search.idDrillTypeDetail)\r\n : [],\r\n idDivision: this.state.search.idDivision\r\n ? (this.state.divisions || []).find((el) => el.id === this.state.search?.division?.id)\r\n : [],\r\n idWorkSite: this.state.search.idWorkSite\r\n ? (listWorksite || []).find((el) => el.id === this.state.search.idWorkSite)\r\n : [],\r\n idProject: this.state.search.idProject\r\n ? (listProjects || []).find((el) => el.id === this.state.search.idProject)\r\n : [],\r\n \r\n };\r\n console.log(selectedItemCombo.idProject);\r\n console.log(selectedItemCombo.idWorkSite);\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    Filters

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* RITM0945977 */}\r\n {/* */}\r\n \r\n {/*\r\n this.setState((prevState) => {\r\n const search = { ...prevState.search };\r\n search.division = event.selectedItem || null;\r\n search.idDivision = search.division?.id;\r\n return { search };\r\n })\r\n }\r\n onError={(error) => {\r\n showNotification.error(\r\n getError(error, entitiesLabels.DIVISION, apioperation.GET)\r\n );\r\n }}\r\n initialSelectedItems={this.state.search.division}\r\n disabled={false}\r\n entity={this.state.search.division?.id}\r\n placeholder=\"All\"\r\n />*/}\r\n \r\n this.setState((prevState) => {\r\n const search = { ...prevState.search };\r\n search.division = event.selectedItem || null;\r\n search.idDivision = search.division?.id;\r\n search.isBack = false;\r\n search.workSite = null;\r\n return { search };\r\n })\r\n }\r\n itemToString={(item) => (item ? item.name : '')}\r\n initialSelectedItem={\r\n selectedItemCombo.idDivision ? selectedItemCombo.idDivision : {}\r\n }\r\n items={this.state.divisions}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n \r\n this.setState((prevState) => {\r\n const search = { ...prevState.search };\r\n search.company = event.selectedItem || null;\r\n search.idCompany = search.company?.id;\r\n search.isBack = false;\r\n return { search };\r\n })\r\n }\r\n onError={() => {}}\r\n disabled={false}\r\n initialSelectedItems={this.state.search.company}\r\n placeholder=\"All\"\r\n />\r\n \r\n
    \r\n
    \r\n \r\n {/*\r\n this.setState((prevState) => {\r\n const search = { ...prevState.search };\r\n search.workSite = event.selectedItem || null;\r\n search.idWorkSite = search.workSite?.id;\r\n return { search };\r\n })\r\n }\r\n onError={() => {}}\r\n initialSelectedItems={this.state.search.workSite}\r\n disabled={false}\r\n entity={this.state.search.workSite?.id}\r\n placeholder=\"All\"\r\n />*/}\r\n \r\n this.setState((prevState) => {\r\n const search = { ...prevState.search };\r\n search.workSite = event.selectedItem || null;\r\n search.idWorkSite = search.workSite?.id;\r\n search.isBack = false;\r\n return { search };\r\n })\r\n }\r\n itemToString={(item) => (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.idWorkSite}\r\n items={listWorksite}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.setState((prevState) => {\r\n const search = { ...prevState.search };\r\n search.project = event.selectedItem || null;\r\n search.idProject = search.project?.id;\r\n search.isBack = false;\r\n return { search };\r\n })\r\n }\r\n itemToString={(item) => (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.idProject ? selectedItemCombo.idProject : {}}\r\n items={listProjects}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n \r\n this.setState((prevState) => {\r\n const search = { ...prevState.search };\r\n search.status = event.selectedItem || null;\r\n search.idStatus = search.status?.id;\r\n search.isBack = false;\r\n return { search };\r\n })\r\n }\r\n onError={() => {}}\r\n itemToString={(item) => item?.planningName || ''}\r\n disabled={false}\r\n entity={this.state.search.status?.id}\r\n placeholder=\"All\"\r\n />\r\n \r\n
    \r\n
    \r\n \r\n \r\n this.setState((prevState) => {\r\n const search = { ...prevState.search };\r\n search.participant = event.selectedItem || null;\r\n search.idParticipant = search.participant?.id;\r\n search.isBack = false;\r\n return { search };\r\n })\r\n }\r\n onError={() => {}}\r\n // itemToString={(item) => item || ''}\r\n disabled={false}\r\n placeholder=\"All\"\r\n />\r\n \r\n
    \r\n
    \r\n \r\n \r\n this.setState((prevState) => {\r\n const search = { ...prevState.search };\r\n search.frequency = event.selectedItem || null;\r\n search.idFrequency = search.frequency?.id;\r\n search.isBack = false;\r\n return { search };\r\n })\r\n }\r\n onError={() => {}}\r\n initialSelectedItems={this.state.search.frequency}\r\n disabled={false}\r\n entity={this.state.search.frequency?.id}\r\n placeholder=\"All\"\r\n />\r\n \r\n
    \r\n
    \r\n \r\n {/*\r\n this.setState((prevState) => {\r\n const search = { ...prevState.search };\r\n search.drillType = event.selectedItem || null;\r\n search.idDrillType = search.drillType?.id;\r\n return { search };\r\n })\r\n }\r\n onError={() => {}}\r\n initialSelectedItems={this.state.search.drillType}\r\n disabled={false}\r\n entity={this.state.search.drillType?.id}\r\n placeholder=\"All\"\r\n />*/}\r\n \r\n this.setState((prevState) => {\r\n const search = { ...prevState.search };\r\n search.drillType = event.selectedItem || null;\r\n search.idDrillType = search.drillType?.id;\r\n search.isBack = false;\r\n if (search.drillType?.name === 'LCU') search.projects = [];\r\n return { search };\r\n })\r\n }\r\n itemToString={(item) => (item ? item.name : '')}\r\n initialSelectedItem={\r\n selectedItemCombo.idDrillType ? selectedItemCombo.idDrillType : {}\r\n }\r\n items={this.state.appAllDrillType}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n {/*\r\n this.setState((prevState) => {\r\n const search = { ...prevState.search };\r\n search.drillTypeDetail = event.selectedItem || null;\r\n search.idDrillTypeDetail = search.drillTypeDetail?.id;\r\n return { search };\r\n })\r\n }\r\n onError={() => {}}\r\n key=\"this.state.search.drillTypeDetail?.id\"\r\n initialSelectedItems={this.state.search.drillTypeDetail}\r\n disabled={false}\r\n entity={this.state.search.drillTypeDetail?.id}\r\n placeholder=\"All\"\r\n />*/}\r\n \r\n this.setState((prevState) => {\r\n const search = { ...prevState.search };\r\n search.drillTypeDetail = event.selectedItem || null;\r\n search.idDrillTypeDetail = search.drillTypeDetail?.id;\r\n search.isBack = false;\r\n return { search };\r\n })\r\n }\r\n itemToString={(item) => (item ? item.name : '')}\r\n initialSelectedItem={\r\n selectedItemCombo.idDrillTypeDetail ? selectedItemCombo.idDrillTypeDetail : {}\r\n }\r\n items={listDrillTypeDetail}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport {\r\n ComboBox,\r\n ComposedModal,\r\n Button,\r\n FormGroup,\r\n FormLabel,\r\n DropdownSkeleton,\r\n TextArea,\r\n TextInputSkeleton,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n } from 'carbon-components-react';\r\nimport moment from 'moment';\r\nimport { Online, Offline } from '../common/OnLineOffLine';\r\nimport { PlannedWeekChangeType } from '../../helpers/Constants';\r\nimport '../../scss/weekSelector.scss';\r\n\r\nconst EDrillPlanModificationModal = (props) => {\r\n const isConfirmButtonDisabled = () => (props.approver === null || props.approver === undefined);\r\n\r\n const onSave = async () => {\r\n await props.onConfirm();\r\n };\r\n\r\n const renderWeek = (x) => (x === null || x === undefined)\r\n ? ''\r\n : `Week: ${x?.weekNumber} | ${moment\r\n .utc(x?.weekStart)\r\n .format('DD/MM/YY')} - ${moment\r\n .utc(x?.weekFinish)\r\n .format('DD/MM/YY')} +\r\n | N\\u00B0 of Drill: ${x?.quantity} - # ${x?.sequence}`;\r\n\r\n return (\r\n false}\r\n >\r\n \r\n\r\n \r\n
    \r\n Data Approver*\r\n {props.isLoadingOperation ? (\r\n \r\n ) : (\r\n \r\n item\r\n ? `${item.name} ${item.surname} (${item.email})`\r\n : ''\r\n }\r\n itemToElement={(item) =>\r\n item\r\n ? `${item.name} ${item.surname} (${item.email})`\r\n : ''\r\n }\r\n onChange={({ selectedItem }) =>\r\n props.onApproverSelect(selectedItem)\r\n }\r\n />\r\n )\r\n }\r\n
    \r\n\r\n {props.plannedWeekToDelete ? (props.plannedWeekToDelete.map((e, index) => (\r\n
    \r\n \r\n {props.isLoadingOperation ? (\r\n \r\n ) : (\r\n \r\n \r\n Drill Deletion \r\n {renderWeek(e)}\r\n \r\n props.onUpdateReasonForChange(PlannedWeekChangeType.ToDelete, el)}\r\n rows={4}\r\n cols={225}\r\n invalid={props.validations.toDelete[index] ? true : false}\r\n />\r\n {props.validations.toDelete[index]}\r\n \r\n ) }\r\n \r\n
    \r\n ))) : null\r\n }\r\n {props.plannedWeekToUpdate ? (props.plannedWeekToUpdate.map((e, index) => (\r\n
    \r\n \r\n {props.isLoadingOperation ? (\r\n \r\n ) : (\r\n \r\n \r\n Drill Modification \r\n {renderWeek(e)}\r\n \r\n props.onUpdateReasonForChange(PlannedWeekChangeType.ToChange, el)}\r\n rows={4}\r\n cols={225}\r\n invalid={props.validations.toUpdate[index] ? true : false}\r\n />\r\n {props.validations.toUpdate[index]}\r\n \r\n ) }\r\n \r\n
    \r\n ))) : null\r\n }\r\n {props.plannedWeekToAdd ? (props.plannedWeekToAdd.map((e, index) => (\r\n
    \r\n {props.isLoadingOperation ? (\r\n \r\n ) : (\r\n \r\n \r\n Drill Addition \r\n {renderWeek(e)}\r\n \r\n props.onUpdateReasonForChange(PlannedWeekChangeType.ToAdd, el)}\r\n rows={4}\r\n cols={225}\r\n invalid={props.validations.toAdd[index] ? true : false}\r\n />\r\n\r\n {props.validations.toAdd[index]}\r\n \r\n ) }\r\n
    \r\n ))) : null\r\n }\r\n
    \r\n \r\n \r\n Cancel\r\n \r\n \r\n onSave()}\r\n disabled={isConfirmButtonDisabled()}\r\n >\r\n Confirm\r\n \r\n \r\n \r\n onSave()}\r\n disabled\r\n >\r\n Confirm\r\n \r\n \r\n \r\n\r\n \r\n );\r\n};\r\n\r\nEDrillPlanModificationModal.propTypes = {\r\n plannedWeekToDelete: PropTypes.array,\r\n plannedWeekToAdd: PropTypes.array,\r\n plannedWeekToUpdate: PropTypes.array,\r\n approvers: PropTypes.array.isRequired,\r\n approver: PropTypes.object,\r\n isLoadingOperation: PropTypes.bool.isRequired,\r\n onShow: PropTypes.bool.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n onConfirm: PropTypes.func.isRequired,\r\n onApproverSelect: PropTypes.func.isRequired,\r\n onUpdateReasonForChange: PropTypes.func.isRequired\r\n};\r\n\r\nexport default EDrillPlanModificationModal;\r\n","import PropTypes from 'prop-types';\r\nimport React, { useState, useEffect } from 'react';\r\nimport { v4 as uuid } from 'uuid';\r\nimport {\r\n ComposedModal,\r\n Button,\r\n InlineLoading,\r\n Loading,\r\n ModalHeader,\r\n ModalBody,\r\n TableContainer,\r\n Table,\r\n TableHead,\r\n TableBody,\r\n TableRow,\r\n TableHeader,\r\n TableCell,\r\n Tile,\r\n } from 'carbon-components-react';\r\nimport View16 from '@carbon/icons-react/lib/view/16';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport Close16 from '@carbon/icons-react/lib/close/16';\r\nimport FileUpload from '../common/FileUpload';\r\nimport DownLoadButton from '../common/FileDownloadButton';\r\nimport { api } from '../../helpers/api/api';\r\nimport { NoRecordsPlaceholder } from '../../helpers/jsonschemaform/DataTableExtention';\r\nimport { Online, Offline } from '../common/OnLineOffLine';\r\nimport { getError, apioperation, entitiesLabels, sizeFormat } from '../../helpers/Constants';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\n\r\nconst EDrillWorkSiteAttachmentModal = ({ onCloseWorkSiteAttachmentModal, \r\n selectedWorksite, \r\n showWorkSiteAttachmentModal,\r\n initialWorksiteAttachment }) => {\r\n const [modalDeleteAttachmentVisible, setModalDeleteAttachmentVisible] = useState(false);\r\n const [selectedDeleteAttachment, setSelectedDeleteAttachment] = useState(null);\r\n const [downloadingItemId, setDownlodingItemId] = useState(null);\r\n const [worksiteAttachments, setWorksiteAttachements] = \r\n useState(initialWorksiteAttachment || []);\r\n const [submitted, setSubmitted] = useState(false);\r\n\r\n useEffect(() => (setWorksiteAttachements(initialWorksiteAttachment)), \r\n [initialWorksiteAttachment]);\r\n \r\n\r\n const onUpload = async (fileIdentifier, fileName, fileType, size) => {\r\n const newAttach = {\r\n id: uuid(),\r\n fileIdentifier: fileIdentifier.blobName,\r\n name: fileName,\r\n contentType: fileType,\r\n size,\r\n };\r\n try {\r\n setSubmitted(true);\r\n await api.post(`/drill/${selectedWorksite.id}/drillplanbyworksiteattachment`, newAttach);\r\n setWorksiteAttachements(\r\n [...worksiteAttachments, \r\n {\r\n idAttachment: newAttach.id,\r\n idWorkSite: selectedWorksite.id,\r\n attachment: newAttach,\r\n }\r\n ]\r\n );\r\n // DrillRepository.updateCachedDrill(drillReport);\r\n return `${entitiesLabels.SUCCESS}`;\r\n } catch (error) {\r\n return showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.EMERGENCYDRILL_WORKSITEATTACHMENT, apioperation.POST)\r\n );\r\n } finally {\r\n setSubmitted(false);\r\n }\r\n };\r\n\r\n /* **************** DELETE ATTACHMENT START **************** */\r\n const onDelete = async (id) => {\r\n const index = worksiteAttachments.findIndex((a) => a.idAttachment === id);\r\n try {\r\n setSubmitted(true);\r\n await api.deleteData(\r\n `/drill/${selectedWorksite.id}/drillplanbyworksiteattachment/${worksiteAttachments[index].attachment.fileIdentifier}`\r\n );\r\n setWorksiteAttachements(worksiteAttachments.filter(\r\n (a) => a.idAttachment !== worksiteAttachments[index].idAttachment\r\n ));\r\n return `${entitiesLabels.SUCCESS}`;\r\n } catch (error) {\r\n return showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.FileUpload, apioperation.DELETE)\r\n );\r\n } finally {\r\n setSubmitted(false);\r\n }\r\n };\r\n\r\n const handleDeleteAttachmentModalVisibility = () => {\r\n setModalDeleteAttachmentVisible(!modalDeleteAttachmentVisible);\r\n setSelectedDeleteAttachment(null);\r\n };\r\n \r\n const showDeleteAttachmentModal = (Id) => {\r\n const selectedItem = worksiteAttachments.find((item) => item.idAttachment === Id);\r\n setSelectedDeleteAttachment(selectedItem);\r\n setModalDeleteAttachmentVisible(!modalDeleteAttachmentVisible); \r\n };\r\n \r\n const deleteAttachment = () => {\r\n onDelete(selectedDeleteAttachment.idAttachment);\r\n handleDeleteAttachmentModalVisibility();\r\n };\r\n \r\n const renderDeleteAttachmentModal = () => modalDeleteAttachmentVisible && (\r\n
    \r\n
    \r\n
    \r\n

    Delete Attachment

    \r\n handleDeleteAttachmentModalVisibility()}\r\n />\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {`Press confirm to delete ${selectedDeleteAttachment?.attachment.name}`}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n handleDeleteAttachmentModalVisibility()}\r\n >\r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n /* **************** DELETE ATTACHMENT END ****************** */\r\n const renderLoading = () => {\r\n const show = submitted;\r\n return show && ;\r\n };\r\n\r\n return (\r\n \r\n false}\r\n >\r\n {renderLoading()}\r\n \r\n\r\n \r\n
    \r\n {renderDeleteAttachmentModal()}\r\n \r\n
    {`Annual drill plan documentations related to worksite ${selectedWorksite?.name} `}
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Name\r\n Size\r\n Actions\r\n \r\n \r\n \r\n {!worksiteAttachments || !worksiteAttachments.length ? (\r\n \r\n ) : (\r\n worksiteAttachments.map((item) => (\r\n \r\n {item.attachment?.name}\r\n \r\n {sizeFormat(item.attachment?.size)}\r\n \r\n \r\n {downloadingItemId === item.idAttachment ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n \r\n {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, \r\n entitiesLabels.FileUpload, apioperation.GET)\r\n );\r\n }}\r\n onDownLoadStart={() => \r\n setDownlodingItemId(item.idAttachment)}\r\n onDownLoadEnd={() => setDownlodingItemId(null)}\r\n apiUrl={`/drill/${selectedWorksite?.id}/drillplanbyworksiteattachment/${item?.attachment?.fileIdentifier}`}\r\n fileName={item?.attachment?.name}\r\n size=\"small\"\r\n renderIcon={View16}\r\n iconDescription=\"Download\"\r\n kind=\"ghost\"\r\n disabled={false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n showDeleteAttachmentModal(item.idAttachment)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n disabled={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};\r\n\r\nEDrillWorkSiteAttachmentModal.propTypes = {\r\n onCloseWorkSiteAttachmentModal: PropTypes.func.isRequired,\r\n showWorkSiteAttachmentModal: PropTypes.bool.isRequired,\r\n selectedWorksite: PropTypes.shape({\r\n asset: PropTypes.bool,\r\n assetPortfolio: PropTypes.bool,\r\n code: PropTypes.string,\r\n createdBy: PropTypes.string,\r\n createdOn: PropTypes.string,\r\n division: PropTypes.string,\r\n end: PropTypes.string,\r\n group: PropTypes.string,\r\n id: PropTypes.string,\r\n idDivision: PropTypes.string,\r\n idWorkSiteGroup: PropTypes.string,\r\n inUse: PropTypes.bool,\r\n isEnabledForEnvironment: PropTypes.bool,\r\n isOffshore: PropTypes.bool,\r\n isSaipem: PropTypes.bool,\r\n name: PropTypes.string,\r\n start: PropTypes.string,\r\n updatedBy: PropTypes.string,\r\n updatedOn: PropTypes.string,\r\n workSiteProjects: PropTypes.array\r\n }),\r\n initialWorksiteAttachment: PropTypes.arrayOf(PropTypes.shape({\r\n idWorkSite: PropTypes.string,\r\n idAttachment: PropTypes.string,\r\n workSite: PropTypes.object,\r\n attachment: PropTypes.object\r\n }))\r\n};\r\n\r\nEDrillWorkSiteAttachmentModal.defaultProps = {\r\n selectedWorksite: null,\r\n initialWorksiteAttachment: null\r\n};\r\n\r\nexport default EDrillWorkSiteAttachmentModal;\r\n","import React, { Component } from 'react';\r\n\r\n\r\n\r\nexport class EDLegendBox extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n ///Cella con con box colore e testo descrittivo\r\n const legend = this.props.legendCode;\r\n\r\n return (\r\n <> \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n N°\r\n \r\n \r\n
    \r\n

    {legend.Text}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n } \r\n}\r\n\r\nEDLegendBox.defaultProps = {\r\n legendCode: 1\r\n }","import React, { Component } from 'react';\r\nimport { EDLegendBox } from './EDLegendBox';\r\n\r\nexport class EDLegendTable extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n ///Tabella della legenda\r\n return (\r\n \r\n {this.props.arrLegend.map(legend => {\r\n return \r\n \r\n \r\n })}\r\n \r\n );\r\n } \r\n}\r\n\r\n","export const LegendType = {\r\n\tRED_PLAN: { SvgClassName: \"r\", Text: \"NUMBER OF PLANS IN STATUS \\\"DRAFT\\\"\" },\r\n\tORANGE_PLAN: { SvgClassName: \"o\", Text: \"NUMBER OF PLANS IN STATUS \\\"SUBMITTED\\\"\" },\r\n\tGREEN_PLAN: { SvgClassName: \"g\", Text: \"NUMBER OF PLANS IN STATUS \\\"PLANNED\\\"\" },\r\n RED_REPORT: { SvgClassName: \"r\", Text: \"NUMBER OF REPORTS IN STATUS \\\"OPENED\\\"\" },\r\n\tORANGE_REPORT: { SvgClassName: \"o\", Text: \"NUMBER OF REPORTS IN STATUS \\\"SUBMITTED\\\"\" },\r\n\tGREEN_REPORT: { SvgClassName: \"g\", Text: \"NUMBER OF REPORTS IN STATUS \\\"COMPLETED\\\"\" },\r\n};","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport '../../scss/custom.scss';\r\nimport {\r\n ComboBox,\r\n ComposedModal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Form,\r\n FormLabel,\r\n FormGroup,\r\n DataTableSkeleton,\r\n Dropdown,\r\n DropdownSkeleton,\r\n Button,\r\n TableToolbar,\r\n Loading,\r\n} from 'carbon-components-react';\r\nimport Add16 from '@carbon/icons-react/lib/add/16';\r\nimport Data16 from '@carbon/icons-react/lib/data--1/16';\r\nimport Attachment16 from '@carbon/icons-react/lib/attachment/16';\r\nimport { Calendar16, Download16 } from '@carbon/icons-react';\r\nimport moment from 'moment';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport EDrillDetails from './EDrillDetails';\r\nimport EDrillMultiSelectDataTable from './EDrillMultiSelectDataTable';\r\nimport DrillFilterModal from './DrillFilterModal';\r\nimport EDrillPlanModificationModal from './EDrillPlanModificationModal';\r\nimport EDrillWorkSiteAttachmentModal from './EDrillWorkSiteAttachmentModal';\r\nimport { drill, api, me } from '../../helpers/api/api';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport { AppContext } from '../../helpers/context/AppContext';\r\nimport { IsEnabled, IsInRole } from '../../helpers/authorization/Policies';\r\nimport PageBreadCrumb from '../../helpers/PageBreadCrumb';\r\nimport { InspectionMonthHeader } from '../inspection/common/InspectionMonthHeader';\r\nimport { CalendarSkeleton } from '../inspection/inspectionReport/common/CalendarSkeleton';\r\nimport { getError, getSuccess, entitiesLabels, apioperation, PlannedWeekChangeType } from '../../helpers/Constants';\r\nimport DrillRepository from '../../helpers/api/DrillRepository';\r\nimport { EDLegendTable } from './EDLegendTable';\r\nimport { LegendType } from './common/EDLegendType';\r\nimport { WarningModal } from '../common/WarningModal';\r\n\r\n\r\nexport default class EmergencyDrillList extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.showAddEDrill = this.showAddEDrill.bind(this);\r\n this.showEditEDrill = this.showEditEDrill.bind(this);\r\n this.buildFilter = this.buildFilter.bind(this);\r\n this.newEDrillAdded = this.newEDrillAdded.bind(this);\r\n this.eDrillUpdated = this.eDrillUpdated.bind(this);\r\n this.eDrillPlannedUpdated = this.eDrillPlannedUpdated.bind(this);\r\n this.onCancelEDrillPlannedModification = this.onCancelEDrillPlannedModification.bind(this);\r\n this.onSaveEDrillPlannedModification = this.onSaveEDrillPlannedModification.bind(this);\r\n this.applyFilters = this.applyFilters.bind(this);\r\n this.refreshData = this.refreshData.bind(this);\r\n this.toogleCalendar = this.toogleCalendar.bind(this);\r\n this.toogleFilterModal = this.toogleFilterModal.bind(this);\r\n this.onYearChange = this.onYearChange.bind(this);\r\n this.handleChangePaging = this.handleChangePaging.bind(this);\r\n this.filterByWeek = this.filterByWeek.bind(this);\r\n this.filterByMonths = this.filterByMonths.bind(this);\r\n this.toggleWorksiteModal = this.toggleWorksiteModal.bind(this);\r\n this.closeWorksiteModal = this.closeWorksiteModal.bind(this);\r\n this.handleChangeWorksite = this.handleChangeWorksite.bind(this);\r\n this.onConfirmWorksiteModal = this.onConfirmWorksiteModal.bind(this);\r\n this.toggleEDrillWorkSiteAttachmentModal = this.toggleEDrillWorkSiteAttachmentModal.bind(this);\r\n this.onCloseWorkSiteAttachmentModal = this.onCloseWorkSiteAttachmentModal.bind(this);\r\n this.getWorkSiteAttachment = this.getWorkSiteAttachment.bind(this);\r\n this.toggleDownloadAnnualReportModal = this.toggleDownloadAnnualReportModal.bind(this); // RITM0860478\r\n this.closeDownloadAnnualReportModal = this.closeDownloadAnnualReportModal.bind(this); // RITM0860478\r\n this.onConfirmDownloadAnnualDrillPlanModal = this.onConfirmDownloadAnnualDrillPlanModal.bind(this); // RITM0860478\r\n\r\n this.state = {\r\n idEDrill: null,\r\n eDrillToModify: null,\r\n isLoadingYear: true,\r\n items: [],\r\n originalItems: [],\r\n modalEDrillVisible: false,\r\n modalEDrillPlanModificationVisible: false,\r\n isLoadingApproverOptions: false,\r\n calendar: [],\r\n isOpenCalendar: true,\r\n isBack: (this.props.history.action === 'POP' || this.props.location.search === '?isBack'),\r\n isWarningModalOpen: false,\r\n warningMessage: '',\r\n isLoadingModifiedPlannedWeekSetCompiler: false,\r\n currentModifiedPlannedWeekSetCompiler: null,\r\n // filter\r\n isOpenSearchForm: false,\r\n years: [],\r\n searchModel: {\r\n ...this.searchProp(),\r\n needToChange: true,\r\n },\r\n\r\n // pagination\r\n paginationInfo: {\r\n currentPage: 1,\r\n pageSize: 10,\r\n rowCount: 0,\r\n },\r\n\r\n // loading\r\n isLoadingTable: false,\r\n isLoadingCalendar: false,\r\n isLoadingWorksite: false,\r\n isLoadingDPWorksites: false,\r\n isLoadingDPProjects: false,\r\n isSubmitted: false,\r\n isWorksiteModalOpen: false,\r\n isEDrillWorkSiteAttachmentModalOpen: false,\r\n isDownloadAnnualReportOpen: false, // RITM0860478\r\n isDownloadingAnnualDrillPlanFile: false, // RITM0860478\r\n\r\n monthsSelected: [],\r\n weeksSelected: [],\r\n modifiedPlannedWeekSet: {\r\n approvers: [],\r\n approver: null,\r\n deletedPlannedWeek: [],\r\n addedPlannedWeek: [],\r\n updatedPlannedWeek: []\r\n },\r\n worksites: [],\r\n dpWorksites: [],\r\n dpProjects: [],\r\n selectedWorksite: null,\r\n selectedDPWorksite: null,\r\n selectedDPProject: null,\r\n worksiteAttachments: []\r\n };\r\n \r\n this.year = new Date().getFullYear();\r\n console.log(`EmergencyDrillList.constructor: this.year: ${this.year}`);\r\n this.years = this.getYears();\r\n this.month = new Date().getMonth();\r\n this.weeks = moment().weeks();\r\n this.validator = new SimpleReactValidator();\r\n this.validatorworksite = new SimpleReactValidator();\r\n }\r\n\r\n\r\n // ************* HOOKS ************* START\r\n async componentDidMount() {\r\n console.log(`EmergencyDrillList.componentDidMount:`);\r\n this.setState({ loading: true });\r\n const items = await this.getItems();\r\n this.setState({\r\n items,\r\n originalItems: items,\r\n loading: false,\r\n });\r\n this.getYears();\r\n this.getUserWorksite();\r\n }\r\n // ************* HOOKS ************* END\r\n\r\n onDelete = async (items) => {\r\n this.setState(\r\n (prevState) => ({\r\n originalItems: prevState.originalItems.filter((item) => {\r\n const deletedId = items.map((filter) => filter.id);\r\n const itemId = item.id;\r\n return !deletedId.includes(itemId);\r\n }),\r\n }),\r\n () => {\r\n this.setState((state) => ({\r\n items: this.buildFilter(state.originalItems, null, null),\r\n }));\r\n }\r\n );\r\n };\r\n\r\n onCancelEDrillPlannedModification() {\r\n this.validator.hideMessages();\r\n this.forceUpdate();\r\n this.setState((prevState) => ({\r\n modalEDrillPlanModificationVisible: !prevState.modalEDrillPlanModificationVisible,\r\n modifiedPlannedWeekSet: {\r\n approvers: [],\r\n approver: null,\r\n deletedPlannedWeek: [],\r\n addedPlannedWeek: [],\r\n updatedPlannedWeek: []\r\n }\r\n }));\r\n }\r\n\r\n async onSaveEDrillPlannedModification() {\r\n if (this.validator.allValid()) {\r\n try {\r\n this.setState((prevState) => (\r\n { modalEDrillPlanModificationVisible: !prevState.modalEDrillPlanModificationVisible }));\r\n this.setState(() => ({ isSubmitted: true }));\r\n const modifiedPlannedWeekSetData = {\r\n idDrillPlan: this.state.eDrillToModify.id,\r\n idDataApprover: this.state.modifiedPlannedWeekSet.approver.id,\r\n drillModifiedPlannedWeeks: [...this.state.modifiedPlannedWeekSet.deletedPlannedWeek, \r\n ...this.state.modifiedPlannedWeekSet.addedPlannedWeek, \r\n ...this.state.modifiedPlannedWeekSet.updatedPlannedWeek]\r\n };\r\n await api.post('drill/drillmodifiedplannedweekset', modifiedPlannedWeekSetData);\r\n showNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.EMERGENCYDRILL_PLANNEDWEEKCHANGES, apioperation.POST));\r\n } catch (error) {\r\n if (error.response) {\r\n const message = error.response.data || '';\r\n if (error.response.status === 501) showNotification.error(`${entitiesLabels.ERROR}`, `${entitiesLabels.EMERGENCYDRILL_PLANNEDWEEKCHANGES} ${message}`);\r\n else showNotification.error(`${entitiesLabels.ERROR}`, null);\r\n }\r\n } finally {\r\n this.setState(() => ({ isSubmitted: false }));\r\n }\r\n } else {\r\n this.validator.showMessages();\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n onApproverSelect = (selectedItem) => {\r\n this.setState((prevState) => \r\n ({ modifiedPlannedWeekSet: { ...prevState.modifiedPlannedWeekSet, \r\n approver: selectedItem } }));\r\n };\r\n\r\n onUpdateReasonForChange = (type, el) => {\r\n let idx = -1;\r\n switch (type) {\r\n case PlannedWeekChangeType.ToAdd:\r\n idx = this.state.modifiedPlannedWeekSet.addedPlannedWeek\r\n .findIndex((item) => el.target.id === item.id);\r\n if (idx !== -1) {\r\n const itemsA = [...this.state.modifiedPlannedWeekSet.addedPlannedWeek];\r\n const itemA = { ...itemsA[idx] };\r\n itemA.reasonForChange = el.target.value;\r\n itemsA[idx] = itemA;\r\n this.setState((prevState) => ({ modifiedPlannedWeekSet: \r\n { ...prevState.modifiedPlannedWeekSet, \r\n addedPlannedWeek: [...itemsA] } }));\r\n }\r\n break;\r\n case PlannedWeekChangeType.ToChange:\r\n idx = this.state.modifiedPlannedWeekSet.updatedPlannedWeek\r\n .findIndex((item) => el.target.id === item.id);\r\n if (idx !== -1) {\r\n const itemsU = [...this.state.modifiedPlannedWeekSet.updatedPlannedWeek];\r\n const itemU = { ...itemsU[idx] };\r\n itemU.reasonForChange = el.target.value;\r\n itemsU[idx] = itemU;\r\n this.setState((prevState) => ({ modifiedPlannedWeekSet: \r\n { ...prevState.modifiedPlannedWeekSet, \r\n updatedPlannedWeek: [...itemsU] } }));\r\n }\r\n break;\r\n case PlannedWeekChangeType.ToDelete:\r\n idx = this.state.modifiedPlannedWeekSet.deletedPlannedWeek\r\n .findIndex((item) => el.target.id === item.id);\r\n if (idx !== -1) {\r\n const itemsD = [...this.state.modifiedPlannedWeekSet.deletedPlannedWeek];\r\n const itemD = { ...itemsD[idx] };\r\n itemD.reasonForChange = el.target.value;\r\n itemsD[idx] = itemD;\r\n this.setState((prevState) => ({ modifiedPlannedWeekSet: \r\n { ...prevState.modifiedPlannedWeekSet, \r\n deletedPlannedWeek: [...itemsD] } }));\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n // *************** FILTERS *************** START\r\n\r\n onYearChange(selectedItem) {\r\n this.setState(\r\n {\r\n searchModel: {\r\n ...this.searchProp(),\r\n calendarInfo: {\r\n plannedWeeks: [],\r\n monthNumbers: [],\r\n referenceYear: this.year,\r\n },\r\n needToChange: true,\r\n calendar: [],\r\n },\r\n isfilterByWeek: false,\r\n isBack: false,\r\n }, () => {\r\n let year;\r\n try {\r\n year = selectedItem.selectedItem;\r\n console.log(`EmergencyDrillList.onYearChange: year: ${year}`);\r\n this.getYears(year);\r\n const statusCopy = { ...this.state };\r\n statusCopy.searchModel.calendarInfo.referenceYear = year;\r\n statusCopy.isBack = false;\r\n statusCopy.searchModel.needToChange = true;\r\n this.setState(statusCopy);\r\n this.getCalendar({ page: 1 }, false);\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.YEAR, apioperation.GET));\r\n year = this.state.years;\r\n } finally {\r\n this.setState({ loading: true, filteredMonth: null });\r\n // const items = await this.getItems(year);\r\n this.setState((prevState) => ({\r\n searchModel: {\r\n ...prevState.searchModel,\r\n needToChange: false,\r\n calendarInfo: {\r\n ...prevState.searchModel.calendarInfo,\r\n referenceYear: year,\r\n },\r\n },\r\n }));\r\n }\r\n }\r\n );\r\n }\r\n\r\n getModifiedPlannedWeekSetCompiler = (idCompiler, func) => {\r\n if (idCompiler == null) return;\r\n\r\n this.setState(() => ({ isLoadingModifiedPlannedWeekSetCompiler: true }));\r\n api.get('/users/', idCompiler)\r\n .then((response) => func(response.data))\r\n .catch(() => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, `Error getting compiler of ${entitiesLabels.EMERGENCYDRILL_PLANNEDWEEKCHANGES}`);\r\n })\r\n .finally(() => {\r\n this.setState(() => ({ isLoadingModifiedPlannedWeekSetCompiler: false }));\r\n });\r\n }\r\n\r\n getApprovers = (idEntity) => {\r\n me.getWithParam('users', {\r\n params: { Role: 'Data Approver', IdEntity: idEntity, includeAdmins: true },\r\n })\r\n .then((response) => {\r\n this.setState((prevState) => ({\r\n modifiedPlannedWeekSet: {\r\n ...prevState.modifiedPlannedWeekSet,\r\n approvers: response.data\r\n },\r\n isLoadingApproverOptions: false,\r\n }));\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, '', 'ERROR'));\r\n })\r\n .finally(() => {\r\n this.setState(() => ({\r\n isLoadingApproverOptions: false\r\n }));\r\n });\r\n };\r\n\r\n // ************* API ************* START\r\n getItems = async () => {\r\n const items = [];\r\n try {\r\n this.getCalendar();\r\n // items = (await api.getAll(`/drill`)).data;\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, 'loading Emergency Drill', 'ERROR'));\r\n }\r\n return items;\r\n };\r\n // ************* API ************* END\r\n \r\n getHashtag = () => {\r\n if (this.props.location?.hash != null && this.props.location.hash.length > 1) {\r\n return decodeURIComponent(this.props.location.hash.substring(1));\r\n }\r\n return null;\r\n };\r\n\r\n getYears = (selectYear) => {\r\n console.log(`EmergencyDrillList.getYears: this.year: ${this.year}`);\r\n drill.drillYears\r\n .getAll()\r\n .then((response) => {\r\n this.setState({ years: response.data });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.DRILLSAVAILABLEYEARS, apioperation.GET));\r\n });\r\n };\r\n //End\r\n\r\n getUserWorksite = () => {\r\n this.setState({\r\n isLoadingWorksite: true,\r\n });\r\n me.getAll('worksites')\r\n .then((response) => {\r\n this.setState({\r\n worksites: response.data,\r\n isLoadingWorksite: false,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.WORKSITE, apioperation.GET));\r\n this.setState({\r\n isLoadingWorksite: false,\r\n });\r\n });\r\n };\r\n\r\n // RITM0860478\r\n getDPWorksites = () => {\r\n const smRefYear = this.state.searchModel?.referenceYear;\r\n const smCalRefYear = this.state.searchModel?.calendarInfo?.referenceYear;\r\n console.log(`EmergencyDrillList.getDPWorksites: this.year: ${this.year} smRefYear: ${smRefYear} smCalRefYear: ${smCalRefYear}`);\r\n this.setState({\r\n isLoadingDPWorksites: true,\r\n });\r\n drill.getDrillsWorksites(smCalRefYear)\r\n .then((response) => {\r\n this.setState({\r\n dpWorksites: response.data,\r\n isLoadingDPWorksites: false,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.WORKSITE, apioperation.GET));\r\n this.setState({\r\n isLoadingDPWorksites: false,\r\n });\r\n });\r\n };\r\n\r\n // RITM0860478\r\n getDPProjects = () => {\r\n const smRefYear = this.state.searchModel?.referenceYear;\r\n const smCalRefYear = this.state.searchModel?.calendarInfo?.referenceYear;\r\n console.log(`EmergencyDrillList.getDPProjects: this.year ${this.year} smRefYear: ${smRefYear} smCalRefYear: ${smCalRefYear}`);\r\n this.setState({\r\n isLoadingDPProjects: true,\r\n });\r\n drill.getDrillsProjects(smCalRefYear)\r\n .then((response) => {\r\n this.setState({\r\n dpProjects: response.data,\r\n isLoadingDPProjects: false,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.PROJECT, apioperation.GET));\r\n this.setState({\r\n isLoadingDPProjects: false,\r\n });\r\n });\r\n };\r\n\r\n async eDrillUpdated(eDrillPlan) {\r\n console.log(`EmergencyDrillList.eDrillUpdated: this.year: ${this.year}`);\r\n await DrillRepository.updateCachedDrillList(eDrillPlan, eDrillPlan.plannedYear);\r\n const drills = await DrillRepository.getCachedDrillList(\r\n this.state.searchModel.calendarInfo.referenceYear\r\n );\r\n // const itemList = this.state.originalItems.filter((item) => item.id !== eDrillPlan.id);\r\n // itemList.unshift(eDrillPlan);\r\n\r\n this.setState((prevState) => ({\r\n originalItems: drills.itemList,\r\n items: this.buildFilter(drills.itemList, null, null),\r\n modalEDrillVisible: !prevState.modalEDrillVisible,\r\n searchModel: {\r\n ...prevState.searchModel,\r\n needToChange: true,\r\n },\r\n }));\r\n\r\n this.getCalendar();\r\n }\r\n\r\n\r\n // *************** FILTERS *************** END\r\n\r\n // *************** CALENDAR *************** START\r\n\r\n toogleCalendar() {\r\n this.setState((oldState) => ({ isOpenCalendar: !oldState.isOpenCalendar }));\r\n }\r\n\r\n toggleIsSubmitted = () => {\r\n this.setState((prevState) => ({ isSubmitted: !prevState.isSubmitted }));\r\n }\r\n\r\n toggleWorksiteModal = () => {\r\n this.setState((prevState) => ({ isWorksiteModalOpen: !prevState.isWorksiteModalOpen }));\r\n }\r\n\r\n // RITM0860478\r\n toggleDownloadAnnualReportModal = () => {\r\n this.setState((prevState) => ({ isDownloadAnnualReportOpen: !prevState.isDownloadAnnualReportOpen }));\r\n console.log(`EmergencyDrillList.toggleDownloadAnnualReportModal: isDownloadAnnualReportOpen: ${this.state?.isDownloadAnnualReportOpen}`);\r\n\r\n }\r\n \r\n closeWorksiteModal = () => {\r\n this.validatorworksite.hideMessages();\r\n this.setState(() => ({ selectedWorksite: null }));\r\n this.toggleWorksiteModal();\r\n }\r\n\r\n // RITM0860478\r\n closeDownloadAnnualReportModal = () => {\r\n console.log(`EmergencyDrillList.closeDownloadAnnualReportModal`);\r\n this.setState(() => ({ selectedDPWorksite: null }));\r\n this.setState(() => ({ selectedDPProject: null }));\r\n this.toggleDownloadAnnualReportModal();\r\n }\r\n\r\n onConfirmWorksiteModal = () => {\r\n if (this.validatorworksite.allValid()) {\r\n this.getWorkSiteAttachment();\r\n this.toggleWorksiteModal();\r\n this.toggleEDrillWorkSiteAttachmentModal();\r\n } else {\r\n this.validatorworksite.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`, ` ${entitiesLabels.WORKSITE} required fields are missing `);\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n // RITM0860478\r\n onConfirmDownloadAnnualDrillPlanModal = () => {\r\n console.log(`EmergencyDrillList.onConfirmDownloadAnnualDrillPlanModal: selectedDPWorksite: ${this.state.selectedDPWorksite} selectedDPProject: ${this.state.selectedDPProject}`);\r\n if (this.state.selectedDPWorksite != null && this.state.selectedDPWorksite?.id != undefined)\r\n {\r\n this.DownloadAnnualDrillPlan(this.state.searchModel.calendarInfo.referenceYear, this.state.selectedDPWorksite.id, '');\r\n this.toggleDownloadAnnualReportModal();\r\n } else if(this.state.selectedDPProject != null && this.state.selectedDPProject?.id != undefined) {\r\n this.DownloadAnnualDrillPlan(this.state.searchModel.calendarInfo.referenceYear, '', this.state.selectedDPProject.id);\r\n this.toggleDownloadAnnualReportModal();\r\n } else {\r\n showNotification.warning(`${entitiesLabels.WARNING}`, `Please select a worksite or a project.`);\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n // RITM0860478\r\n DownloadAnnualDrillPlan(year, idWorksite, idProject) {\r\n console.log(`EmergencyDrillList.DownloadAnnualDrillPlan: year: ${year} idWorksite: ${idWorksite} idProject: ${idProject}`);\r\n var reqUrl = '';\r\n var fileName = 'Annual_Drill_Plan' + year + '.zip';\r\n if (idWorksite != '') {\r\n reqUrl = 'ws/' + year + '/' + idWorksite;\r\n } else if (idProject != '') {\r\n reqUrl = 'prj/' + year + '/' + idProject;\r\n } else {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError('No worksite or project selected!', entitiesLabels.EMERGENCYDRILL_ANNUALPLAN, apioperation.DOWNLOAD));\r\n return;\r\n }\r\n console.log(`EmergencyDrillList.DownloadAnnualDrillPlan: fileName: ${fileName}`);\r\n\r\n this.setState({\r\n isDownloadingAnnualDrillPlanFile: true,\r\n });\r\n api\r\n .getWithParam('/drill/exportannualdrillplan/' + reqUrl , {\r\n responseType: 'arraybuffer',\r\n })\r\n .then((response) => {\r\n var data = new Blob([response.data], { type: 'application/zip' });\r\n var csvURL = window.URL.createObjectURL(data);\r\n var tempLink = document.createElement('a');\r\n tempLink.href = csvURL;\r\n tempLink.setAttribute('download', fileName);\r\n document.body.appendChild(tempLink);\r\n tempLink.click();\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.EMERGENCYDRILL_ANNUALPLAN, apioperation.DOWNLOAD)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isDownloadingAnnualDrillPlanFile: false,\r\n });\r\n });\r\n }\r\n\r\n getCalendar = async (param, isBack) => {\r\n console.log(`EmergencyDrillList.getCalendar: this.year: ${this.year}`);\r\n let isBackVar = false;\r\n if (isBack === undefined && this.state.isBack === true) {\r\n isBackVar = true;\r\n } else if (isBack === undefined && this.state.isBack === false) isBackVar = true;\r\n \r\n let data = null;\r\n let toFilter = null;\r\n this.setState({\r\n isLoadingTable: true,\r\n });\r\n\r\n if (!this.state.isBack || !isBackVar || this.state.searchModel?.entityInfo?.code) {\r\n toFilter = {\r\n params: {\r\n plannedWeeks: this.state.searchModel.calendarInfo?.plannedWeeks?.join(','),\r\n monthNumbers: this.state.searchModel.calendarInfo?.monthNumbers?.join(','),\r\n page: param && param.page ? param.page : this.state.paginationInfo?.currentPage,\r\n pageSize: param && param.pageSize ? param.pageSize : this.state.paginationInfo?.pageSize,\r\n IdCompany: this.state.searchModel?.entityInfo?.idCompany,\r\n IdDivision: this.state.searchModel?.entityInfo?.idDivision,\r\n IdWorkSite: this.state.searchModel?.entityInfo?.idWorkSite,\r\n IdProject: this.state.searchModel?.entityInfo?.idProject,\r\n IdDrillType: this.state.searchModel?.entityInfo?.idDrillType,\r\n IdDrillTypeDetail: this.state.searchModel?.entityInfo?.idDrillTypeDetail,\r\n DistributionList: '',\r\n PlannedYear: this.state.searchModel?.referenceYear === undefined ? \r\n this.state.searchModel?.calendarInfo?.referenceYear : \r\n this.state.searchModel?.referenceYear,\r\n IdFrequency: this.state.searchModel?.entityInfo?.idFrequency,\r\n IdParticipant: this.state.searchModel?.entityInfo?.idParticipant,\r\n CompilerEmail: this.state.searchModel?.entityInfo?.compilerEmail,\r\n DataApproverEmail: this.state.searchModel?.entityInfo?.dataApproverEmail,\r\n DrillerEmail: this.state.searchModel?.entityInfo?.drillerEmail,\r\n IdStatus: this.state.searchModel.entityInfo?.status?.id,\r\n ReferenceYear: this.state.searchModel?.referenceYear === undefined ? \r\n this.state.searchModel?.calendarInfo?.referenceYear : \r\n this.state.searchModel?.referenceYear,\r\n PlannedWeeks: this.state.searchModel?.calendarInfo?.plannedWeeks?.join(','),\r\n MonthNumbers: this.state.searchModel?.calendarInfo?.monthNumbers?.join(','),\r\n NeedToChange: this.state.searchModel?.calendarInfo?.needToChange,\r\n Weeks: this.state.searchModel?.calendarInfo?.weeks,\r\n Months: this.state.searchModel?.calendarInfo?.months,\r\n needToChange: this.state.searchModel?.needToChange,\r\n code: this.state.searchModel?.entityInfo?.code,\r\n }\r\n };\r\n this.year = this.state.searchModel?.referenceYear === undefined ? \r\n this.state.searchModel?.calendarInfo?.referenceYear : this.state.searchModel?.referenceYear;\r\n this.setState({ isBack: false, isLoadingYear: false });\r\n data = toFilter;\r\n } else {\r\n const filter = await DrillRepository.getBackPaged();\r\n data = {\r\n params: filter.searchModel\r\n };\r\n toFilter = {\r\n params: {\r\n // RITM0549692\r\n page: 1,\r\n pageSize: filter && filter.paginationInfo && filter.paginationInfo.pageSize ? \r\n filter.paginationInfo.pageSize : this.state.paginationInfo?.pageSize,\r\n //\r\n IdCompany: filter.searchModel?.entityInfo?.idCompany,\r\n IdDivision: filter.searchModel?.entityInfo?.idDivision,\r\n IdWorkSite: filter.searchModel?.entityInfo?.idWorkSite,\r\n IdProject: filter.searchModel?.entityInfo?.idProject,\r\n IdDrillType: filter.searchModel?.entityInfo?.idDrillType,\r\n IdDrillTypeDetail: filter.searchModel?.entityInfo?.idDrillTypeDetail,\r\n DistributionList: '',\r\n PlannedYear: filter.searchModel?.referenceYear === undefined ? \r\n filter.searchModel?.calendarInfo?.referenceYear : this.state.searchModel?.referenceYear,\r\n IdFrequency: filter.searchModel?.entityInfo?.idFrequency,\r\n IdParticipant: filter.searchModel?.entityInfo?.idParticipant,\r\n CompilerEmail: filter.searchModel?.entityInfo?.compilerEmail,\r\n DataApproverEmail: filter.searchModel?.entityInfo?.dataApproverEmail,\r\n DrillerEmail: filter.searchModel?.entityInfo?.drillerEmail,\r\n IdStatus: filter.searchModel?.calendarInfo?.idStatus,\r\n ReferenceYear: filter.searchModel?.referenceYear === undefined ? \r\n filter.searchModel?.calendarInfo?.referenceYear : this.state.searchModel?.referenceYear,\r\n PlannedWeeks: filter.searchModel?.calendarInfo?.plannedWeeks?.join(','),\r\n MonthNumbers: filter.searchModel?.calendarInfo?.monthNumbers?.join(','),\r\n NeedToChange: filter.searchModel?.calendarInfo?.needToChange,\r\n Weeks: filter.searchModel?.calendarInfo?.weeks,\r\n Months: filter.searchModel?.calendarInfo?.months,\r\n needToChange: filter.searchModel?.needToChange,\r\n code: filter.searchModel?.entityInfo?.code,\r\n }\r\n };\r\n this.year = filter.searchModel?.referenceYear === undefined ? \r\n filter.searchModel?.calendarInfo?.referenceYear : this.state.searchModel?.referenceYear;\r\n\r\n this.setState((prevState) => ({\r\n searchModel: filter?.searchModel,\r\n calendar: filter.calendar,\r\n needToChange: (filter.calendar.length <= 0),\r\n referenceYear: filter.searchModel?.referenceYear === undefined ? \r\n filter.searchModel?.calendarInfo?.referenceYear : prevState.searchModel?.referenceYear,\r\n PlannedYear: filter.searchModel?.referenceYear === undefined ? \r\n filter.searchModel?.calendarInfo?.referenceYear : prevState.searchModel?.referenceYear,\r\n }));\r\n data = toFilter;\r\n this.setState({ isOpenSearchForm: false, isLoadingYear: false });\r\n }\r\n console.log(`EmergencyDrillList.getCalendar: this.year: ${this.year}`);\r\n this.getDrillListFilter(data);\r\n this.getDPWorksites();\r\n this.getDPProjects();\r\n }\r\n\r\n getDrillListFilter(filter) {\r\n drill\r\n .getCalendar(filter)\r\n .then((response) => {\r\n const { data } = response;\r\n\r\n response.data.itemList.forEach(\r\n (x) =>\r\n (x.plannedWeek =\r\n x.drillPlannedWeeks.length > 0 ? x.drillPlannedWeeks[0].weekNumber : null)\r\n );\r\n \r\n // response.data.itemList.forEach(x => x.division = x.workSite?.division);\r\n\r\n this.setState((prevState) => ({\r\n searchModel: { ...prevState.searchModel, needToChange: false },\r\n paginationInfo: {\r\n currentPage: data.currentPage,\r\n pageSize: data.pageSize,\r\n page: data.pageCount,\r\n rowCount: data.rowCount,\r\n },\r\n calendar: data.events?.fourMonthsList || prevState.calendar,\r\n items: data.itemList || prevState.items,\r\n }));\r\n this.year = this.state.searchModel?.referenceYear === undefined ? \r\n this.state.searchModel?.calendarInfo?.referenceYear : \r\n this.state.searchModel?.referenceYear;\r\n if (this.state.searchModel.needToChange && !this.state.isBack) {\r\n this.setState({\r\n calendar: data.events.fourMonthsList,\r\n });\r\n DrillRepository.updateDrillCalendarFilter(data);\r\n }\r\n const filterToCache = {\r\n searchModel: {\r\n calendarInfo: this.state.searchModel?.calendarInfo,\r\n entityInfo: this.state.searchModel?.entityInfo,\r\n needToChange: false,\r\n },\r\n calendar: this.state.calendar,\r\n // RITM0549692\r\n paginationInfo: {\r\n currentPage: data.currentPage,\r\n pageSize: data.pageSize\r\n },\r\n };\r\n DrillRepository.updateDrillFilter(filterToCache);\r\n this.setState(() => ({ isOpenSearchForm: false }));\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.EMERGENCYDRILL, apioperation.GET));\r\n this.setState((prevState) => ({\r\n searchModel: { ...prevState.searchModel, needToChange: false },\r\n }));\r\n })\r\n .finally(() => {\r\n this.setState((prevState) => ({\r\n isLoadingTable: false,\r\n isLoadingCalendar: false,\r\n searchModel: { ...prevState.searchModel, needToChange: false },\r\n }));\r\n });\r\n }\r\n\r\n handleChangePaging = async (event) => {\r\n await this.setState((prevState) => ({\r\n paginationInfo: {\r\n currentPage: event.page,\r\n pageSize: event.pageSize,\r\n page: event.page,\r\n rowCount: event.rowCount,\r\n },\r\n searchModel: {\r\n ...prevState.searchModel,\r\n needToChange: false,\r\n },\r\n isBack: false\r\n }));\r\n this.getCalendar(event);\r\n };\r\n\r\n searchDrills = (e, currentSearchModal) => {\r\n e.preventDefault();\r\n if (!currentSearchModal.isBack) {\r\n this.setState({ isBack: false });\r\n }\r\n const infoFilter = currentSearchModal;\r\n this.toogleFilterModal(e);\r\n this.setState((prevState) => (\r\n {\r\n searchModel: {\r\n ...prevState.searchModel,\r\n entityInfo: { ...infoFilter },\r\n calendarInfo: {\r\n plannedWeeks: [],\r\n monthNumbers: [],\r\n referenceYear: prevState.searchModel.calendarInfo.referenceYear,\r\n },\r\n needToChange: true,\r\n calendar: [],\r\n },\r\n }),\r\n () => {\r\n this.getCalendar({ page: 1 }, false);\r\n }\r\n );\r\n };\r\n\r\n cancelFilters = (e,) => {\r\n e.preventDefault();\r\n this.setState({ isBack: false });\r\n this.toogleFilterModal(e);\r\n this.setState(\r\n {\r\n isLoadingYear: true,\r\n searchModel: {\r\n ...this.searchProp(),\r\n needToChange: true,\r\n },\r\n },\r\n () => {\r\n this.getCalendar({ page: 1 }, false);\r\n }\r\n );\r\n };\r\n\r\n closeFilters = (e) => {\r\n this.toogleFilterModal(e);\r\n };\r\n\r\n searchProp = () => ({\r\n entityInfo: {\r\n id: null,\r\n idDivision: null,\r\n idCompany: null,\r\n idWorkSite: null,\r\n idProject: null,\r\n idStatus: null,\r\n idParticipant: null,\r\n idFrequency: null,\r\n idDrillType: null,\r\n idDrillTypeDetail: null,\r\n code: this.getHashtag(),\r\n compilerEmail: null,\r\n dataApproverEmail: null,\r\n drillerEmail: null,\r\n },\r\n calendarInfo: {\r\n plannedWeeks: [],\r\n referenceYear: new Date().getFullYear(),\r\n monthNumbers: [],\r\n },\r\n });\r\n\r\n buildFilter = (items, filters) => {\r\n const filteredItems =\r\n filters !== null ? items.filter((item) => this.checkItem(item, filters)) : items;\r\n this.setState(() => ({\r\n items: filteredItems,\r\n }));\r\n return filteredItems;\r\n };\r\n\r\n checkItem = (item, filters) => {\r\n Object.keys(filters).forEach((key) => {\r\n if (\r\n typeof filters[key] !== 'object' &&\r\n filters[key] !== '' &&\r\n filters[key] != null &&\r\n filters[key] !== item[key]\r\n ) { return false; }\r\n\r\n if (\r\n Array.isArray(filters[key]) &&\r\n JSON.stringify(filters[key]) !== JSON.stringify(item[key])\r\n ) { return false; }\r\n if (filters[key] != null && item[key].name !== filters[key].name) return false;\r\n return true;\r\n }\r\n );\r\n return true;\r\n };\r\n\r\n applyFilters = (filters, apply) => {\r\n this.setState((state) => ({\r\n items: this.buildFilter(state.originalItems, apply ? filters : null),\r\n }));\r\n };\r\n\r\n showAddEDrill() {\r\n this.setState((oldState) => ({\r\n modalEDrillVisible: !oldState.modalEDrillVisible,\r\n eDrillToModify: null,\r\n }));\r\n }\r\n\r\n showEditEDrill(row) {\r\n const eDrillToEdit = this.state.items.find((item) => item.id === row.id);\r\n if ((eDrillToEdit.drillModifiedPlannedWeekSets != null) &&\r\n (eDrillToEdit.drillModifiedPlannedWeekSets !== undefined) && \r\n (eDrillToEdit.drillModifiedPlannedWeekSets.length > 0)) {\r\n this.setState(() => ({ eDrillToModify: eDrillToEdit }));\r\n this.getModifiedPlannedWeekSetCompiler(\r\n eDrillToEdit.drillModifiedPlannedWeekSets[0].idCompiler, this.showEditEDrillWarning);\r\n return;\r\n }\r\n this.setState((oldState) => ({\r\n modalEDrillVisible: !oldState.modalEDrillVisible,\r\n eDrillToModify: eDrillToEdit\r\n }));\r\n }\r\n\r\n showEditEDrillWarning = (compiler) => {\r\n if (compiler != null) {\r\n this.setState((prevState) => ({ isWarningModalOpen: !prevState.isWarningModalOpen, warningMessage: `Changes to the planned weeks already compiled by ${compiler.surname} ${compiler.name}` }));\r\n }\r\n }\r\n\r\n toggleWarningModal = () => {\r\n this.setState((prevState) => ({\r\n isWarningModalOpen: !prevState.isWarningModalOpen,\r\n eDrillToModify: null\r\n }));\r\n };\r\n\r\n handleConfirmWarningModal = () => {\r\n this.setState((prevState) => ({ isWarningModalOpen: !prevState.isWarningModalOpen, \r\n modalEDrillVisible: !prevState.modalEDrillVisible, })\r\n );\r\n };\r\n\r\n handleChangeWorksite = (el) => {\r\n console.log(`EmergencyDrillList.handleChangeWorksite: Worksite id: ${el.selectedItem?.id} Worksite: ${el.selectedItem?.name}`);\r\n const inputValue = el.selectedItem;\r\n const worksite = this.state.worksites.find((item) => item.id === inputValue.id);\r\n this.setState(() => ({\r\n selectedWorksite: { ...worksite },\r\n }));\r\n };\r\n\r\n // RITM0860478\r\n handleChangeDPWorksite = (el) => {\r\n console.log(`EmergencyDrillList.handleChangeDPWorksite: Worksite id: ${el.selectedItem?.id} Worksite: ${el.selectedItem?.name}`);\r\n const inputValue = el.selectedItem;\r\n console.log(`EmergencyDrillList.handleChangeDPWorksite: inputValue: ${inputValue}`);\r\n var worksite = null;\r\n const project = null;\r\n if (inputValue != null)\r\n worksite = this.state.dpWorksites.find((item) => item.id === inputValue.id);\r\n this.setState(() => ({\r\n selectedDPWorksite: { ...worksite },\r\n selectedDPProject: { project},\r\n }));\r\n this.forceUpdate();\r\n };\r\n\r\n // RITM0860478\r\n handleChangeDPProject = (el) => {\r\n console.log(`EmergencyDrillList.handleChangeDPProject: Project id: ${el.selectedItem?.id} Project: ${el.selectedItem?.name}`);\r\n const inputValue = el.selectedItem;\r\n console.log(`EmergencyDrillList.handleChangeDPProject: inputValue: ${inputValue}`);\r\n const worksite = null;\r\n var project = null;\r\n if (inputValue != null)\r\n project = this.state.dpProjects.find((item) => item.id === inputValue.id);\r\n this.setState(() => ({\r\n selectedDPWorksite: { worksite },\r\n selectedDPProject: { ...project },\r\n }));\r\n this.forceUpdate();\r\n };\r\n\r\n renderWorksiteSelectionModal = () => {\r\n const selectedItemCombo = {\r\n idWorkSite: this.state.selectedWorksite\r\n ? (this.state.worksites || []).find((el) => el.id === this.state.selectedWorksite.id)\r\n : [],\r\n };\r\n const validatorworksite = {\r\n worksite: this.validatorworksite.message('worksite', this.state.selectedWorksite?.id, 'required'),\r\n };\r\n return (\r\n false}>\r\n \r\n

    Upload the Annual drill plan document - select the Worksite

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Worksite*\r\n {this.state.isLoadingWorksite ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n invalid={validatorworksite.worksite != null}\r\n selectedItem={\r\n selectedItemCombo.idWorkSite ? selectedItemCombo.idWorkSite : null\r\n }\r\n items={this.state.worksites}\r\n />\r\n )}\r\n {validatorworksite.worksite}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n Confirm\r\n \r\n \r\n
    \r\n );\r\n }\r\n\r\n // RITM0860478\r\n renderDownloadAnnualDrillPlanModal = () => {\r\n console.log(`EmergencyDrillList.renderDownloadAnnualDrillPlanModal: this.year: ${this.year}`);\r\n const selectedDPItemCombo = {\r\n idWorkSite: this.state.selectedDPWorksite\r\n ? (this.state.dpWorksites || []).find((el) => el.id === this.state.selectedDPWorksite.id)\r\n : [],\r\n idProject: this.state.selectedDPProject\r\n ? (this.state.dpProjects || []).find((el) => el.id === this.state.selectedDPProject.id)\r\n : [],\r\n };\r\n return (\r\n false}>\r\n \r\n

    Download the Annual drill plan document - select the Worksite or Project

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Worksite**\r\n {this.state.isLoadingDPWorksite ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n selectedItem={\r\n selectedDPItemCombo.idWorkSite ? selectedDPItemCombo.idWorkSite : null\r\n }\r\n items={this.state.dpWorksites}\r\n />\r\n )}\r\n \r\n
    \r\n
    \r\n \r\n Project**\r\n {this.state.isLoadingDPProjects ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n selectedItem={\r\n selectedDPItemCombo.idProject ? selectedDPItemCombo.idProject : null\r\n }\r\n items={this.state.dpProjects}\r\n />\r\n )}\r\n \r\n
    \r\n
    \r\n ** Select a Worksite OR a Project\r\n
    \r\n
    \r\n \r\n \r\n \r\n Search\r\n \r\n \r\n
    \r\n );\r\n }\r\n\r\n getWorkSiteAttachment = async () => {\r\n if (this.state.selectedWorksite != null) {\r\n this.setState(() => ({ isSubmitted: true }));\r\n let items = [];\r\n try {\r\n items = (await drill.getAllWorksiteAttachments(this.state.selectedWorksite.id)).data;\r\n this.setState(() => ({ worksiteAttachments: [...items] }));\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.EMERGENCYDRILL_WORKSITEATTACHMENT, apioperation.GET));\r\n } finally {\r\n this.setState(() => ({ isSubmitted: false }));\r\n }\r\n }\r\n }\r\n\r\n onCloseWorkSiteAttachmentModal = () => {\r\n this.validatorworksite.hideMessages();\r\n this.setState(() => ({ selectedWorksite: null }));\r\n this.toggleEDrillWorkSiteAttachmentModal();\r\n }\r\n\r\n toggleEDrillWorkSiteAttachmentModal = () => {\r\n this.setState((prevState) => ({ isEDrillWorkSiteAttachmentModalOpen: \r\n !prevState.isEDrillWorkSiteAttachmentModalOpen }));\r\n }\r\n\r\n renderEDrillWorkSiteAttachmentModal = () => (\r\n \r\n )\r\n\r\n filterByWeek = (weekNumber) => {\r\n this.setState({ isBack: false });\r\n const isBack = false;\r\n let year;\r\n try {\r\n year = this.state.searchModel.calendarInfo?.referenceYear;\r\n const statusCopy = { ...this.state };\r\n statusCopy.searchModel.calendarInfo.referenceYear = year;\r\n\r\n const index = statusCopy.searchModel.calendarInfo.plannedWeeks.indexOf(weekNumber);\r\n if (index > -1) statusCopy.searchModel.calendarInfo.plannedWeeks.splice(index, 1);\r\n else statusCopy.searchModel.calendarInfo.plannedWeeks.push(weekNumber);\r\n\r\n statusCopy.searchModel.needToChange = false;\r\n statusCopy.isBack = false;\r\n statusCopy.isfilterByWeek = true;\r\n this.setState(statusCopy);\r\n this.getCalendar({ page: 1 }, isBack);\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.EMERGENCYDRILL, apioperation.GET));\r\n } \r\n };\r\n\r\n filterByMonths = (month) => {\r\n this.setState({ isBack: false });\r\n const isBack = false;\r\n let year;\r\n try {\r\n year = this.state.searchModel.calendarInfo.referenceYear;\r\n const statusCopy = { ...this.state };\r\n statusCopy.searchModel.calendarInfo.referenceYear = year;\r\n statusCopy.isBack = false;\r\n const index = statusCopy.searchModel.calendarInfo.monthNumbers.indexOf(month.monthsNumber);\r\n if (index > -1) statusCopy.searchModel.calendarInfo.monthNumbers.splice(index, 1);\r\n else statusCopy.searchModel.calendarInfo.monthNumbers.push(month.monthsNumber);\r\n\r\n statusCopy.searchModel.needToChange = false;\r\n statusCopy.isfilterByWeek = true;\r\n this.setState(statusCopy);\r\n this.getCalendar({ page: 1 }, isBack);\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.EMERGENCYDRILL, apioperation.GET));\r\n }\r\n };\r\n\r\n toogleFilterModal(e) {\r\n e.preventDefault();\r\n this.setState((oldState) => ({\r\n isOpenSearchForm: !oldState.isOpenSearchForm,\r\n }));\r\n }\r\n\r\n // *************** CALENDAR *************** END\r\n\r\n async newEDrillAdded(item) {\r\n await DrillRepository.updateCachedDrillList(item, item.plannedYear);\r\n const drills = await DrillRepository.getCachedDrillList(\r\n this.state.searchModel.calendarInfo.referenceYear\r\n );\r\n this.setState((prevState) => ({\r\n originalItems: drills.itemList,\r\n items: this.buildFilter(drills.itemList, null, null),\r\n modalEDrillVisible: !prevState.modalEDrillVisible,\r\n searchModel: {\r\n ...prevState.searchModel,\r\n needToChange: true,\r\n },\r\n }));\r\n this.getCalendar();\r\n }\r\n\r\n async refreshData() {\r\n this.setState((prevState) => ({\r\n loading: true,\r\n searchModel: {\r\n ...prevState.searchModel,\r\n needToChange: true,\r\n },\r\n }));\r\n this.getCalendar();\r\n }\r\n\r\n eDrillPlannedUpdated(deletedPlannedWeek, addedPlannedWeek, changedPlannedWeek) {\r\n const idEntity = this.state.eDrillToModify.workSite?.idDivision;\r\n this.setState((prevState) => ({ modalEDrillVisible: !prevState.modalEDrillVisible, \r\n isLoadingApproverOptions: true,\r\n modalEDrillPlanModificationVisible: !prevState.modalEDrillPlanModificationVisible,\r\n modifiedPlannedWeekSet: {\r\n ...prevState.modifiedPlannedWeekSet,\r\n deletedPlannedWeek: [...deletedPlannedWeek],\r\n addedPlannedWeek: [...addedPlannedWeek],\r\n updatedPlannedWeek: [...changedPlannedWeek]\r\n } }));\r\n this.getApprovers(idEntity);\r\n }\r\n\r\n renderLoadingModal = () => {\r\n const show = this.state.isSubmitted || this.state.isLoadingModifiedPlannedWeekSetCompiler\r\n || this.state.isDownloadingAnnualDrillPlanFile // RITM0860478\r\n || this.state.isLoadingDPWorksites // RITM0860478\r\n || this.state.isLoadingDPProjects; // RITM0860478\r\n console.log(`EmergencyDrillList.renderLoadingModal: show: ${show}`);\r\n return show && ;\r\n };\r\n\r\n render() {\r\n console.log(`EmergencyDrillList.render: this.year: ${this.year}`);\r\n const validations = ((this.state.modifiedPlannedWeekSet !== null && \r\n this.state.modifiedPlannedWeekSet !== undefined) ? {\r\n toDelete: this.state.modifiedPlannedWeekSet?.deletedPlannedWeek?.map((e, index) => (this.validator.message(`Reason for change delete week ${this.state.modifiedPlannedWeekSet.deletedPlannedWeek[index].weekNumber} # ${this.state.modifiedPlannedWeekSet.deletedPlannedWeek[index].sequence}`, this.state.modifiedPlannedWeekSet.deletedPlannedWeek[index].reasonForChange, 'required'))),\r\n toAdd: this.state.modifiedPlannedWeekSet?.addedPlannedWeek?.map((e, index) => (this.validator.message(`Reason for change add week ${this.state.modifiedPlannedWeekSet.addedPlannedWeek[index].weekNumber} # ${this.state.modifiedPlannedWeekSet.addedPlannedWeek[index].sequence}`, this.state.modifiedPlannedWeekSet.addedPlannedWeek[index].reasonForChange, 'required'))),\r\n toUpdate: this.state.modifiedPlannedWeekSet?.updatedPlannedWeek?.map((e, index) => (this.validator.message(`Reason for change update week ${this.state.modifiedPlannedWeekSet.updatedPlannedWeek[index].weekNumber} # ${this.state.modifiedPlannedWeekSet.updatedPlannedWeek[index].sequence}`, this.state.modifiedPlannedWeekSet.updatedPlannedWeek[index].reasonForChange, 'required'))),\r\n } : null);\r\n\r\n return (\r\n \r\n {({ user }) =>\r\n IsEnabled(user, 'Emergency Drill') ? (\r\n <>\r\n \r\n
    \r\n
    \r\n {!this.state.isLoadingYear ? \r\n

    \r\n Current year\r\n item || ''}\r\n type=\"inline\"\r\n />\r\n \r\n

    \r\n : null }\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {IsInRole(user, 'Administrator') || IsInRole(user, 'Compiler') ? (\r\n \r\n ) : null}\r\n \r\n Download Annual Drill Plan\r\n \r\n \r\n
    \r\n
    \r\n {/* CALENDAR */}\r\n \r\n {this.state.searchModel.needToChange ? (\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n ) : (\r\n \r\n \r\n
    \r\n )}\r\n
    \r\n\r\n
    \r\n {this.state.isOpenSearchForm ? (\r\n \r\n ) : null}\r\n {this.state.modalEDrillVisible ? (\r\n \r\n ) : null}\r\n {this.state.modalEDrillPlanModificationVisible ? (\r\n \r\n ) : null}\r\n {this.state.isLoadingTable ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n {this.state.isWarningModalOpen ? (\r\n \r\n ) : null}\r\n {this.renderLoadingModal()}\r\n {this.renderWorksiteSelectionModal()}\r\n {this.renderEDrillWorkSiteAttachmentModal()}\r\n {this.renderDownloadAnnualDrillPlanModal()}\r\n
    \r\n \r\n ) : null\r\n }\r\n \r\n );\r\n }\r\n}\r\n\r\nEmergencyDrillList.propTypes = {\r\n history: PropTypes.shape({\r\n block: PropTypes.func,\r\n createHref: PropTypes.func,\r\n go: PropTypes.func,\r\n goBack: PropTypes.func,\r\n goForward: PropTypes.func,\r\n listen: PropTypes.func,\r\n push: PropTypes.func,\r\n replace: PropTypes.func,\r\n length: PropTypes.number,\r\n action: PropTypes.string,\r\n location: PropTypes.shape({\r\n pathname: PropTypes.string,\r\n search: PropTypes.string,\r\n hash: PropTypes.string,\r\n key: PropTypes.string\r\n }),\r\n }).isRequired,\r\n location: PropTypes.shape({\r\n pathname: PropTypes.string,\r\n search: PropTypes.string,\r\n hash: PropTypes.string,\r\n key: PropTypes.string\r\n }).isRequired\r\n};\r\n","/* eslint-disable react/jsx-props-no-spreading */\r\n/* eslint-disable react/forbid-prop-types */\r\n/* eslint-disable jsx-a11y/click-events-have-key-events */\r\nimport React, { Component } from 'react';\r\nimport {\r\n DataTable,\r\n TableContainer,\r\n Table,\r\n TableHead,\r\n TableRow,\r\n TableBody,\r\n TableCell,\r\n TableHeader,\r\n TableSelectRow,\r\n TableToolbar,\r\n TableBatchActions,\r\n TableBatchAction,\r\n Loading,\r\n TableSelectAll,\r\n FormGroup,\r\n FormLabel,\r\n Button,\r\n TextInput,\r\n Pagination,\r\n Tag,\r\n} from 'carbon-components-react';\r\nimport PropTypes from 'prop-types';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport Error16 from '@carbon/icons-react/lib/error/16';\r\nimport Send16 from '@carbon/icons-react/lib/send/16';\r\nimport Close16 from '@carbon/icons-react/lib/close/16';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport Task16 from '@carbon/icons-react/lib/task/16';\r\nimport Report16 from '@carbon/icons-react/lib/report/16';\r\nimport ExportDoc16 from '@carbon/icons-react/lib/document--export/16';\r\nimport CheckmarkOutline16 from '@carbon/icons-react/lib/checkmark--outline/16';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { Link } from 'react-router-dom';\r\nimport { api, me } from '../../../helpers/api/api';\r\nimport { WFActionModal } from '../../common/WFActionModal';\r\nimport { showNotification } from '../../../helpers/notification/BaseNotification';\r\nimport { CanExecuteAction, IsInRole } from '../../../helpers/authorization/Policies';\r\nimport { AppContext } from '../../../helpers/context/AppContext';\r\nimport {\r\n getError,\r\n STATUS,\r\n getSuccess,\r\n apioperation,\r\n entitiesLabels,\r\n} from '../../../helpers/Constants';\r\nimport { NoRecordsPlaceholder } from '../../../helpers/jsonschemaform/DataTableExtention';\r\nimport { StatusTag } from '../../../helpers/PageBreadCrumb';\r\nimport Combo from '../../common/Combo';\r\nimport { Online, Offline } from '../../common/OnLineOffLine';\r\nexport default class EDrillMultiSelectDataTable extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isApprovalModalOpen: false,\r\n approvalModalAction: '',\r\n approver: null,\r\n approvalStartDate: null,\r\n approvalEndDate: null,\r\n isLoadingApproverOptions: true,\r\n approvalValidationMessages: [],\r\n approvers: [],\r\n selectedData: [],\r\n approverRole: '',\r\n withApprover: true,\r\n isLoadingWFOperation: false,\r\n approvalNotesRequired: false,\r\n isLoadingNotificationFile: false,\r\n filteredEDrills: props.allYearEDrills,\r\n showFilters: false,\r\n filteredMonth: null,\r\n itemToDelete: [],\r\n itemToSubmit: [],\r\n selectedApprover: {},\r\n modalDeleteVisible: false,\r\n modalSubmitVisible: false,\r\n isSubmitted: false,\r\n };\r\n\r\n this.onSelectEDrillTypeChange = this.onSelectEDrillTypeChange.bind(this);\r\n this.onSelectStatusChange = this.onSelectStatusChange.bind(this);\r\n this.onSelectWorkSiteChange = this.onSelectWorkSiteChange.bind(this);\r\n this.onSelectTargetChange = this.onSelectTargetChange.bind(this);\r\n this.onSelectScopeChange = this.onSelectScopeChange.bind(this);\r\n this.onSelectDataApproverChange = this.onSelectDataApproverChange.bind(this);\r\n this.renderLoadingModal = this.renderLoadingModal.bind(this);\r\n this.handleClickCancelSearch = this.handleClickCancelSearch.bind(this);\r\n this.handleClickSearch = this.handleClickSearch.bind(this);\r\n this.validator = new SimpleReactValidator();\r\n this.handleChangePaging = this.handleChangePaging.bind(this);\r\n\r\n this.filters = {};\r\n this.textInput = React.createRef();\r\n this.toogleFilterModal = this.toogleFilterModal.bind(this);\r\n\r\n this.validations = {\r\n dataApprover: this.validator.message(\r\n 'dataApprover',\r\n this.state.selectedApprover.id,\r\n 'required'\r\n ),\r\n };\r\n }\r\n\r\n DownloadEDrillNotification(drillReportId) {\r\n this.setState({ isLoadingNotificationFile: true });\r\n api\r\n .getWithParam('/drill/' + drillReportId + '/export', {\r\n responseType: 'arraybuffer',\r\n })\r\n .then((response) => {\r\n var data = new Blob([response.data], { type: 'application/pdf' });\r\n var csvURL = window.URL.createObjectURL(data);\r\n var tempLink = document.createElement('a');\r\n tempLink.href = csvURL;\r\n const eDrillCode = this.props.eDrills.find((i) => i.id == drillReportId);\r\n var nomefile = 'Drill_Notification_' + eDrillCode.drillReportCode + '.pdf';\r\n tempLink.setAttribute('download', nomefile);\r\n document.body.appendChild(tempLink);\r\n tempLink.click();\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.EMERGENCYDRILL_NOTIFICATION, apioperation.DOWNLOAD));\r\n //console.log(eDrillId);\r\n })\r\n .finally(() => {\r\n this.setState({ isLoadingNotificationFile: false });\r\n });\r\n }\r\n DownloadEDrillReport(eDrillId) {\r\n this.setState({ isLoadingNotificationFile: true });\r\n api\r\n .getWithParam('/drill/' + eDrillId + '/exportreport', {\r\n responseType: 'arraybuffer',\r\n })\r\n .then((response) => {\r\n var data = new Blob([response.data], { type: 'application/zip' });\r\n var csvURL = window.URL.createObjectURL(data);\r\n var tempLink = document.createElement('a');\r\n tempLink.href = csvURL;\r\n const eDrillCode = this.props.eDrills.find((i) => i.id == eDrillId);\r\n var nomefile = 'Drill_Report_' + eDrillCode.drillReportCode + '.zip';\r\n tempLink.setAttribute('download', nomefile);\r\n document.body.appendChild(tempLink);\r\n tempLink.click();\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.EMERGENCYDRILL_NOTIFICATION, apioperation.DOWNLOAD)\r\n );\r\n //console.log(eDrillId);\r\n })\r\n .finally(() => {\r\n this.setState({ isLoadingNotificationFile: false });\r\n });\r\n }\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n // Any time the current user changes,\r\n // Reset any parts of state that are tied to that user.\r\n // In this simple example, that's just the email.\r\n if (props.allYearEDrills !== state.filteredEDrills) {\r\n return {\r\n filteredEDrills: props.allYearEDrills,\r\n };\r\n }\r\n return null;\r\n }\r\n\r\n renderLoadingModal = () => {\r\n const show = this.state.isSubmitted;\r\n return show && ;\r\n };\r\n\r\n renderDeleteModal = (totalItems) =>\r\n this.state.modalDeleteVisible && (\r\n
    \r\n
    \r\n
    \r\n

    Delete draft Drills

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

    \r\n Press confirm to delete\r\n {` ${totalItems} `}\r\n Drill/s selected\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n renderSubmitModal = (totalItems) => {\r\n const validations = {\r\n dataApprover: this.validator.message(\r\n 'dataApprover',\r\n this.state.selectedApprover.id,\r\n 'required'\r\n ),\r\n };\r\n return (\r\n this.state.modalSubmitVisible && (\r\n
    \r\n
    \r\n
    \r\n

    Submit Drill

    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n Choose a Data Approver and than confirm to submit\r\n {` ${totalItems} `}\r\n Drill/s selected\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n Confirm\r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n );\r\n };\r\n\r\n toogleCalendar = (e) => {\r\n this.props.toogleCalendar(e);\r\n };\r\n\r\n toogleFilterModal = (e) => {\r\n this.props.toogleFilterModal(e);\r\n };\r\n\r\n handleChangePaging = (event) => {\r\n this.props.handleChangePaging(event);\r\n };\r\n\r\n onSelectEDrillTypeChange = (selectedItem) => {\r\n this.props.onTypeFilter(selectedItem);\r\n };\r\n\r\n onSelectScopeChange = (selectedItem) => {\r\n this.props.onScopeFilter(selectedItem);\r\n };\r\n\r\n onSelectTargetChange = (selectedItem) => {\r\n this.props.onTargetFilter(selectedItem);\r\n };\r\n\r\n onSelectStatusChange = (selectedItem) => {\r\n this.props.onStatusFilter(selectedItem);\r\n };\r\n\r\n onSelectWorkSiteChange = (selectedItem) => {\r\n this.props.onWorkSiteFilter(selectedItem);\r\n };\r\n\r\n onSelectDataApproverChange = (selectedItem) => {\r\n this.setState({\r\n selectedApprover: selectedItem || {},\r\n });\r\n };\r\n\r\n buildNoMonthFilter = () => {\r\n let { filteredEDrills } = this.state;\r\n filteredEDrills = this.state.filteredDivision\r\n ? filteredEDrills.filter((item) => item.idDivision === this.state.filteredDivision)\r\n : filteredEDrills;\r\n return filteredEDrills;\r\n };\r\n\r\n onMonthFilter = (event) => {\r\n this.setState({\r\n filteredMonth: event.currentTarget.id > 0 ? parseInt(event.currentTarget.id, 10) : null,\r\n filteredEDrills: this.buildNoMonthFilter(),\r\n });\r\n this.props.onMonthFilter(\r\n event.currentTarget.id > 0 ? parseInt(event.currentTarget.id, 10) : null\r\n );\r\n };\r\n\r\n handleApproverSelect = (selectedItem) => {\r\n this.setState({ approver: selectedItem });\r\n };\r\n\r\n handleCloseApprovalModal = () => {\r\n this.setState({ isApprovalModalOpen: false }, this.clearApprovalForm);\r\n };\r\n\r\n handleApprovalNotesChange = (e) => {\r\n this.setState({ approvalNotes: e.target.value });\r\n };\r\n\r\n handleConfirmApprovalModal = () => {\r\n const apiEndpoint = this.state.approvalEndpoint;\r\n const data = {\r\n ids: this.state.selectedData.map((r) => r.id),\r\n owner: this.state.approver,\r\n workflowNotes: this.state.approvalNotes,\r\n };\r\n\r\n this.setState({\r\n isLoadingWFOperation: true,\r\n });\r\n api\r\n .put(`/drill/${apiEndpoint}`, data, '')\r\n .then((response) => {\r\n if (response.status === 200) {\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,getSuccess(entitiesLabels.EMERGENCYDRILL, apioperation.PUT));\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n isApprovalModalOpen: false,\r\n // isLoading: true,\r\n // itemList: []\r\n });\r\n this.props.onRefreshData();\r\n } else {\r\n showNotification.error();\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, error.response.data, 'ERROR'));\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n })\r\n .finally(() => {});\r\n };\r\n\r\n getUsersInRole = (role, idEntity) => {\r\n me.getWithParam('users', {\r\n params: { Role: role, IdEntity: idEntity, includeAdmins: true },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n approvers: response.data,\r\n isLoadingApproverOptions: false,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, '', 'ERROR'));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingApproverOptions: false,\r\n });\r\n });\r\n };\r\n\r\n // eslint-disable-next-line react/sort-comp\r\n IsRowSelectable(tableRow, selectedRows, user) {\r\n const entity = this.props.eDrills.find((i) => i.id == tableRow.id);\r\n if (entity.idStatus === 4) return false;\r\n if (entity.idStatus === 1 && entity.compiler == null) return true;\r\n\r\n const canSelect =\r\n CanExecuteAction(\r\n 'Emergency Drill',\r\n 'Reporting',\r\n user,\r\n entity.idStatus,\r\n 'Create',\r\n this.getEDrillor(entity)\r\n ) ||\r\n CanExecuteAction('Emergency Drill', 'Reporting', user, entity.idStatus, 'Submit', entity) ||\r\n CanExecuteAction('Emergency Drill', 'Reporting', user, entity.idStatus, 'Approve', entity) ||\r\n CanExecuteAction(\r\n 'Emergency Drill',\r\n 'Reporting',\r\n user,\r\n entity.idStatus,\r\n 'Consolidate',\r\n entity\r\n ) ||\r\n CanExecuteAction('Emergency Drill', 'Reporting', user, entity.idStatus, 'Reject', entity) ||\r\n CanExecuteAction(\r\n 'Emergency Drill',\r\n 'Reporting',\r\n user,\r\n entity.idStatus,\r\n 'RejectConsolidate',\r\n entity\r\n );\r\n\r\n if (selectedRows.length == 0) {\r\n return canSelect;\r\n }\r\n\r\n if (selectedRows.length > 0) {\r\n const selectableEDrill = this.props.eDrills.find((i) => i.id == selectedRows[0].id);\r\n const selectableState = selectableEDrill.idStatus;\r\n const selectableDivision = selectableEDrill.idDivision;\r\n const selectableWorksite = selectableEDrill.idWorksite;\r\n\r\n if (\r\n entity.idStatus == selectableState &&\r\n (entity.idStatus == 1\r\n ? entity.idWorkSite == selectableWorksite\r\n : entity.idDivision == selectableDivision)\r\n ) {\r\n return canSelect;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n batchActionClick(\r\n actionKey,\r\n actionName,\r\n approverRole,\r\n withApprover,\r\n approvalNotesRequired,\r\n selectedRows\r\n ) {\r\n const eDrill = this.props.eDrills.find((i) => i.id === selectedRows[0].id);\r\n\r\n const idEntity = eDrill.workSite?.idDivision;\r\n\r\n this.setState({\r\n approvalModalAction: actionName,\r\n isApprovalModalOpen: true,\r\n isLoadingApproverOptions: true,\r\n withApprover,\r\n selectedData: selectedRows,\r\n approverRole,\r\n approvalEndpoint: actionKey,\r\n approvalNotesRequired,\r\n });\r\n\r\n if (withApprover) this.getUsersInRole(approverRole, idEntity);\r\n }\r\n /** ***********Render******************* */\r\n\r\n getEDrillor = (selectedRows) => {\r\n if (selectedRows && selectedRows.length > 0) {\r\n let au = this.props.eDrills.find((el) => el.id == selectedRows[0].id);\r\n return au && au.eDrillors && au.eDrillors[0] ? { idCompiler: au.eDrillors[0].id } : null;\r\n }\r\n return null;\r\n };\r\n\r\n\r\n //RITM0723662\r\n getCompiler = (selectedRows) => {\r\n if (selectedRows && selectedRows.length > 0) {\r\n let au = this.props.eDrills.find((el) => el.id == selectedRows[0].id);\r\n return au && au.compiler ? { idCompiler: au.idCompiler } : null;\r\n }\r\n return null;\r\n };\r\n\r\n getCompilerById = (idRow) => {\r\n if (idRow) {\r\n let au = this.props.eDrills.find((el) => el.id == idRow);\r\n return au && au.compiler ? { idCompiler: au.idCompiler } : null;\r\n }\r\n return null;\r\n };\r\n //RITM0723662\r\n\r\n getEDrillReport = (selectedRows) => {\r\n if (selectedRows && selectedRows.length > 0) {\r\n const r = this.props.eDrills.find((el) => el.id == selectedRows[0].id);\r\n return r;\r\n }\r\n return null;\r\n };\r\n\r\n getReportStatusId = (idRow) => {\r\n const r = this.props.eDrills.find((el) => el.id == idRow);\r\n return r && r.idStatus;\r\n };\r\n\r\n renderMonthsHeader = () => {\r\n const elements = [\r\n 'All',\r\n 'Gen',\r\n 'Feb',\r\n 'Mar',\r\n 'Apr',\r\n 'May',\r\n 'Jun',\r\n 'Jul',\r\n 'Aug',\r\n 'Sep',\r\n 'Oct',\r\n 'Nov',\r\n 'Dec',\r\n ];\r\n const items = elements.map((item, index) => (\r\n // eslint-disable-next-line jsx-a11y/interactive-supports-focus\r\n \r\n
    {item}
    \r\n\r\n
    \r\n {index > 0\r\n ? this.state.filteredEDrills.filter((elem) => elem.referenceMonth === index).length\r\n : this.state.filteredEDrills.length}\r\n
    \r\n
    \r\n ));\r\n\r\n return
    {items}
    ;\r\n };\r\n\r\n getCellValue = (type, value, id) => {\r\n if (!value) return '';\r\n\r\n const drill = this.props.eDrills.find((el) => el.id == id);\r\n\r\n if (type.header.includes('deliveryDateWithWeek')) {\r\n if (drill.isInPlannedWeek) {\r\n return (\r\n \r\n {value}\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n {value}\r\n \r\n );\r\n }\r\n }\r\n\r\n //RITM0723662\r\n if (type.header.includes('compilerAssignStatus')) {\r\n if (!value) return ''\r\n else return value;\r\n }\r\n //RITM0723662 fine \r\n \r\n if (typeof value === 'object') {\r\n let plannedweek = '';\r\n console.log(type, value, id);\r\n console.log(drill);\r\n\r\n if (type.header.includes('eDrillor')) {\r\n return value.fullName;\r\n }\r\n if (type.header.includes('status')) {\r\n return ;\r\n }\r\n\r\n if (value instanceof Array) {\r\n return value.map((elem) => elem.name).join(', ');\r\n }\r\n return value.name;\r\n }\r\n if (type.header.includes('Month')) {\r\n const months = [\r\n 'Jan',\r\n 'Feb',\r\n 'Mar',\r\n 'Apr',\r\n 'May',\r\n 'Jun',\r\n 'Jul',\r\n 'Aug',\r\n 'Sep',\r\n 'Oct',\r\n 'Nov',\r\n 'Dec',\r\n ];\r\n const monthToString = (monthNumber) => months[monthNumber - 1] || '';\r\n return monthToString(value);\r\n }\r\n return value;\r\n };\r\n\r\n handleClickCancelSearch = () => {\r\n this.textInput.current.value = '';\r\n for (var prop in this.filters) {\r\n if (Object.prototype.hasOwnProperty.call(this.filters, prop))\r\n this.filters[prop] = Array.isArray(this.filters[prop]) ? [] : null;\r\n }\r\n this.props.applyFilters(this.filters, false);\r\n };\r\n\r\n handleClickSearch = () => {\r\n this.props.applyFilters(this.filters, true);\r\n };\r\n\r\n showFilters() {\r\n this.setState((oldState) => ({ showFilters: !oldState.showFilters }));\r\n this.toogleFilterModal();\r\n }\r\n\r\n renderFilters = () => (\r\n
    \r\n
    \r\n \r\n Company\r\n (this.filters['company'] = event.selectedItem)}\r\n onError={(error) => {}}\r\n disabled={false}\r\n initialSelectedItems={this.filters['company']}\r\n />\r\n \r\n\r\n \r\n Worksite\r\n (this.filters['workSite'] = event.selectedItem)}\r\n onError={(error) => {}}\r\n disabled={false}\r\n initialSelectedItems={this.filters['workSite']}\r\n />\r\n \r\n\r\n \r\n Drill Code\r\n (this.filters['drillCode'] = event.target.value)}\r\n type=\"text\"\r\n ref={this.textInput}\r\n />\r\n \r\n\r\n {/*\r\n Projects\r\n \r\n this.filters['projects'] = prjs\r\n }\r\n onError={(error) => { }}\r\n initialSelectedItems={this.filters['projects'] || []}\r\n disabled={false}\r\n />\r\n */}\r\n\r\n \r\n Drill Type\r\n (this.filters['drillType'] = event.selectedItem)}\r\n onError={(error) => {}}\r\n loadAll\r\n disabled={false}\r\n initialSelectedItems={this.filters['drillType']}\r\n />\r\n \r\n\r\n \r\n Drill Type Detail\r\n (this.filters['drillTypeDetail'] = event.selectedItem)}\r\n onError={(error) => {}}\r\n loadAll\r\n disabled={false}\r\n initialSelectedItems={this.filters['drillTypeDetail']}\r\n />\r\n \r\n
    \r\n\r\n
    \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n );\r\n\r\n render() {\r\n const headers = [\r\n {\r\n key: 'drillReportCode',\r\n header: 'Drill Report Code',\r\n },\r\n {\r\n key: 'drillEmergencyLevel',\r\n header: 'Emergency Level',\r\n },\r\n {\r\n key: 'plannedWeekWithDate',\r\n header: 'Planned Week',\r\n },\r\n {\r\n key: 'deliveryDateWithWeek',\r\n header: 'Effective Date',\r\n },\r\n {\r\n key: 'status',\r\n header: 'Status',\r\n },\r\n {\r\n key: 'compilerAssignStatus',\r\n header: 'Compiler Assign Status',\r\n },\r\n ];\r\n const paginationProps = () => ({\r\n page: this.props.paginationInfo.currentPage || 1,\r\n totalItems: this.props.paginationInfo.rowCount || 0,\r\n pageSize: this.props.paginationInfo.pageSize || 10,\r\n pageSizes: [10, 20, 30, 40, 50],\r\n onChange: this.handleChangePaging,\r\n });\r\n\r\n return (\r\n \r\n {({ user }) => (\r\n <>\r\n \r\n (\r\n \r\n {selectedRows.length > 0 ? (\r\n \r\n \r\n \r\n {selectedRows.length > 0 ? (\r\n <>\r\n {CanExecuteAction(\r\n 'Emergency Drill',\r\n 'Reporting',\r\n user,\r\n (selectedRows.length > 0\r\n ? this.getReportStatusId(selectedRows[0].id)\r\n : null) || '',\r\n 'Create',\r\n this.getEDrillor(selectedRows) //caso particolare, questa azione la può fare l'eDrillor indicato nel plan\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'newreport',\r\n 'Assign',\r\n null,\r\n false,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Assign Report\r\n \r\n ) : null}\r\n\r\n \r\n {this.getReportStatusId(selectedRows[0].id) == 1 //RITM0723662 \r\n && !this.getCompiler(selectedRows) && \r\n (IsInRole(user, 'Administrator') || IsInRole(user, 'Compiler')) ? (\r\n \r\n this.batchActionClick(\r\n 'updatereportcompiler',\r\n 'Assign',\r\n null,\r\n false,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Assign Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Emergency Drill',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getReportStatusId(selectedRows[0].id)\r\n : null,\r\n 'Submit',\r\n this.getEDrillReport(selectedRows)\r\n ) && this.getCompiler(selectedRows) ? (\r\n \r\n this.batchActionClick(\r\n 'submitreport',\r\n 'Submit',\r\n 'Data Approver',\r\n true,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Submit Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Emergency Drill',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getReportStatusId(selectedRows[0].id)\r\n : null,\r\n 'Approve',\r\n this.getEDrillReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'approvereport',\r\n 'Approve',\r\n null, /*RUOLI_APPROVATIVI_DEV_255_RITM0565449*/\r\n false, /*RUOLI_APPROVATIVI_DEV_255_RITM0565449*/\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Approve Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Emergency Drill',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getReportStatusId(selectedRows[0].id)\r\n : null,\r\n 'Consolidate',\r\n this.getEDrillReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'consolidatereport',\r\n 'Consolidate',\r\n null,\r\n false,\r\n false,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Consolidate Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Emergency Drill',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getReportStatusId(selectedRows[0].id)\r\n : null,\r\n 'Reject',\r\n this.getEDrillReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'rejectreport',\r\n 'Reject',\r\n null,\r\n false,\r\n true,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Reject Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Emergency Drill',\r\n 'Reporting',\r\n user,\r\n selectedRows.length > 0\r\n ? this.getReportStatusId(selectedRows[0].id)\r\n : null,\r\n 'RejectConsolidate',\r\n this.getEDrillReport(selectedRows)\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'rejectconsolidatereport',\r\n 'Reject',\r\n null,\r\n false,\r\n true,\r\n selectedRows\r\n )\r\n }\r\n >\r\n Reject Report\r\n \r\n ) : null}\r\n \r\n ) : null}\r\n \r\n \r\n \r\n ) : (\r\n ''\r\n )}\r\n\r\n {this.renderFilters()}\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {headers.map((header) => (\r\n {header.header}\r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {rows == null || rows.length == 0 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n \r\n {this.IsRowSelectable(row, selectedRows, user) ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {row.cells.map((cell) => (\r\n \r\n {this.getCellValue(cell.info, cell.value, row.id)}\r\n \r\n ))}\r\n \r\n
    \r\n \r\n {this.getReportStatusId(row.id) && (\r\n this.DownloadEDrillNotification(row.id)}\r\n />\r\n )}\r\n {this.getReportStatusId(row.id) && (\r\n this.DownloadEDrillReport(row.id)}\r\n />\r\n )}\r\n \r\n {this.getReportStatusId(row.id) && \r\n this.getCompilerById(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 />\r\n\r\n
    \r\n \r\n
    \r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nEDrillMultiSelectDataTable.propTypes = {\r\n eDrills: PropTypes.array.isRequired,\r\n // onNewEDrill: PropTypes.func.isRequired,\r\n onEditEDrill: PropTypes.func.isRequired,\r\n onStatusChange: PropTypes.func.isRequired,\r\n onDelete: PropTypes.func.isRequired,\r\n};\r\n","/* eslint-disable react/jsx-props-no-spreading */\r\n/* eslint-disable react/forbid-prop-types */\r\n/* eslint-disable jsx-a11y/click-events-have-key-events */\r\nimport React, { Component } from 'react';\r\nimport { FormGroup, FormLabel, Button, Form, TextInput } from 'carbon-components-react';\r\nimport { ComboBox } from '../../../helpers/ComboBox';\r\nimport DateTimePicker from '../../../helpers/DateTimePicker';\r\nimport { STATUS, DateFormat } from '../../../helpers/Constants';\r\nimport {api } from '../../../helpers/api/api';\r\nimport Close16 from '@carbon/icons-react/lib/close/16';\r\nimport {\r\n DropdownSkeleton,\r\n} from 'carbon-components-react';\r\n\r\nexport default class DrillReportFilterModal extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.defaultGuid = '00000000-0000-0000-0000-000000000000';\r\n this.weeks = [...Array(53).keys()].map((x) => x + 1 + '');\r\n this.handleSearch = this.handleSearch.bind(this);\r\n this.handleClose = this.handleClose.bind(this);\r\n this.updateState = this.updateState.bind(this);\r\n this.statuses = STATUS;\r\n this.state = {\r\n isLoadingStatus : true,\r\n isLoadingEmergencyLevel : true,\r\n search: {\r\n drillEmergencyLevel: this.props.searchModel?.drillEmergencyLevel || null,\r\n status: this.props.searchModel?.status || null,\r\n\r\n idEmergencyLevel: this.props.searchModel?.idEmergencyLevel || this.defaultGuid,\r\n idStatus: this.props.searchModel?.idStatus || 0,\r\n\r\n code: this.props.searchModel?.code || null,\r\n dateOfOccurence: this.props.searchModel?.dateOfOccurence,\r\n\r\n compilerEmail: this.props.searchModel?.compilerEmail || null,\r\n dataApproverEmail: this.props.searchModel?.dataApproverEmail || null,\r\n divisionManagerEmail: this.props.searchModel?.divisionManagerEmail || null,\r\n isBack: this.props.checkBack,\r\n },\r\n };\r\n }\r\n\r\n componentDidMount(){\r\n this.getStatus();\r\n }\r\n\r\n\r\n getStatus = () => {\r\n api\r\n .getAll('/registry/status?page=0')\r\n .then((response) => {\r\n const { data } = response;\r\n const statusCopy = { ...this.state.search };\r\n statusCopy.status = data ;\r\n console.log(data);\r\n this.setState({\r\n search : statusCopy\r\n }, () => this.getEmergencyLevels());\r\n }).finally(() => {\r\n this.setState({\r\n isLoadingStatus: false,\r\n });\r\n });\r\n };\r\n\r\n getEmergencyLevels = () => {\r\n api\r\n .getAll('drill/emergencyLevel')\r\n .then((response) => {\r\n const { data } = response;\r\n const statusCopy = { ...this.state.search };\r\n statusCopy.drillEmergencyLevel = data ;\r\n console.log(data);\r\n this.setState({\r\n search : statusCopy,\r\n });\r\n }).finally(() => {\r\n this.setState({\r\n isLoadingEmergencyLevel: false,\r\n });\r\n });\r\n };\r\n\r\n handleChangeCombo = (inputName, selectedItem, objName) => {\r\n const inputValue = selectedItem ? selectedItem.id : null;\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n statusCopy.isBack = false;\r\n // statusCopy['selectedItemCombo'][inputName] = selectedItem;\r\n this.setState(statusCopy);\r\n };\r\n\r\n\r\n handleChangeSearch = (el) => {\r\n let inputName = el.target.name;\r\n let inputValue = el.target.value;\r\n this.updateState(inputName, inputValue, 'search');\r\n };\r\n\r\n handleSearch = (e) => {\r\n this.setState({isBack : false,\r\n search : {\r\n status : this.state.search.status.find((el)=> el.id == this.state.search.idStatus),\r\n }\r\n });\r\n this.updateState(\"isBack\", false, 'search');\r\n this.props.onSearch(e, this.state.search);\r\n };\r\n\r\n handleCancel = (e) => {\r\n this.setState({isBack : false});\r\n this.updateState(\"isBack\", false, 'search');\r\n this.props.onCancel(e, this.state.search);\r\n };\r\n\r\n handleClose = (e) => {\r\n this.setState({isBack : false});\r\n this.props.onClose(e, this.state.search);\r\n };\r\n updateState = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy.isBack = false;\r\n statusCopy[objName][inputName] = inputValue;\r\n this.setState(statusCopy);\r\n };\r\n handleChangeCode = (el) => {\r\n const inputName = 'code';\r\n const inputValue = el.target.value;\r\n const objName = 'search';\r\n this.updateState(inputName, inputValue, objName);\r\n };\r\n render() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    Filters

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {this.state.isLoadingStatus ? (\r\n \r\n ) : (\r\n (item ? item.reportingName : '')}\r\n initialSelectedItem={this.state.search.idStatus ? this.state.search.status.find((el)=> el.id == this.state.search.idStatus) : \r\n \"ALL\"\r\n }\r\n items={this.state.search.status?.filter(s => s.id != 3)}\r\n />\r\n )}\r\n \r\n
    \r\n\r\n
    \r\n \r\n {this.state.isLoadingEmergencyLevel ? (\r\n \r\n ) : (\r\n (item ? item.name : '')}\r\n initialSelectedItem={this.state.search.idEmergencyLevel ? this.state.search.drillEmergencyLevel.find((el)=> el.id == this.state.search.idEmergencyLevel) : \r\n \"ALL\"\r\n }\r\n items={this.state.search.drillEmergencyLevel}\r\n />\r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n Email Compiler\r\n \r\n \r\n \r\n Email Data Approver\r\n \r\n \r\n \r\n Email Consolidator\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport {\r\n Loading,\r\n SkeletonText,\r\n Accordion,\r\n AccordionItem,\r\n AccordionProps,\r\n AccordionSkeleton,\r\n Tile,\r\n DatePicker,\r\n DatePickerInput,\r\n Button,\r\n DataTable,\r\n DataTableCell,\r\n Table,\r\n TableHeader,\r\n TableHead,\r\n TableRow,\r\n TableContainer,\r\n TableBody,\r\n TableCell,\r\n InlineLoading,\r\n FormGroup,\r\n MultiSelect,\r\n DropdownSkeleton\r\n} from 'carbon-components-react';\r\nimport moment from 'moment';\r\nimport Save16 from '@carbon/icons-react/lib/save/16';\r\nimport { api, drill, me } from '../../../../helpers/api/api';\r\nimport { IsInRole } from '../../../../helpers/authorization/Policies';\r\nimport { showNotification } from '../../../../helpers/notification/BaseNotification';\r\nimport {\r\n getError,\r\n getSuccess,\r\n apioperation,\r\n entitiesLabels,\r\n DateFormat,\r\n} from '../../../../helpers/Constants';\r\nimport { AppContext } from '../../../../helpers/context/AppContext';\r\nimport { IsEnabled } from '../../../../helpers/authorization/Policies';\r\nimport DrillRepository from '../../../../helpers/api/DrillRepository';\r\nimport DateTimePicker from '../../../../helpers/DateTimePicker';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\n\r\nexport class DrillReportInformation extends Component {\r\n currentDate = moment().format('YYYY-MM-DD');\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator();\r\n this.state = {\r\n isSubmitted: false,\r\n editingDisabled: false,\r\n drillReport: {},\r\n isLoadingProject: false,\r\n appAllWorksitePrj: null,\r\n projects: this.props.drillReport?.projects || [],\r\n dateOfOccurence: this.props.drillReport?.deliveryDate,\r\n isProjectsLoaded: false,\r\n };\r\n\r\n // this.onStartDateChange = this.onStartDateChange.bind(this);\r\n this.getAllProjects = this.getAllProjects.bind(this);\r\n this.updateMainInformation = this.updateMainInformation.bind(this);\r\n this.renderLoadingModal = this.renderLoadingModal.bind(this);\r\n this.getWorksitePrjFiltered = this.getWorksitePrjFiltered.bind(this);\r\n this.getSelectedProjects = this.getSelectedProjects.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.getAllProjects();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.drillReport?.projects !== this.props.drillReport?.projects) {\r\n this.setState({ projects : this.props.drillReport?.projects,\r\n dateOfOccurence : this.props.drillReport?.deliveryDate == '0001-01-01T00:00:00Z'? null : this.props.drillReport?.deliveryDate,\r\n isProjectsLoaded : true\r\n });\r\n }\r\n }\r\n\r\n getAllProjects = () => {\r\n this.setState({\r\n isLoadingProject: true,\r\n });\r\n api\r\n .getAll('/me/worksitesproject')\r\n .then((response) => {\r\n this.setState({\r\n appAllWorksitePrj: response.data.filter(a => a.end >= this.currentDate)\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.PROJECT, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingProject: false,\r\n });\r\n });\r\n };\r\n\r\n renderLoadingModal = () => {\r\n const show = this.state.isSubmitted;\r\n return show && ;\r\n };\r\n\r\n getWorksitePrjFiltered() {\r\n if (this.props.drillReport?.drillPlan?.idWorkSite != null) {\r\n const data = (this.state.appAllWorksitePrj || []).filter((el) => el.idWorkSite == this.props.drillReport?.drillPlan?.idWorkSite);\r\n return data;\r\n }\r\n return this.state.appAllWorksitePrj;\r\n }\r\n\r\n getSelectedProjects = (listProject) => {\r\n console.log('SELEcted .. ', this.state.isLoadingProject, this.state.projects, this.props.drillReport);\r\n const drillPlanPrjs = this.props.drillReport?.projects || []\r\n\r\n let selectedProjects = listProject.filter(({ idProject: idProject }) => drillPlanPrjs.some(({ id: idSelected, idProject: idProjectSelected }) => idProject === idSelected || idProject === idProjectSelected))\r\n return selectedProjects\r\n };\r\n\r\n updateMainInformation = async () => {\r\n try {\r\n if (this.validator.allValid()) {\r\n this.setState({ isSubmitted: true, editingDisabled: true });\r\n\r\n await api.put('/drill/maininformation', {\r\n ...this.props.drillReport,\r\n projects: this.state.projects,\r\n drillReportProjects: this.state.projects.map(key => {\r\n return { IdDrillReport: this.props.drillReport?.id, IdDrillPlan: this.props.drillReport?.idDrillPlan, IdProject: key.idProject ? key.idProject : key.id };\r\n }),\r\n });\r\n\r\n const drillReport = this.props.drillReport;\r\n drillReport.projects = this.state.projects;\r\n drillReport.drillReportProjects = this.state.projects.map(key => {\r\n return { IdDrillReport: this.props.drillReport?.id, IdDrillPlan: this.props.drillReport?.idDrillPlan, IdProject: key.idProject ? key.idProject : key.id };\r\n })\r\n DrillRepository.updateCachedDrill(drillReport);\r\n \r\n showNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.EMERGENCYDRILL, apioperation.PUT));\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`,\r\n ` ${entitiesLabels.NOTIFICATION} required fields are missing `\r\n );\r\n\r\n this.forceUpdate();\r\n }\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(entitiesLabels.EMERGENCYDRILL, apioperation.PUT));\r\n } finally {\r\n this.setState({ isSubmitted: false, editingDisabled: false });\r\n }\r\n };\r\n\r\n updateStateDP = (inputName, inputValue, objName) => {\r\n var drillReport = this.props.drillReport;\r\n\r\n drillReport.deliveryDate = inputValue;\r\n\r\n this.setState({\r\n dateOfOccurence: drillReport.deliveryDate,\r\n });\r\n return { drillReport };\r\n };\r\n // onStartDateChange(e) {\r\n\r\n // let value = e.target.value;\r\n\r\n // var drillReport = this.props.drillReport;\r\n\r\n // drillReport.deliveryDate = moment(e[0]).format(\"YYYY-MM-DD, h:mm:ss a\");\r\n\r\n // return { drillReport };\r\n // }\r\n\r\n renderMainInformationTitle = () => {\r\n return (\r\n <>\r\n {this.props.is4ASingleReport ? (\r\n <>\r\n
    \r\n
    \r\n General Information\r\n
    \r\n
    \r\n \r\n ) : (\r\n ''\r\n )}\r\n\r\n
    \r\n
    \r\n {/* RITM0945977 */}\r\n {/* Division */}\r\n Business Line\r\n
    \r\n
    \r\n {this.props.tabsLoading ? (\r\n \r\n ) : (\r\n {this.props.drillReport?.division?.name}\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n WorkSite\r\n
    \r\n
    \r\n {this.props.tabsLoading ? (\r\n \r\n ) : (\r\n {this.props.drillReport?.workSite?.name}\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Drill Type\r\n
    \r\n
    \r\n {this.props.tabsLoading ? (\r\n \r\n ) : (\r\n {this.props.drillReport?.drillType?.name}\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n };\r\n\r\n render() {\r\n const listProject = this.props.drillReport?.drillPlan?.idWorkSite\r\n ? this.getWorksitePrjFiltered()\r\n : [];\r\n const validations = {\r\n date: this.validator.message('dateOfOccurence', this.state.dateOfOccurence, 'required'),\r\n project: this.validator.message('project', this.state.projects[0], 'required'),\r\n };\r\n\r\n return this.props.drillReport ? (\r\n \r\n {({ user }) =>\r\n IsEnabled(user, 'Emergency Drill') ? (\r\n <>\r\n {this.state.mainInformationOpened ? (\r\n General Informations\r\n ) : (\r\n
    \r\n {this.renderLoadingModal()}\r\n \r\n \r\n {!this.props.tabsLoading ? (\r\n <>\r\n {this.props.is4ASingleReport &&\r\n (\r\n
    \r\n
    Drill Report Code
    \r\n
    \r\n {this.props.drillReport?.drillReportCode}\r\n
    \r\n
    \r\n
    )\r\n }\r\n \r\n
    \r\n
    Company
    \r\n
    \r\n {this.props.drillReport?.company?.name}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    Projects {this.props.is4ASingleReport? \"*\" : '' }
    \r\n
    \r\n {!this.props.is4ASingleReport ?\r\n this.props.drillReport?.drillPlan?.projects?.map((x) => x?.name).join(',') :\r\n \r\n {\r\n this.state.isLoadingProject || !this.state.isProjectsLoaded ? (\r\n \r\n ) : (\r\n (item ? item.project : '')}\r\n initialSelectedItems={\r\n this.getSelectedProjects(listProject)\r\n }\r\n onChange={(prjs) => {\r\n this.setState({ projects: prjs.selectedItems || [] })\r\n const drillReport = this.props.drillReport;\r\n drillReport.projects = prjs.selectedItems;\r\n drillReport.drillReportProjects = prjs.selectedItems.map(key => {\r\n return { IdDrillReport: this.props.drillReport?.id, IdDrillPlan: this.props.drillReport?.idDrillPlan, IdProject: key.idProject ? key.idProject : key.id };\r\n })\r\n }\r\n }\r\n selectionFeedback=\"top-after-reopen\"\r\n disabled={this.props.disabled || this.props.isSendedNotification}\r\n invalid={validations.project != null}\r\n />\r\n )}\r\n {this.state.isProjectsLoaded && this.props.isSendedNotification ?\r\n

    {(this.state.projects.map(item => item.name ? item.name : item.project).sort()).join(\", \")}

    \r\n : null\r\n }\r\n {validations.project}\r\n
    \r\n }\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    Drill Type Detail
    \r\n
    \r\n {this.props.drillReport?.drillTypeDetail?.name}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    Participant
    \r\n
    \r\n {this.props.drillReport?.participant?.name}\r\n
    \r\n
    \r\n
    \r\n {this.props.is4ASingleReport ? (\r\n <>\r\n \r\n
    \r\n
    Planned Week
    \r\n
    \r\n {this.props.drillReport?.plannedWeekWithDate}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Date of DRILL Execution*\r\n
    \r\n \r\n \r\n {validations.date}\r\n \r\n {/* \r\n \r\n */}\r\n
    \r\n {!this.props.disabled ? (\r\n
    \r\n {(IsInRole(user, 'Administrator') ||\r\n IsInRole(user, 'Compiler')) && (\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
    Planned Year
    \r\n
    \r\n {this.props.drillReport?.referenceYear}\r\n
    \r\n
    \r\n
    \r\n \r\n )}\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n )}\r\n \r\n ) : (\r\n ''\r\n )\r\n }\r\n
    \r\n ) : (\r\n <>\r\n );\r\n }\r\n}\r\n","/* eslint-disable jsx-a11y/click-events-have-key-events */\r\nimport React, { Component } from \"react\";\r\nimport \"../../../scss/custom.scss\";\r\nimport {\r\n DataTableSkeleton,\r\n Dropdown,\r\n Button,\r\n TableToolbar,\r\n Loading\r\n} from \"carbon-components-react\";\r\nimport DrillReportMultiSelectDataTable from \"./DrillReportMultiSelectDataTable\";\r\nimport { api, drill } from \"../../../helpers/api/api\";\r\nimport { showNotification } from \"../../../helpers/notification/BaseNotification\";\r\nimport { AppContext } from \"../../../helpers/context/AppContext\";\r\nimport { IsEnabled } from \"../../../helpers/authorization/Policies\";\r\nimport PageBreadCrumb from \"../../../helpers/PageBreadCrumb\";\r\nimport { InspectionMonthHeader } from \"../../inspection/common/InspectionMonthHeader\";\r\nimport Add16 from \"@carbon/icons-react/lib/add/16\";\r\nimport Data16 from \"@carbon/icons-react/lib/data--1/16\";\r\nimport { IsInRole } from \"../../../helpers/authorization/Policies\";\r\nimport { Calendar16 } from \"@carbon/icons-react\";\r\nimport DrillReportFilterModal from \"./DrillReportFilterModal\";\r\nimport DrillRepository from '../../../helpers/api/DrillRepository';\r\nimport moment from \"moment\";\r\nimport {\r\n getError,\r\n entitiesLabels,\r\n apioperation,\r\n getSuccess,\r\n} from \"../../../helpers/Constants\";\r\nimport { DrillReportInformation } from \"./reportDetails/DrillReportInformation\";\r\nimport { CalendarSkeleton } from '../../inspection/inspectionReport/common/CalendarSkeleton';\r\nimport { EDLegendTable } from \"../EDLegendTable\";\r\nimport { LegendType} from '../common/EDLegendType';\r\n\r\n\r\nexport default class DrillReportList extends Component {\r\n searchProp = () => ({\r\n entityInfo: {\r\n id: null,\r\n idDrillPlan: this.props.match.params?.id,\r\n\r\n idEmergencyLevel: null,\r\n idStatus: null,\r\n\r\n drillEmergencyLevel: null,\r\n status: null,\r\n code: null,\r\n dateOfOccurence: null,\r\n dataApproverEmail: null,\r\n compilerEmail: null,\r\n divisionManager: null,\r\n },\r\n calendarInfo: {\r\n plannedWeeks: [],\r\n referenceYear: new Date().getFullYear(),\r\n monthNumbers: [],\r\n },\r\n });\r\n\r\n constructor(props) {\r\n super(props);\r\n this.year = new Date().getFullYear();\r\n this.showAddDrillReport = this.showAddDrillReport.bind(this);\r\n this.showEditDrillReport = this.showEditDrillReport.bind(this);\r\n this.buildFilter = this.buildFilter.bind(this);\r\n this.newDrillReportAdded = this.newDrillReportAdded.bind(this);\r\n this.eDrillUpdated = this.eDrillUpdated.bind(this);\r\n this.applyFilters = this.applyFilters.bind(this);\r\n this.refreshData = this.refreshData.bind(this);\r\n this.toogleCalendar = this.toogleCalendar.bind(this);\r\n this.toogleFilterModal = this.toogleFilterModal.bind(this);\r\n this.handleChangePaging = this.handleChangePaging.bind(this);\r\n this.filterByWeek = this.filterByWeek.bind(this);\r\n this.filterByMonths = this.filterByMonths.bind(this);\r\n \r\n\r\n this.state = {\r\n monthsSelected:[],\r\n idDrillReport: null,\r\n eDrillToModify: null,\r\n items: [],\r\n originalItems: [],\r\n modalDrillReportVisible: false,\r\n calendar: [],\r\n isOpenCalendar: true,\r\n isBack: this.props.history.action === 'POP' || this.props.location.search === '?isBack' ? true : false,\r\n\r\n //filter\r\n isOpenSearchForm: false,\r\n years: [],\r\n searchModel: {\r\n ...this.searchProp(),\r\n entityInfo: {\r\n ...this.searchProp.entityInfo,\r\n idDrillPlan: this.props.match.params?.id ,\r\n },\r\n needToChange: true,\r\n },\r\n\r\n //pagination\r\n paginationInfo: {\r\n currentPage: 1,\r\n pageSize: 10,\r\n rowCount: 0,\r\n },\r\n\r\n // loading\r\n isLoadingTable: false,\r\n isLoadingCalendar: false,\r\n tabsLoading: true,\r\n };\r\n\r\n this.year = new Date().getFullYear();\r\n this.month = new Date().getMonth();\r\n this.weeks = moment().weeks();\r\n }\r\n\r\n //************* API ************* START\r\n getItems = async () => {\r\n let items = [];\r\n try {\r\n this.getCalendar();\r\n //items = (await api.getAll(`/drillReport`)).data;\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, \"loading Drill Report\", \"ERROR\"));\r\n }\r\n return items;\r\n };\r\n //************* API ************* END\r\n\r\n //************* HOOKS ************* START\r\n async componentDidMount() {\r\n this.setState({ loading: true, tabsLoading: true });\r\n const items = await this.getItems();\r\n this.setState({\r\n items,\r\n originalItems: items,\r\n loading: false,\r\n tabsLoading: false,\r\n });\r\n }\r\n //************* HOOKS ************* END\r\n\r\n onDelete = async (items) => {\r\n this.setState(\r\n (prevState) => ({\r\n originalItems: prevState.originalItems.filter((item) => {\r\n const deletedId = items.map((filter) => filter.id);\r\n const itemId = item.id;\r\n return !deletedId.includes(itemId);\r\n }),\r\n }),\r\n () => {\r\n this.setState((state) => ({\r\n items: this.buildFilter(state.originalItems, null, null),\r\n }));\r\n }\r\n );\r\n };\r\n\r\n buildFilter = (items, filters) => {\r\n let filteredItems =\r\n filters !== null\r\n ? items.filter((item) => this.checkItem(item, filters))\r\n : items;\r\n this.setState(() => ({\r\n items: filteredItems,\r\n }));\r\n return filteredItems;\r\n };\r\n\r\n checkItem = (item, filters) => {\r\n for (var prop in filters) {\r\n if (Object.prototype.hasOwnProperty.call(filters, prop)) {\r\n if (\r\n typeof filters[prop] !== \"object\" &&\r\n filters[prop] != \"\" &&\r\n filters[prop] != null &&\r\n filters[prop] != item[prop]\r\n )\r\n return false;\r\n\r\n if (\r\n Array.isArray(filters[prop]) &&\r\n JSON.stringify(filters[prop]) != JSON.stringify(item[prop])\r\n )\r\n return false;\r\n else if (filters[prop] != null && item[prop].name != filters[prop].name)\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n\r\n applyFilters = (filters, apply) => {\r\n this.setState((state) => ({\r\n items: this.buildFilter(state.originalItems, apply ? filters : null),\r\n }));\r\n };\r\n\r\n showAddDrillReport() {\r\n this.setState((oldState) => ({\r\n modalDrillReportVisible: !oldState.modalDrillReportVisible,\r\n eDrillToModify: null,\r\n }));\r\n }\r\n\r\n showEditDrillReport(row) {\r\n this.setState((oldState) => ({\r\n modalDrillReportVisible: !oldState.modalDrillReportVisible,\r\n eDrillToModify: oldState.items.find((item) => item.id === row.id),\r\n }));\r\n }\r\n\r\n newDrillReportAdded(item) {\r\n this.setState(\r\n (prevState) => ({ originalItems: prevState.originalItems.concat(item) }),\r\n () => {\r\n this.setState((state) => ({\r\n items: this.buildFilter(state.originalItems, null, null),\r\n modalDrillReportVisible: !state.modalDrillReportVisible,\r\n searchModel: {\r\n ...this.state.searchModel,\r\n needToChange: true,\r\n },\r\n }));\r\n }\r\n );\r\n\r\n this.getCalendar();\r\n }\r\n\r\n async refreshData() {\r\n this.setState({\r\n loading: true,\r\n searchModel: {\r\n ...this.state.searchModel,\r\n needToChange: true,\r\n },\r\n });\r\n this.getCalendar();\r\n }\r\n\r\n eDrillUpdated(eDrillPlan) {\r\n const itemList = this.state.originalItems.filter(\r\n (item) => item.id !== eDrillPlan.id\r\n );\r\n itemList.unshift(eDrillPlan);\r\n\r\n this.setState((state) => ({\r\n originalItems: itemList,\r\n items: this.buildFilter(itemList, null, null),\r\n modalDrillReportVisible: !state.modalDrillReportVisible,\r\n searchModel: {\r\n ...this.state.searchModel,\r\n needToChange: true,\r\n },\r\n }));\r\n\r\n this.getCalendar();\r\n }\r\n\r\n // *************** FILTERS *************** START\r\n\r\n toogleFilterModal(e) {\r\n \r\n e.preventDefault();\r\n this.setState((oldState) => ({\r\n isOpenSearchForm: !oldState.isOpenSearchForm,\r\n }));\r\n }\r\n\r\n searchDrills = (e, currentSearchModal) => {\r\n \r\n e.preventDefault();\r\n const infoFilter = currentSearchModal;\r\n console.log(infoFilter);\r\n this.toogleFilterModal(e);\r\n this.setState(\r\n {\r\n isBack : currentSearchModal.isBack,\r\n searchModel: {\r\n ...this.state.searchModel,\r\n entityInfo: { ...currentSearchModal,\r\n idDrillPlan: this.props.match.params?.id,\r\n idEmergencyLevel: currentSearchModal.idEmergencyLevel,\r\n idStatus: currentSearchModal.idStatus,\r\n drillEmergencyLevel: currentSearchModal.drillEmergencyLevel,\r\n status: currentSearchModal.status,\r\n code: currentSearchModal.code,\r\n dateOfOccurence: currentSearchModal.dateOfOccurence,\r\n dataApproverEmail : currentSearchModal.dataApproverEmail,\r\n compilerEmail : currentSearchModal.compilerEmail,\r\n divisionManager : currentSearchModal.divisionManagerEmail,\r\n },\r\n calendarInfo : {\r\n plannedWeeks: [],\r\n monthNumbers: [],\r\n referenceYear : this.state.searchModel.calendarInfo?.referenceYear,\r\n },\r\n needToChange: true,\r\n },\r\n calendar : [],\r\n },\r\n () => {\r\n this.getCalendar({ page: 1 });\r\n }\r\n );\r\n };\r\n\r\n cancelFilters = (e, currentSearchModal) => {\r\n e.preventDefault();\r\n this.toogleFilterModal(e);\r\n this.setState(\r\n {\r\n isBack : currentSearchModal.isBack,\r\n searchModel: {\r\n ...this.searchProp(),\r\n needToChange: true,\r\n },\r\n calendar : [],\r\n },\r\n () => {\r\n this.getCalendar({ page: 1 });\r\n }\r\n );\r\n };\r\n\r\n closeFilters = (e) => {\r\n this.toogleFilterModal(e);\r\n };\r\n\r\n handleChangePaging = (event) => {\r\n this.setState({\r\n paginationInfo: {\r\n currentPage: event.currentPage,\r\n pageSize: event.pageSize,\r\n page: event.page,\r\n rowCount: event.rowCount,\r\n },\r\n searchModel: {\r\n ...this.state.searchModel,\r\n needToChange: false\r\n },\r\n });\r\n this.getCalendar(event);\r\n };\r\n // *************** FILTERS *************** END\r\n\r\n // *************** CALENDAR *************** START\r\n\r\n toogleCalendar() {\r\n this.setState((oldState) => ({ isOpenCalendar: !oldState.isOpenCalendar }));\r\n }\r\n\r\n getCalendar = async(param) => {\r\n var data = null;\r\n var toFilter = null;\r\n this.setState({\r\n isLoadingTable: true,\r\n });\r\n if (!this.state.isBack) {\r\n data = {\r\n params: {\r\n ...this.state.searchModel?.calendarInfo,\r\n ...this.state.searchModel?.entityInfo,\r\n idDrillPlan: this.props.match.params?.id,\r\n page:\r\n param && param.page\r\n ? param.page\r\n : this.state.paginationInfo?.currentPage,\r\n pageSize:\r\n param && param.pageSize\r\n ? param.pageSize\r\n : this.state.paginationInfo?.pageSize,\r\n plannedWeeks: this.state.searchModel.calendarInfo?.plannedWeeks?.join(\r\n \",\"\r\n ),\r\n monthNumbers: this.state.searchModel.calendarInfo?.monthNumbers?.join(\r\n \",\"\r\n ),\r\n needToChange: this.state.searchModel.needToChange,\r\n },\r\n };\r\n } else {\r\n let filter = await DrillRepository.getReportBackPaged();\r\n data = {\r\n params: {\r\n ...filter.searchModel?.calendarInfo,\r\n ...filter.searchModel?.entityInfo,\r\n idDrillPlan: this.props.match.params?.id,\r\n page:\r\n param && param.page\r\n ? param.page\r\n : this.state.paginationInfo?.currentPage,\r\n pageSize:\r\n param && param.pageSize\r\n ? param.pageSize\r\n : this.state.paginationInfo?.pageSize,\r\n plannedWeeks: filter.searchModel.calendarInfo?.plannedWeeks?.join(\r\n \",\"\r\n ),\r\n monthNumbers: filter.searchModel.calendarInfo?.monthNumbers?.join(\r\n \",\"\r\n ),\r\n needToChange: filter.calendar.length > 0 ? false : true,\r\n },\r\n };\r\n this.setState({\r\n searchModel: filter?.searchModel,\r\n calendar: filter.calendar,\r\n needToChange: filter.calendar.length > 0 ? false : true,\r\n isBack : false,\r\n });\r\n }\r\n this.getDrillReportFilter(data);\r\n}\r\n\r\ngetDrillReportFilter(filter){\r\n drill\r\n .getReportCalendar(filter)\r\n .then((response) => {\r\n var data = response.data;\r\n\r\n var filterToCache ={\r\n searchModel: {\r\n calendarInfo : this.state.searchModel?.calendarInfo,\r\n entityInfo : this.state.searchModel?.entityInfo,\r\n needToChange: false,\r\n },\r\n calendar : this.state.calendar\r\n }\r\n DrillRepository.updateReportDrillFilter(filterToCache);\r\n this.setState({\r\n searchModel: { ...this.state.searchModel, needToChange: false },\r\n paginationInfo: {\r\n currentPage: data.currentPage,\r\n pageSize: data.pageSize,\r\n page: data.page,\r\n rowCount: data.rowCount,\r\n },\r\n calendar: data.events?.fourMonthsList || this.state.calendar,\r\n items: data.itemList || this.state.items,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.DrillReport, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingTable: false,\r\n isLoadingCalendar: false,\r\n });\r\n });\r\n }\r\n\r\n filterByWeek = (weekNumber) => {\r\n this.setState({isBack : false});\r\n let year;\r\n try {\r\n year = this.state.searchModel.calendarInfo?.referenceYear;\r\n let statusCopy = Object.assign({}, this.state);\r\n statusCopy.searchModel.calendarInfo.referenceYear = year;\r\n statusCopy.isBack = false;\r\n\r\n const index = statusCopy.searchModel.calendarInfo.plannedWeeks.indexOf(\r\n weekNumber\r\n );\r\n if (index > -1)\r\n statusCopy.searchModel.calendarInfo.plannedWeeks.splice(index, 1);\r\n else statusCopy.searchModel.calendarInfo.plannedWeeks.push(weekNumber);\r\n\r\n statusCopy.searchModel.needToChange = false;\r\n statusCopy.isBack = false;\r\n statusCopy.isfilterByWeek = true;\r\n this.setState(statusCopy);\r\n this.getCalendar({ page: 1 });\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.DrillReport, apioperation.GET)\r\n );\r\n } finally {\r\n }\r\n };\r\n filterByMonths = (month) => {\r\n let year;\r\n this.setState({isBack : false});\r\n try {\r\n year = this.state.searchModel.calendarInfo.referenceYear;\r\n let statusCopy = Object.assign({}, this.state);\r\n statusCopy.searchModel.calendarInfo.referenceYear = year;\r\n const index = statusCopy.searchModel.calendarInfo.monthNumbers.indexOf(\r\n month.monthsNumber\r\n );\r\n if (index > -1)\r\n statusCopy.searchModel.calendarInfo.monthNumbers.splice(index, 1);\r\n else\r\n statusCopy.searchModel.calendarInfo.monthNumbers.push(\r\n month.monthsNumber\r\n );\r\n\r\n statusCopy.searchModel.needToChange = false;\r\n statusCopy.isBack = false;\r\n statusCopy.isfilterByWeek = true;\r\n this.setState(statusCopy);\r\n this.getCalendar({ page: 1 });\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.DrillReport, apioperation.GET)\r\n );\r\n } finally {\r\n }\r\n };\r\n\r\n // *************** CALENDAR *************** END\r\n\r\n render() {\r\n const skeletonRowCount =\r\n this.state.rowCount > 0 && this.state.pageSize > this.state.rowCount\r\n ? this.state.rowCount\r\n : this.state.pageSize;\r\n return (\r\n \r\n {({ user }) =>\r\n IsEnabled(user, \"Emergency Drill\") ? (\r\n <>\r\n 0\r\n ? this.state.items[0].drillPlan?.drillCode\r\n : \"\"\r\n }`}\r\n titleCenter=\"Drill Report List\"\r\n //titleRight={}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {/*CALENDAR*/}\r\n \r\n {this.state.searchModel.needToChange ? (\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n ) : (\r\n \r\n \r\n
    \r\n )}\r\n
    \r\n\r\n
    \r\n {this.state.isOpenSearchForm ? (\r\n \r\n ) : null}\r\n {this.state.isLoadingTable ? (\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","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport {\r\n Button,\r\n DataTable,\r\n TableContainer,\r\n TableToolbar,\r\n Table,\r\n TableHead,\r\n TableBody,\r\n TableRow,\r\n TableHeader,\r\n TableCell,\r\n TableToolbarContent,\r\n Tile,\r\n } from 'carbon-components-react';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport Add16 from '@carbon/icons-react/lib/add/16';\r\nimport { NoRecordsPlaceholder } from '../../../../../helpers/jsonschemaform/DataTableExtention';\r\nimport moment from 'moment';\r\n\r\nconst Timeline = ({timelineHeader, dataRows, timelineTblTitle, editingDisabled, validationTimelines, handleNewElementModal, handleDeleteElementModal}) => {\r\n\r\n return (\r\n \r\n (\r\n \r\n \r\n \r\n
    \r\n
    {timelineTblTitle}
    \r\n
    \r\n
    \r\n {!editingDisabled ? (\r\n handleNewElementModal()}\r\n kind=\"primary\"\r\n renderIcon={Add16}\r\n disabled={editingDisabled}\r\n iconDescription=\"\"\r\n >\r\n Add New Activity\r\n \r\n ) : (\r\n ''\r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {timelineHeader.map((header) => (\r\n {header.header}\r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {!rows || rows.length < 1 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n {row.cells.map((cell) => (\r\n \r\n {cell.info.header.includes('date')\r\n ? moment(cell.value).format('DD/MM/YYYY')\r\n : cell.info.header.includes('workSite')\r\n ? cell.value?.name || 'N/A'\r\n : cell.value}\r\n \r\n ))}\r\n \r\n
    \r\n handleNewElementModal(row.id)}\r\n size=\"small\"\r\n renderIcon={Edit16}\r\n iconDescription=\"Edit\"\r\n kind=\"ghost\"\r\n disabled={editingDisabled}\r\n />\r\n handleDeleteElementModal(row.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n disabled={editingDisabled}\r\n />\r\n
    \r\n
    \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n
    \r\n )}\r\n />\r\n {validationTimelines}\r\n
    \r\n );\r\n\r\n};\r\n\r\nTimeline.propTypes = {\r\n timelineHeader : PropTypes.array.isRequired,\r\n dataRows : PropTypes.array,\r\n timelineTblTitle: PropTypes.string.isRequired,\r\n editingDisabled : PropTypes.bool,\r\n validationTimelines : PropTypes.func.isRequired,\r\n handleNewElementModal : PropTypes.func.isRequired,\r\n handleDeleteElementModal : PropTypes.func.isRequired\r\n}\r\n\r\nexport default Timeline;","import PropTypes from 'prop-types';\r\nimport React, { useState, useEffect, useRef } from 'react';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport {\r\n FormGroup,\r\n TextArea,\r\n Button,\r\n} from 'carbon-components-react';\r\nimport Close16 from '@carbon/icons-react/lib/close/16';\r\nimport DateTimePicker from '../../../../helpers/DateTimePicker';\r\n\r\nconst NewElementTimelineModal = ({modalNewElementVisible, handleNewElementModal, selectedTimeline, editingDisabled, onSubmitElementTimeline}) => {\r\n const [timelineActive, setTimelineActive] = useState(selectedTimeline);\r\n const [flagTime, setFlagTime] = useState(false);\r\n const [, forceUpdate] = useState();\r\n\r\n useEffect(() => {setTimelineActive(selectedTimeline);}, [selectedTimeline]);\r\n \r\n const validatorTime = useRef(new SimpleReactValidator({ locale: 'en' }));\r\n const validator = useRef(new SimpleReactValidator({ locale: 'en' }));\r\n const validationModal = {\r\n activity: validator.current.message(\r\n 'activityDescription',\r\n timelineActive?.activityDescription,\r\n 'required'\r\n ),\r\n from: validator.current.message('timeFrom', timelineActive?.timeFrom, 'required'),\r\n };\r\n \r\n const onTimeFromChanged = (inputName, inputValue, objName) => {\r\n if (inputValue === false ) {\r\n setFlagTime(true);\r\n if (!validatorTime.current.allValid()) {\r\n forceUpdate(1);\r\n }\r\n } \r\n else {\r\n setFlagTime(false);\r\n setTimelineActive(prevState => ({...prevState, timeFrom : inputValue}));\r\n }\r\n };\r\n\r\n const onActivityChanged = (event) => {\r\n event.preventDefault();\r\n const { value } = event.currentTarget;\r\n setTimelineActive(prevState => ({...prevState, activityDescription : value}));\r\n }\r\n\r\n const onRemarksChanged = (event) => {\r\n event.preventDefault();\r\n const { value } = event.currentTarget;\r\n setTimelineActive(prevState => ({...prevState, remarks : value}));\r\n }\r\n\r\n const onFormSubmit = (event) => {\r\n event.preventDefault();\r\n if (validator.current.allValid()) {\r\n setFlagTime(false);\r\n onSubmitElementTimeline(timelineActive);\r\n }\r\n else {\r\n validator.current.showMessages();\r\n forceUpdate(1);\r\n }\r\n }\r\n\r\n const onFormCancel = (event) => {\r\n event.preventDefault();\r\n /*\r\n validator.current.hideMessages();\r\n forceUpdate(1);\r\n */\r\n handleNewElementModal();\r\n }\r\n\r\n return (\r\n\r\n\r\n modalNewElementVisible && (\r\n
    \r\n
    \r\n
    \r\n

    Add New Activity

    \r\n onFormCancel(e)}\r\n iconDescription=\"Close Window\"\r\n />\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {validationModal.from ? (\r\n
    Field required or invalid time format
    \r\n ) : null }\r\n {flagTime ? (
    Invalid time format
    ) : null}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n onActivityChanged(e)}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n onRemarksChanged(e)}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n onFormCancel(e)}\r\n >\r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n );\r\n };\r\n\r\n NewElementTimelineModal.propTypes = {\r\n modalNewElementVisible : PropTypes.bool.isRequired, \r\n handleNewElementModal : PropTypes.func.isRequired, \r\n selectedTimeline : PropTypes.shape({\r\n timeFrom : PropTypes.string,\r\n activityDescription : PropTypes.string,\r\n remarks : PropTypes.string\r\n }), \r\n editingDisabled: PropTypes.bool.isRequired, \r\n onSubmitElementTimeline : PropTypes.func.isRequired\r\n }\r\n\r\n export default NewElementTimelineModal;","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport {\r\n Button\r\n } from 'carbon-components-react';\r\nimport Close16 from '@carbon/icons-react/lib/close/16';\r\n\r\nconst DeleteElementTimelineModal = ({modalDeleteVisible, modalTitle, confirmationMessage, handleDeleteModal, onElementDelete}) => {\r\nreturn (\r\n modalDeleteVisible && (\r\n
    \r\n
    \r\n
    \r\n

    {modalTitle}

    \r\n handleDeleteModal()}\r\n iconDescription=\"\"\r\n />\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    {confirmationMessage}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n handleDeleteModal()}\r\n >\r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n );\r\n}\r\n\r\nDeleteElementTimelineModal.propTypes = {\r\n modalDeleteVisible : PropTypes.bool.isRequired,\r\n modalTitle : PropTypes.string.isRequired,\r\n confirmationMessage : PropTypes.string.isRequired,\r\n handleDeleteModal : PropTypes.func.isRequired,\r\n onElementDelete : PropTypes.func.isRequired,\r\n}\r\n\r\nexport default DeleteElementTimelineModal;","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n FormLabel,\r\n TextInput,\r\n RadioButtonGroup,\r\n RadioButton,\r\n Button,\r\n InlineLoading,\r\n Tile,\r\n FormGroup,\r\n TableContainer,\r\n Table,\r\n TableHead,\r\n TableRow,\r\n TableHeader,\r\n TableBody,\r\n TableCell,\r\n TextArea,\r\n ComboBox,\r\n MultiSelect,\r\n} from 'carbon-components-react';\r\nimport View16 from '@carbon/icons-react/lib/view/16';\r\nimport Save16 from '@carbon/icons-react/lib/save/16';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport Close16 from '@carbon/icons-react/lib/close/16';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport moment from 'moment';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { showNotification } from '../../../../helpers/notification/BaseNotification';\r\nimport { getError, apioperation, entitiesLabels, sizeFormat } from '../../../../helpers/Constants';\r\nimport FileUpload from '../../../common/FileUpload';\r\nimport { NoRecordsPlaceholder } from '../../../../helpers/jsonschemaform/DataTableExtention';\r\nimport DownLoadButton from '../../../common/FileDownloadButton';\r\nimport { Online, Offline } from '../../../common/OnLineOffLine';\r\nimport Timeline from './common/Timeline';\r\nimport NewElementTimelineModal from './NewElementTimelineModal';\r\nimport DeleteElementTimelineModal from './common/DeleteElementTimelineModal';\r\n\r\nexport class DrillReportDetail extends Component {\r\n // reportDetail = {\r\n // id: null,\r\n // idDrillEmergencyLevel: null,\r\n // idUnitsInvolved: null,\r\n // idLightCondition: null,\r\n // idSeaCondition: null,\r\n // idWeatherCondition: null,\r\n // lcuReference: null,\r\n // temperature: null,\r\n // windSpeed: null,\r\n // equipmentUsed: null,\r\n // poB_BOS: null,\r\n // pointsOfStrength: null,\r\n // notes: null,\r\n // overallAssessmentNote: null,\r\n // isSatisfactory: null,\r\n // scenarioDescription: null,\r\n // referenceProcedure: null,\r\n\r\n // drillEmergencyLevel: null,\r\n // weatherCondition: null,\r\n // seaCondition: null,\r\n // lightCondition: null,\r\n // unitsInvolved: null\r\n // };\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n drillReport: this.props.drillReport,\r\n // drillReport: {\r\n // ...this.props.drillReport,\r\n // unitsInvolved:\r\n // this.props.drillReport.unitsInvolved == undefined\r\n // ? []\r\n // : this.props.drillReport.unitsInvolved,\r\n // },\r\n modalDeleteAttachmentVisible: false,\r\n modalNewElementTimelineVisible: false,\r\n modalDeleteElementTimelineVisible: false,\r\n selectedElementTimeline: null,\r\n selectedAttachment: null,\r\n filterunitsInvolved: [],\r\n flagItemsUI: false,\r\n };\r\n this.updateParent1 = null;\r\n console.log(\"DrillReportDetail.costructor: genNotesStrengthPoints: \" + this.props?.drillReport?.genNotesStrengthPoints);\r\n this.handleDeleteAttachmentModalVisibility = this.handleDeleteAttachmentModalVisibility.bind(\r\n this\r\n );\r\n this.handleNewElementTimelineVisibility = this.handleNewElementTimelineVisibility.bind(this);\r\n this.onElementTimelineSubmit = this.onElementTimelineSubmit.bind(this);\r\n this.handleDeleteElementTimelineVisibility = \r\n this.handleDeleteElementTimelineVisibility.bind(this);\r\n this.onElementTimelineDelete = this.onElementTimelineDelete.bind(this);\r\n this.showDeleteAttachmentModal = this.showDeleteAttachmentModal.bind(this);\r\n this.deleteAttachment = this.deleteAttachment.bind(this);\r\n\r\n this.updateReportDetail = this.updateReportDetail.bind(this);\r\n\r\n this.validator = new SimpleReactValidator();\r\n this.getRadioButtonLight = this.getRadioButtonLight.bind(this);\r\n this.getRadioButtonSea = this.getRadioButtonSea.bind(this);\r\n this.getRadioButtonWeather = this.getRadioButtonWeather.bind(this);\r\n }\r\n\r\n UNSAFE_componentWillReceiveProps(nextProps) {\r\n if (nextProps.drillReport !== this.props.drillReport) {\r\n this.setState(() => {\r\n const drillRep = { ...nextProps.drillReport };\r\n if (nextProps.drillReport?.drillPlan?.newEmergLevManagement) {\r\n //RITM0995432 - EM Drill Report Detail Tab Issue Fix\r\n //drillRep.unitsInvolved = []; \r\n const filterUnitsInv = this.getFilterUnitsInvolved(nextProps.unitsInvolved, nextProps.drillReport?.drillPlan?.drillEmergencyLevel);\r\n let filterUnitsInvId = filterUnitsInv.map((item) => { return item.id; });\r\n drillRep.unitsInvolved = drillRep.unitsInvolved.filter((item) => filterUnitsInvId.includes(item.id));\r\n //console.log(drillRep.unitsInvolved);\r\n return { drillReport: drillRep, \r\n filterunitsInvolved: filterUnitsInv\r\n // this.getFilterUnitsInvolved(nextProps.unitsInvolved, \r\n // nextProps.drillReport?.drillPlan?.drillEmergencyLevel) \r\n };\r\n //End\r\n }\r\n console.log(\"DrillReportDetail.componentWillReceiveProps: genNotesStrengthPoints: \" + nextProps.drillReport?.genNotesStrengthPoints);\r\n return { drillReport: drillRep };\r\n });\r\n }\r\n }\r\n\r\n // **************** TIMELINE **************** START\r\n\r\n onElementTimelineSubmit(updatedTimeline) {\r\n if (updatedTimeline !== null) {\r\n this.setState((prevState) => {\r\n const drillReport = { ...prevState.drillReport };\r\n const selectedElementTimeline = { ...prevState.selectedElementTimeline };\r\n selectedElementTimeline.timeFrom = updatedTimeline.timeFrom;\r\n selectedElementTimeline.activityDescription = updatedTimeline.activityDescription;\r\n selectedElementTimeline.remarks = updatedTimeline.remarks;\r\n if (!selectedElementTimeline.id) {\r\n selectedElementTimeline.id = uuid();\r\n selectedElementTimeline.idDrillReports = drillReport.id;\r\n drillReport.timelines = prevState.drillReport.timelines.concat([selectedElementTimeline]);\r\n } else {\r\n drillReport.timelines = prevState.drillReport.timelines\r\n .filter((item) => selectedElementTimeline.id !== item.id)\r\n .concat([selectedElementTimeline]);\r\n }\r\n return { drillReport };\r\n });\r\n this.handleNewElementTimelineVisibility(null);\r\n }\r\n }\r\n\r\n // saveDrillReport = () => {\r\n // this.props.onDetailsChanged(this.state.drillReport);\r\n // };\r\n \r\n onElementTimelineDelete() {\r\n this.setState((prevState) => {\r\n const drillReport = { ...prevState.drillReport };\r\n const selectedElementTimeline = { ...prevState.selectedElementTimeline };\r\n drillReport.timelines = prevState.drillReport.timelines.filter(\r\n (item) => selectedElementTimeline.id !== item.id\r\n );\r\n return { drillReport };\r\n });\r\n this.handleDeleteElementTimelineVisibility(null);\r\n }\r\n // **************** TIMELINE **************** END\r\n\r\n getFilterUnitsInvolved(unitsInvolved, drillEmergencyLevel) {\r\n let filter = [];\r\n if (drillEmergencyLevel.name.includes('3') || drillEmergencyLevel.name.includes('2')) {\r\n filter = unitsInvolved.filter(\r\n (x) =>\r\n x.name.includes('Saipem Milan Crisis Unit') ||\r\n x.name.includes('Local Crisis unit') ||\r\n x.name.includes('Division Manager') ||\r\n x.name.includes('Duty Manager')\r\n );\r\n } else {\r\n filter = this.props.unitsInvolved;\r\n }\r\n return filter;\r\n }\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n\r\n this.setState(statusCopy);\r\n };\r\n\r\n updateStateInvolved = (inputName, inputValue) => {\r\n if (inputValue) {\r\n const filter = this.getFilterUnitsInvolved(this.props.unitsInvolved, inputValue);\r\n\r\n const statusCopy = { ...this.state };\r\n statusCopy.drillReport.unitsInvolved = [];\r\n statusCopy.filterunitsInvolved = filter;\r\n\r\n this.setState(statusCopy);\r\n } else {\r\n const statusCopy = { ...this.state };\r\n statusCopy.drillReport.unitsInvolved = [];\r\n statusCopy.filterunitsInvolved = [];\r\n this.setState(statusCopy);\r\n }\r\n };\r\n\r\n getRadioButtonLight = () => {\r\n const lightConditions = this.props?.lightCondition;\r\n\r\n return lightConditions.map((item) => (\r\n this.onreadystatechangeL(item.id)}\r\n />\r\n ));\r\n };\r\n\r\n getRadioButtonSea = () => {\r\n const seaConditions = this.props?.seaCondition;\r\n\r\n return seaConditions.map((item) => (\r\n this.onreadystatechangeS(item.id)}\r\n />\r\n ));\r\n };\r\n\r\n getRadioButtonWeather = () => {\r\n const weatherConditions = this.props?.weatherCondition;\r\n return weatherConditions.map((item) => (\r\n this.onreadystatechangeW(item.id)}\r\n />\r\n ));\r\n };\r\n\r\n onreadystatechangeL = (id) => {\r\n const statusCopy = { ...this.state };\r\n // const light = this.state.drillReport?.idLightCondition\r\n // ? this.state.drillReport?.idLightCondition === id\r\n // ? 1\r\n // : 2\r\n // : 0;\r\n let light = 0;\r\n if (this.state.drillReport?.idLightCondition) {\r\n if (this.state.drillReport?.idLightCondition === id) { light = 1; } else { light = 2; }\r\n }\r\n if (light === 0 || light === 2) {\r\n statusCopy.drillReport.idLightCondition = id;\r\n }\r\n if (light === 1) {\r\n statusCopy.drillReport.idLightCondition = null;\r\n }\r\n this.setState(statusCopy);\r\n };\r\n\r\n onreadystatechangeS = (id) => {\r\n const statusCopy = { ...this.state };\r\n // const sea = this.state.drillReport?.idSeaCondition\r\n // ? this.state.drillReport?.idSeaCondition === id\r\n // ? 1\r\n // : 2\r\n // : 0;\r\n let sea = 0;\r\n if (this.state.drillReport?.idSeaCondition) {\r\n if (this.state.drillReport?.idSeaCondition === id) { sea = 1; } else { sea = 2; }\r\n }\r\n if (sea === 0 || sea === 2) {\r\n statusCopy.drillReport.idSeaCondition = id;\r\n }\r\n if (sea === 1) {\r\n statusCopy.drillReport.idSeaCondition = null;\r\n }\r\n this.setState(statusCopy);\r\n };\r\n\r\n onreadystatechangeW = (id) => {\r\n const statusCopy = { ...this.state };\r\n // const weather = this.state.drillReport?.idWeatherCondition\r\n // ? this.state.drillReport?.idWeatherCondition === id\r\n // ? 1\r\n // : 2\r\n // : 0;\r\n let weather = 0;\r\n if (this.state.drillReport?.idWeatherCondition) {\r\n if (this.state.drillReport?.idWeatherCondition === id) { weather = 1; } else { weather = 2; }\r\n }\r\n\r\n if (weather === 0 || weather === 2) {\r\n statusCopy.drillReport.idWeatherCondition = id;\r\n }\r\n if (weather === 1) {\r\n statusCopy.drillReport.idWeatherCondition = null;\r\n }\r\n this.setState(statusCopy);\r\n };\r\n\r\n handleChangeRadio = (value, id, event) => {\r\n let v = null;\r\n if (value === 'true') {\r\n v = true;\r\n } else if (value === 'false') {\r\n v = false;\r\n } else if (value === 'null') {\r\n v = null;\r\n }\r\n this.updateState(event.target.name, v, event.target.alt);\r\n };\r\n\r\n // **************** TIMELINE **************** START\r\n handleNewElementTimelineVisibility(id) {\r\n const timeline = this.state.drillReport.timelines.find((i) => i.id === id);\r\n this.setState((oldState) => ({\r\n modalNewElementTimelineVisible: !oldState.modalNewElementTimelineVisible,\r\n selectedElementTimeline: timeline || {},\r\n }));\r\n }\r\n\r\n handleDeleteElementTimelineVisibility(id) {\r\n const timeline = this.state.drillReport.timelines.find((i) => i.id === id);\r\n this.setState((oldState) => ({\r\n modalDeleteElementTimelineVisible: !oldState.modalDeleteElementTimelineVisible,\r\n selectedElementTimeline: timeline || {},\r\n }));\r\n }\r\n // **************** TIMELINE **************** END\r\n\r\n updateParent() {\r\n this.updateParent1();\r\n }\r\n\r\n updateReportDetail() {\r\n if (this.validator.allValid()) {\r\n this.props.updateReportDetail(this.state.drillReport);\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.EMERGENCYDRILL} required fields are missing `\r\n );\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n // *************** ATTACHMENT *************** START\r\n handleDeleteAttachmentModalVisibility() {\r\n this.setState((oldState) => ({\r\n modalDeleteAttachmentVisible: !oldState.modalDeleteAttachmentVisible,\r\n selectedAttachment: null,\r\n }));\r\n }\r\n \r\n showDeleteAttachmentModal(Id) {\r\n const selectedItem = this.props.drillReport.attachments.find((item) => \r\n item.idAttachment === Id);\r\n this.setState((oldState) => ({\r\n selectedAttachment: selectedItem,\r\n modalDeleteAttachmentVisible: !oldState.modalDeleteAttachmentVisible,\r\n }));\r\n }\r\n \r\n deleteAttachment() {\r\n this.props.deleteAttachment(this.state.selectedAttachment.idAttachment);\r\n this.handleDeleteAttachmentModalVisibility();\r\n }\r\n \r\n renderDeleteAttachmentModal = () =>\r\n this.state.modalDeleteAttachmentVisible && (\r\n
    \r\n
    \r\n
    \r\n

    Delete Attachment

    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {`Press confirm to delete ${this.state.selectedAttachment?.attachment.name}`}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n // *************** ATTACHMENT *************** END\r\n\r\n isLcuReferenceMandatory() {\r\n return (\r\n this.state.drillReport.drillEmergencyLevel?.name === '2' ||\r\n this.state.drillReport.drillEmergencyLevel?.name === '3' ||\r\n this.state.drillReport.drillEmergencyLevel?.name === 'Crisis'\r\n );\r\n }\r\n\r\n renderTab = () => {\r\n let ui = true;\r\n if (this.state.drillReport != null) {\r\n ui = (this.state.drillReport !== undefined &&\r\n this.state.drillReport.unitsInvolved !== undefined &&\r\n this.state.drillReport.unitsInvolved.length > 0);\r\n }\r\n\r\n const validations = {\r\n idEmergencyLevel: this.validator.message(\r\n 'emergencyLevel',\r\n this.state.drillReport.idEmergencyLevel,\r\n 'required'\r\n ),\r\n lcuReference: this.validator.message(\r\n 'lcuReference',\r\n this.isLcuReferenceMandatory() ? this.state.drillReport.lcuReference : true,\r\n 'required'\r\n ),\r\n unitsInvolved: this.validator.message(\r\n 'unitsInvolved',\r\n ui,\r\n 'accepted'\r\n ),\r\n scenarioDescription: this.validator.message(\r\n 'scenarioDescription',\r\n this.state.drillReport.scenarioDescription,\r\n 'required'\r\n ),\r\n referenceProcedure: this.validator.message(\r\n 'referenceProcedure',\r\n this.state.drillReport.referenceProcedure,\r\n 'required'\r\n ),\r\n notes: this.validator.message(\r\n 'notes',\r\n this.state.drillReport.overallAssessmentNotes,\r\n 'required'\r\n ),\r\n equipmentUsed: this.validator.message(\r\n 'equipmentUsed',\r\n this.state.drillReport.equipmentUsed,\r\n 'required'\r\n ),\r\n isSatisfactory: this.validator.message(\r\n 'isSatisfactory',\r\n this.state.drillReport.isSatisfactory,\r\n 'required'\r\n ),\r\n /* RITM0822996 */\r\n needsToRepeat: this.validator.message(\r\n 'needsToRepeat',\r\n this.state.drillReport.needsToRepeat,\r\n 'required'\r\n ),\r\n timelines: this.validator.message(\r\n 'timelines',\r\n this.state.drillReport?.timelines ? \r\n (this.state.drillReport.timelines[0] && this.state.drillReport.timelines[1]) : true,\r\n 'required'\r\n ),\r\n };\r\n\r\n const selectedItemCombo = {\r\n unitinv: (this.state.drillReport?.unitsInvolved || []).map((elem) => elem.name).join(', '),\r\n };\r\n\r\n const TempScale = this.state.drillReport.temperatureScale;\r\n const timelineHead = [{ key: 'timeFrom', header: 'Time From' }, { key: 'activityDescription', header: 'Activity Description' }, { key: 'remarks', header: 'Remarks' }];\r\n const timelinesSorted = this.state.drillReport.timelines?.sort((a, b) => {\r\n const dateA = new Date('2000-01-01T00:00:00');\r\n const dateB = new Date('2000-01-01T00:00:00');\r\n const hA = moment(a.timeFrom, 'HH:mm a');\r\n const hB = moment(b.timeFrom, 'HH:mm a');\r\n dateA.setHours(hA.hours(), hA.minutes());\r\n dateB.setHours(hB.hours(), hB.minutes());\r\n return dateA - dateB;\r\n });\r\n return (\r\n <>\r\n {this.renderDeleteAttachmentModal()}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {' '}\r\n

    Main Details

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Emergency Level *\r\n {/* {\r\n this.updateState(\r\n 'idEmergencyLevel',\r\n el.selectedItem?.id || null,\r\n 'drillReport'\r\n );\r\n this.updateState(\r\n 'drillEmergencyLevel',\r\n el.selectedItem || null,\r\n 'drillReport'\r\n );\r\n this.updateState('unitsInvolved', [], 'drillReport');\r\n }}\r\n onError={(error) => {\r\n showNotification.error(\r\n getError(error, entitiesLabels.DRILLEMERGENCYLEVEL, apioperation.GET)\r\n );\r\n }}\r\n key=\"this.state.drillReport?.drillEmergencyLevel?.id\"\r\n initialSelectedItems={this.state.drillReport?.drillEmergencyLevel}\r\n disabled={this.props.editingDisabled}\r\n entity={this.state.drillReport?.drillEmergencyLevel?.id}\r\n invalid={validations.idEmergencyLevel != null}\r\n placeholder=\"Select\"\r\n /> */}\r\n {\r\n this.updateState(\r\n 'idEmergencyLevel',\r\n el.selectedItem?.id || null,\r\n 'drillReport'\r\n );\r\n this.updateState(\r\n 'drillEmergencyLevel',\r\n el.selectedItem || null,\r\n 'drillReport'\r\n );\r\n this.updateStateInvolved('unitsInvolved', el.selectedItem);\r\n }}\r\n onError={(error) => {\r\n showNotification.error(\r\n getError(error, entitiesLabels.DRILLEMERGENCYLEVEL, apioperation.GET)\r\n );\r\n }}\r\n itemToString={(item) => (item ? item.name : '')}\r\n initialSelectedItem={\r\n this.state.drillReport?.drillEmergencyLevel\r\n ? this.state.drillReport?.drillEmergencyLevel\r\n : []\r\n }\r\n items={this.props.emergencylevel}\r\n disabled={this.props.editingDisabled || \r\n this.props.drillReport?.drillPlan?.newEmergLevManagement}\r\n invalid={validations.idEmergencyLevel != null}\r\n />\r\n {validations.idEmergencyLevel}\r\n
    \r\n
    \r\n \r\n Involved LCU\r\n {this.isLcuReferenceMandatory() ? '*' : ''}\r\n \r\n \r\n this.updateState('lcuReference', el.target.value, 'drillReport')\r\n }\r\n type=\"text\"\r\n labelText=\"\"\r\n invalid={validations.lcuReference != null}\r\n disabled={this.props.editingDisabled}\r\n />\r\n {validations.lcuReference}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n this.updateState('scenarioDescription', el.target.value, 'drillReport')\r\n }\r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={230}\r\n disabled={this.props.editingDisabled}\r\n invalid={validations.scenarioDescription != null}\r\n />\r\n \r\n {validations.scenarioDescription}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.updateState('referenceProcedure', el.target.value, 'drillReport')\r\n }\r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={230}\r\n disabled={this.props.editingDisabled}\r\n invalid={validations.referenceProcedure != null}\r\n />\r\n \r\n {validations.referenceProcedure}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Units Involved *\r\n {/* this.updateState('unitsInvolved', units, 'drillReport')}\r\n multiCombo\r\n onError={(error) => {\r\n showNotification.error(\r\n getError(error, entitiesLabels.UNITSINVOLVED, apioperation.GET)\r\n );\r\n }}\r\n key=\"this.state.drillReport?.unitsInvolved?.id\"\r\n initialSelectedItems={this.state.drillReport?.unitsInvolved}\r\n disabled={this.props.editingDisabled}\r\n invalid={validations.unitsInvolved != null}\r\n placeholder=\"Select\"\r\n /> */}\r\n \r\n this.updateState('unitsInvolved', units.selectedItems, 'drillReport')\r\n }\r\n itemToString={(item) => (item ? item.name : '')}\r\n initialSelectedItems={\r\n selectedItemCombo.unitinv ? this.state.drillReport?.unitsInvolved : []\r\n }\r\n items={this.state.filterunitsInvolved}\r\n invalid={validations.unitsInvolved != null}\r\n onError={(error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.UNITSINVOLVED, apioperation.GET)\r\n );\r\n }}\r\n disabled={this.state.filterunitsInvolved.length === 0}\r\n >\r\n {' '}\r\n \r\n
    \r\n
    \r\n POB/POS\r\n this.updateState('poB_BOS', el.target.value, 'drillReport')}\r\n disabled={this.props.editingDisabled}\r\n type=\"number\"\r\n labelText=\"\"\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.updateState('equipmentUsed', el.target.value, 'drillReport')\r\n }\r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={230}\r\n disabled={this.props.editingDisabled}\r\n invalid={validations.equipmentUsed != null}\r\n />\r\n \r\n {validations.equipmentUsed}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {' '}\r\n

    Weather Conditions

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {this.getRadioButtonLight()}\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n {this.getRadioButtonSea()}\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n {this.getRadioButtonWeather()}\r\n \r\n \r\n
    \r\n
    \r\n \r\n {TempScale === 'C' &&

    Note: insert the Temperature in °C scale

    }\r\n \r\n this.updateState('temperature', el.target.value, 'drillReport')\r\n }\r\n type=\"number\"\r\n labelText=\"\"\r\n // invalid={validations.temperature != null}\r\n disabled={this.props.editingDisabled}\r\n />\r\n {/* {validations.temperature} */}\r\n
    \r\n \r\n \r\n this.updateState('windSpeed', el.target.value, 'drillReport')\r\n }\r\n type=\"number\"\r\n labelText=\"\"\r\n // invalid={validations.windSpeed != null}\r\n disabled={this.props.editingDisabled}\r\n />\r\n {/* {validations.windSpeed} */}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {' '}\r\n

    Overall Assessment

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.updateState('overallAssessmentNotes', el.target.value, 'drillReport')\r\n }\r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={230}\r\n disabled={this.props.editingDisabled}\r\n invalid={validations.notes != null}\r\n />\r\n \r\n {validations.notes}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    */}\r\n \r\n \r\n \r\n \r\n {validations.isSatisfactory}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n this.updateState('notes', el.target.value, 'drillReport')}\r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={230}\r\n disabled={this.props.editingDisabled}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n {this.state.drillReport?.genNotesStrengthPoints != true ?\r\n (\r\n
    \r\n \r\n \r\n this.updateState('pointsOfStrength', el.target.value, 'drillReport')\r\n }\r\n hideLabel\r\n labelText=\"\"\r\n light\r\n rows={4}\r\n cols={230}\r\n disabled={this.props.editingDisabled}\r\n // RITM0580253\r\n // invalid={validations.pointsOfStrength != null}\r\n />\r\n \r\n {/* RITM0580253 */}\r\n {/* {validations.pointsOfStrength} */}\r\n
    \r\n ) : ('')\r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n {/* RITM0822996 */}\r\n \r\n \r\n \r\n \r\n \r\n {validations.needsToRepeat}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {!this.props.editingDisabled ? (\r\n
    \r\n \r\n Save\r\n \r\n
    \r\n ) : (\r\n ''\r\n )}\r\n\r\n \r\n {!this.props.editingDisabled ? (\r\n
    \r\n \r\n {/*\r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n
    \r\n ) : (\r\n ''\r\n )}\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Name\r\n Size\r\n Actions\r\n \r\n \r\n \r\n {this.state.drillReport?.attachments < 1 ? (\r\n \r\n ) : (\r\n this.state.drillReport?.attachments?.map((item) => (\r\n \r\n {item.attachment?.name}\r\n \r\n {sizeFormat(item.attachment?.size)}\r\n \r\n \r\n {this.props.downloading === item.idAttachment ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n \r\n {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.FileUpload, apioperation.GET)\r\n );\r\n }}\r\n onDownLoadStart={() =>\r\n this.setState({\r\n downloading: item.idAttachment,\r\n })\r\n }\r\n onDownLoadEnd={() => this.setState({ downloading: null })}\r\n apiUrl={`/drill/report/${this.props.drillReport.id}/attachment/${item?.attachment?.fileIdentifier}`}\r\n fileName={item?.attachment?.name}\r\n size=\"small\"\r\n renderIcon={View16}\r\n iconDescription=\"Download\"\r\n kind=\"ghost\"\r\n disabled={this.props.editingDisabled}\r\n />\r\n \r\n \r\n \r\n \r\n {/* \r\n this.props.downloadAttachment(item.id)\r\n }\r\n size=\"small\"\r\n renderIcon={View16}\r\n iconDescription=\"Download\"\r\n kind=\"ghost\"\r\n disabled={this.props.editingDisabled}\r\n /> */}\r\n \r\n this.showDeleteAttachmentModal(item.idAttachment)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n disabled={this.props.editingDisabled}\r\n />\r\n \r\n \r\n \r\n \r\n {/* \r\n this.downloadAttachment(item.id)}\r\n size=\"small\"\r\n renderIcon={View16}\r\n iconDescription=\"Download\"\r\n kind=\"ghost\"\r\n disabled={this.props.editingDisabled}\r\n />\r\n this.deleteAttachment(item.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n disabled={this.props.editingDisabled}\r\n />\r\n \r\n {/*\r\n this.downloadAttachment(item.id)}\r\n size=\"small\"\r\n renderIcon={View16}\r\n iconDescription=\"Download\"\r\n kind=\"ghost\"\r\n disabled\r\n />\r\n this.deleteAttachment(item.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n disabled\r\n />\r\n \r\n */}\r\n
    \r\n )\r\n }\r\n
    \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n };\r\n\r\n render() {\r\n console.log(\"DrillReportDetail.render: genNotesStrengthPoints: \" + this.state.drillReport?.genNotesStrengthPoints);\r\n return this.renderTab();\r\n }\r\n}\r\n\r\nDrillReportDetail.propTypes = {\r\n deleteAttachment: PropTypes.func.isRequired,\r\n onUpload: PropTypes.func.isRequired,\r\n updateReportDetail: PropTypes.func.isRequired, \r\n downloading: PropTypes.bool.isRequired,\r\n drillReport: PropTypes.shape({\r\n id: PropTypes.string,\r\n sequence: PropTypes.number,\r\n drillReportCode: PropTypes.string,\r\n name: PropTypes.string,\r\n lcuReference: PropTypes.string,\r\n scenarioDescription: PropTypes.string,\r\n overallAssessmentNotes: PropTypes.string,\r\n isSatisfactory: PropTypes.bool,\r\n referenceProcedure: PropTypes.string,\r\n deliveryDate: PropTypes.string,\r\n isInPlannedWeek: PropTypes.bool,\r\n deliveryDateWithWeek: PropTypes.string,\r\n plannedWeekWithDate: PropTypes.string,\r\n idDrillPlan: PropTypes.string,\r\n idStatus: PropTypes.number,\r\n compilerAssignStatus: PropTypes.string,\r\n idLightCondition: PropTypes.string,\r\n idSeaCondition: PropTypes.string,\r\n idWeatherCondition: PropTypes.string,\r\n idEmergencyLevel: PropTypes.string,\r\n temperature: PropTypes.number,\r\n temperatureScale: PropTypes.string,\r\n windSpeed: PropTypes.number,\r\n equipmentUsed: PropTypes.string,\r\n distributionList: PropTypes.string,\r\n poB_BOS: PropTypes.number,\r\n pointsOfStrength: PropTypes.string,\r\n notes: PropTypes.string,\r\n needsToRepeat: PropTypes.bool,\r\n drillPlan: PropTypes.object, \r\n division: PropTypes.object,\r\n company: PropTypes.object,\r\n workSite: PropTypes.object,\r\n status: PropTypes.object,\r\n drillTypeDetail: PropTypes.object,\r\n drillType: PropTypes.object,\r\n lightCondition: PropTypes.object,\r\n seaCondition: PropTypes.object,\r\n weatherCondition: PropTypes.object,\r\n drillEmergencyLevel: PropTypes.object,\r\n drillNotificationForm: PropTypes.object,\r\n drillReportPlannedWeeks: PropTypes.array,\r\n drillCheckListRequirementAnswers: PropTypes.array,\r\n attachments: PropTypes.array,\r\n people: PropTypes.array,\r\n unitsInvolved: PropTypes.array,\r\n timelines: PropTypes.array,\r\n participant: PropTypes.object,\r\n drillReportProjects: PropTypes.array,\r\n projects: PropTypes.array,\r\n referenceDate: PropTypes.instanceOf(Date),\r\n referenceYear: PropTypes.number,\r\n referenceMonth: PropTypes.number,\r\n idCompiler: PropTypes.string,\r\n idDataApprover: PropTypes.string,\r\n idDivisionManager: PropTypes.string,\r\n compiler: PropTypes.object,\r\n dataApprover: PropTypes.object,\r\n divisionManager: PropTypes.object,\r\n }).isRequired,\r\n editingDisabled: PropTypes.bool.isRequired,\r\n emergencylevel: PropTypes.arrayOf(PropTypes.object).isRequired,\r\n unitsInvolved: PropTypes.arrayOf(PropTypes.object).isRequired,\r\n};\r\n\r\nexport default DrillReportDetail;\r\n","/* eslint-disable react/jsx-props-no-spreading */\r\n/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport {\r\n FormGroup,\r\n TextArea,\r\n Button,\r\n DataTable,\r\n TableContainer,\r\n TableToolbar,\r\n Table,\r\n TableHead,\r\n TableBody,\r\n TableRow,\r\n TableHeader,\r\n TableCell,\r\n TableToolbarContent,\r\n Tile,\r\n} from 'carbon-components-react';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport Close16 from '@carbon/icons-react/lib/close/16';\r\nimport Add16 from '@carbon/icons-react/lib/add/16';\r\nimport Save16 from '@carbon/icons-react/lib/save/16';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport PropTypes from 'prop-types';\r\nimport { v4 as uuid } from 'uuid';\r\nimport moment from 'moment';\r\nimport { NoRecordsPlaceholder } from '../../../../helpers/jsonschemaform/DataTableExtention';\r\n\r\nexport default class DrillPersonnel extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n drillReport: this.props.drillReport || {},\r\n modalPersonDetailVisible: false,\r\n selectedPerson: {\r\n id: null,\r\n fullName: '',\r\n },\r\n };\r\n this.handlePersonDetailVisibility = this.handlePersonDetailVisibility.bind(this);\r\n this.handleDeletePersonModal = this.handleDeletePersonModal.bind(this);\r\n this.onPersonChanged = this.onPersonChanged.bind(this);\r\n this.onSubmitPerson = this.onSubmitPerson.bind(this);\r\n this.onPersonDelete = this.onPersonDelete.bind(this);\r\n this.savePersonnel = this.savePersonnel.bind(this);\r\n\r\n this.validator = new SimpleReactValidator({\r\n validators: {\r\n emails: {\r\n // name the rule\r\n message: 'The :attribute must be a valid email address list semicolon separated',\r\n rule: (val, params, validator) =>\r\n validator.helpers.testRegex(\r\n val,\r\n // eslint-disable-next-line no-useless-escape\r\n /^(([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)(\\s*;\\s*|\\s*$))+$/i\r\n ) && params.indexOf(val) === -1,\r\n required: true, // optional\r\n },\r\n time: {\r\n message: ':attribute must be a valid time',\r\n rule: (val, params, validator) =>\r\n validator.helpers.testRegex(val, /^(0[0-9]|1[0-9]|2[0-3]|[0-9]):[0-5][0-9]+$/) &&\r\n params.indexOf(val) === -1,\r\n required: true, // optional\r\n },\r\n datePicker: {\r\n message: 'The :attribute must be a valid date with mm/dd/yyyy format',\r\n rule: (val, params) => moment(val).isValid() && params.indexOf(val) === -1,\r\n required: true, // optional\r\n },\r\n },\r\n });\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.drillReport !== this.props.drillReport) {\r\n this.setState({ drillReport: nextProps.drillReport });\r\n }\r\n }\r\n\r\n onPersonChanged(event) {\r\n event.preventDefault();\r\n const { value } = event.currentTarget;\r\n this.setState((prevState) => {\r\n const selectedPerson = { ...prevState.selectedPerson };\r\n selectedPerson.fullName = value;\r\n return { selectedPerson };\r\n });\r\n }\r\n\r\n onSubmitPerson(event) {\r\n event.preventDefault();\r\n if (this.validator.fieldValid('fullName')) {\r\n this.setState((prevState) => {\r\n const drillReport = { ...prevState.drillReport };\r\n const selectedPerson = { ...prevState.selectedPerson };\r\n if (!selectedPerson.id) {\r\n selectedPerson.id = uuid();\r\n selectedPerson.idDrillReport = prevState.drillReport.id;\r\n // drillReport.people = prevState.drillReport.people.concat(\r\n // selectedPerson\r\n // );\r\n const notact = [selectedPerson];\r\n drillReport.people = notact.concat(prevState.drillReport.people);\r\n this.handlePersonDetailVisibility(null);\r\n } else {\r\n drillReport.people = prevState.drillReport.people\r\n .filter((item) => selectedPerson.id !== item.id)\r\n .concat(selectedPerson);\r\n this.handlePersonDetailVisibility(null);\r\n }\r\n return { drillReport };\r\n });\r\n } else {\r\n this.validator.showMessageFor('fullName');\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n onPersonDelete() {\r\n this.setState((prevState) => {\r\n const drillReport = { ...prevState.drillReport };\r\n const selectedPerson = { ...prevState.selectedPerson };\r\n drillReport.people = prevState.drillReport.people.filter(\r\n (item) => selectedPerson.id !== item.id\r\n );\r\n return { drillReport };\r\n });\r\n this.handleDeletePersonModal(null);\r\n }\r\n\r\n savePersonnel() {\r\n if (this.validator.fieldValid('people')) {\r\n this.props.onSave(this.state.drillReport);\r\n } else {\r\n this.validator.showMessageFor('people');\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n handlePersonDetailVisibility(id) {\r\n const person = this.state.drillReport.people.find((i) => i.id === id);\r\n this.setState((oldState) => ({\r\n modalPersonDetailVisible: !oldState.modalPersonDetailVisible,\r\n selectedPerson: person || {},\r\n }));\r\n }\r\n\r\n handleDeletePersonModal(id) {\r\n const person = this.state.drillReport.people.find((i) => i.id === id);\r\n this.setState((oldState) => ({\r\n modalPersonDeleteVisible: !oldState.modalPersonDeleteVisible,\r\n selectedPerson: person || {},\r\n }));\r\n }\r\n\r\n renderDeletePeopleModal = () =>\r\n this.state.modalPersonDeleteVisible && (\r\n
    \r\n
    \r\n
    \r\n

    Delete Person

    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    Press confirm to remove selected person
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n renderNewPersonModal = () => {\r\n const validationsModal = {\r\n fullName: this.validator.message('fullName', this.state.selectedPerson.fullName, 'required'),\r\n };\r\n return (\r\n this.state.modalPersonDetailVisible && (\r\n
    \r\n
    \r\n
    \r\n

    Add New Person

    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n );\r\n };\r\n\r\n render() {\r\n const validations = {\r\n people: this.validator.message(\r\n 'people',\r\n this.state.drillReport.people?.length > 0 ? this.state.drillReport.people[0] : false,\r\n 'required'\r\n ),\r\n };\r\n\r\n const headers = [\r\n {\r\n key: 'fullName',\r\n header: 'Full Name',\r\n },\r\n ];\r\n return (\r\n
    \r\n \r\n (\r\n \r\n \r\n \r\n
    \r\n
    List Of People With Active Function
    \r\n
    \r\n {!this.props.editingDisabled ? (\r\n
    \r\n \r\n Add New Person\r\n \r\n
    \r\n ) : (\r\n ''\r\n )}\r\n
    \r\n
    \r\n {this.renderDeletePeopleModal()}\r\n {this.renderNewPersonModal()}\r\n \r\n \r\n \r\n {headers.map((header) => (\r\n {header.header}\r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {!rows || rows.length < 1 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n {row.cells.map((cell) => (\r\n \r\n {cell.info.header.includes('date')\r\n ? moment(cell.value).format('DD/MM/YYYY')\r\n : cell.info.header.includes('workSite')\r\n ? cell.value?.name || 'N/A'\r\n : cell.value}\r\n \r\n ))}\r\n \r\n {!this.props.editingDisabled ? (\r\n
    \r\n this.handlePersonDetailVisibility(row.id)}\r\n size=\"small\"\r\n renderIcon={Edit16}\r\n iconDescription=\"Edit\"\r\n kind=\"ghost\"\r\n disabled={this.props.editingDisabled}\r\n />\r\n this.handleDeletePersonModal(row.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n disabled={this.props.editingDisabled}\r\n />\r\n
    \r\n ) : (\r\n ''\r\n )}\r\n
    \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n
    \r\n )}\r\n />\r\n {validations.people}\r\n
    \r\n {!this.props.editingDisabled ? (\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\nDrillPersonnel.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n PersonnelData: PropTypes.object.isRequired,\r\n disabled: PropTypes.bool,\r\n onSave: PropTypes.func.isRequired,\r\n};\r\nDrillPersonnel.defaultProps = {\r\n disabled: true,\r\n};\r\n","/* eslint-disable react/prefer-stateless-function */\r\nimport React, { Component } from 'react';\r\nimport { TextArea, RadioButtonGroup, RadioButton, Button } from 'carbon-components-react';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport PropTypes from 'prop-types';\r\n\r\nexport default class CheckListQuestionAnswer extends Component {\r\n render() {\r\n const answers = [\r\n { id: 'b889f9bd-4be0-41d5-8ec4-6d08bf72f49c', name: 'Yes' },\r\n { id: '1159220d-9045-4a55-8e97-659d55e4e4c4', name: 'No' },\r\n { id: 'f5a6965c-b3a7-45ef-b481-4b77e1501bac', name: 'N/A' },\r\n ];\r\n const validationAnswer = {\r\n answer: this.props.validator.message(\r\n `answer to the question ${this.props.questionCode}`,\r\n this.props.answer,\r\n 'required'\r\n ),\r\n };\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n {this.props.questionCode}\r\n {this.props.isCustom ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n ''\r\n )}\r\n \r\n {this.props.question}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Answer\r\n \r\n this.props.onAnswerChange(this.props.id, answers[0])}\r\n labelText={answers[0].name}\r\n value={answers[0].id}\r\n disabled={this.props.disabled}\r\n />\r\n this.props.onAnswerChange(this.props.id, answers[1])}\r\n labelText={answers[1].name}\r\n value={answers[1].id}\r\n disabled={this.props.disabled}\r\n />\r\n this.props.onAnswerChange(this.props.id, answers[2])}\r\n labelText={answers[2].name}\r\n value={answers[2].id}\r\n disabled={this.props.disabled}\r\n />\r\n \r\n
    \r\n {validationAnswer.answer}\r\n
    \r\n
    \r\n
    \r\n Notes\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nCheckListQuestionAnswer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n questionCode: PropTypes.string.isRequired,\r\n question: PropTypes.string.isRequired,\r\n answer: PropTypes.string,\r\n note: PropTypes.string,\r\n isCustom: PropTypes.bool,\r\n onAnswerChange: PropTypes.func.isRequired,\r\n onNoteChange: PropTypes.func.isRequired,\r\n onDeleteCustomRequirement: PropTypes.func,\r\n onUpdateCustomRequirement: PropTypes.func,\r\n disabled: PropTypes.bool\r\n};\r\nCheckListQuestionAnswer.defaultProps = {\r\n answer: null,\r\n note: null,\r\n isCustom: false,\r\n disabled: true,\r\n onDeleteCustomRequirement: () => {},\r\n onUpdateCustomRequirement: () => {},\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport { v4 as uuid } from 'uuid';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { Button, FormGroup, TextInput, Loading, TextArea } from 'carbon-components-react';\r\nimport Close16 from '@carbon/icons-react/lib/close/16';\r\nimport PropTypes from 'prop-types';\r\nimport { api } from '../../../../helpers/api/api';\r\nimport { showNotification } from '../../../../helpers/notification/BaseNotification';\r\nimport { getError, entitiesLabels } from '../../../../helpers/Constants';\r\n\r\nexport default class CheckListRequirement extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.saveRequirement = this.saveRequirement.bind(this);\r\n this.renderLoadingModal = this.renderLoadingModal.bind(this);\r\n this.onCodeTextChange = this.onCodeTextChange.bind(this);\r\n this.onQuestionTextChange = this.onQuestionTextChange.bind(this);\r\n this.validator = new SimpleReactValidator();\r\n this.state = {\r\n newRequirement: {\r\n id: this.props.Requirement?.id || uuid(),\r\n code: this.props.Requirement?.code || null,\r\n name: this.props.Requirement?.name || null,\r\n createdBy: this.props.Requirement?.createdBy || null,\r\n createdOn: this.props.Requirement?.createdOn || null,\r\n updatedBy: this.props.Requirement?.updatedBy || null,\r\n updatedOn: this.props.Requirement?.updatedOn || null,\r\n description: this.props.Requirement?.description || null,\r\n idDrillChecklistTemplate: this.props.Template || null\r\n },\r\n isUpdating: false,\r\n };\r\n }\r\n\r\n onCodeTextChange(event) {\r\n const { value } = event.currentTarget;\r\n // event.preventDefault();\r\n this.setState((prevState) => {\r\n const newRequirement = { ...prevState.newRequirement };\r\n newRequirement.code = value;\r\n return { newRequirement };\r\n });\r\n }\r\n\r\n onQuestionTextChange(event) {\r\n const { value } = event.currentTarget;\r\n // event.preventDefault();\r\n this.setState((prevState) => {\r\n const newRequirement = { ...prevState.newRequirement };\r\n newRequirement.name = value;\r\n return { newRequirement };\r\n });\r\n }\r\n\r\n renderLoadingModal = () => {\r\n const show = this.state.isUpdating;\r\n return show && ;\r\n };\r\n\r\n saveRequirement = async (item) => {\r\n try {\r\n this.setState({ isUpdating: true });\r\n return (await api.post('/drill/report/checklistquestion', item)).data;\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, 'Save Drill Requirement', 'ERROR'));\r\n return null;\r\n } finally {\r\n this.setState({ isUpdating: false });\r\n }\r\n };\r\n\r\n updateRequirement = async (item) => {\r\n try {\r\n this.setState({ isUpdating: true });\r\n return (await api.put('/drill/report/checklistquestion', item)).data;\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,getError(error, 'Save Drill Requirement', 'ERROR'));\r\n return null;\r\n } finally {\r\n this.setState({ isUpdating: false });\r\n }\r\n };\r\n\r\n handleSubmit = async (event) => {\r\n debugger;\r\n event.preventDefault();\r\n if (this.validator.allValid()) {\r\n // NEW\r\n if (!this.props.idCheckListAnswer) {\r\n const newCheckListAnswer = {\r\n id: this.props.idCheckListAnswer || uuid(),\r\n idRequirement: this.state.newRequirement.id,\r\n idDrillReport: this.props.CheckList.id,\r\n drillReport: this.props.CheckList,\r\n requirement: this.state.newRequirement,\r\n };\r\n const newItem = await this.saveRequirement(newCheckListAnswer);\r\n if (newItem) this.props.onSave(newItem);\r\n } else {\r\n const newItem = await this.updateRequirement(this.state.newRequirement);\r\n if (newItem) this.props.onUpdate(newItem);\r\n }\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.REQUIREMENT} required fields are missing`\r\n );\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n render() {\r\n const validations = {\r\n code: this.validator.message('code', this.state.newRequirement.code, 'required'),\r\n question: this.validator.message('question', this.state.newRequirement.name, 'required'),\r\n };\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    Requirement Details

    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {validations.code}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n this.onQuestionTextChange(question)}\r\n />\r\n {validations.question}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n {this.renderLoadingModal()}\r\n
    \r\n );\r\n }\r\n}\r\nCheckListRequirement.propTypes = {\r\n onCancel: PropTypes.func.isRequired,\r\n onSave: PropTypes.func,\r\n onUpdate: PropTypes.func,\r\n CheckList: PropTypes.object.isRequired,\r\n Section: PropTypes.object.isRequired,\r\n Template: PropTypes.object.isRequired,\r\n idCheckListAnswer: PropTypes.string,\r\n Requirement: PropTypes.object,\r\n};\r\nCheckListRequirement.defaultProps = {\r\n Requirement: null,\r\n idCheckListAnswer: null,\r\n onUpdate: () => {},\r\n onSave: () => {},\r\n};\r\n","/* eslint-disable react/sort-comp */\r\nimport React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n InlineLoading,\r\n FormGroup,\r\n TextArea,\r\n DatePickerSkeleton,\r\n ComposedModal,\r\n ModalHeader,\r\n ModalBody,\r\n Button,\r\n TableContainer,\r\n Table,\r\n TableBody,\r\n TableHead,\r\n TableHeader,\r\n TableRow,\r\n TableCell,\r\n Form,\r\n FormLabel,\r\n Loading,\r\n TextInput,\r\n ModalFooter,\r\n Tabs,\r\n Tab,\r\n Toggle\r\n} from 'carbon-components-react';\r\nimport moment from 'moment';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport View16 from '@carbon/icons-react/lib/view/16';\r\nimport Save16 from '@carbon/icons-react/lib/save/16';\r\nimport Add16 from '@carbon/icons-react/lib/add/16';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport Attachment16 from '@carbon/icons-react/lib/attachment/16';\r\nimport { Link } from 'react-router-dom';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { api } from '../../../../helpers/api/api';\r\nimport { IsInRole, IsEnabled, IsEditable } from '../../../../helpers/authorization/Policies';\r\nimport { showNotification } from '../../../../helpers/notification/BaseNotification';\r\nimport {\r\n getError,\r\n getSuccess,\r\n sizeFormat,\r\n apioperation,\r\n entitiesLabels,\r\n STATUS,\r\n DateFormat,\r\n} from '../../../../helpers/Constants';\r\nimport DateTimePicker from '../../../../helpers/DateTimePicker';\r\nimport { FindGHRSEmployer } from '../../../common/FindGHRSEmployer';\r\nimport { StatusTag } from '../../../../helpers/PageBreadCrumb';\r\nimport { AppContext } from '../../../../helpers/context/AppContext';\r\n\r\nimport CheckListQuestionAnswer from './CheckListQuestionAnswer';\r\nimport FileUpload from '../../../common/FileUpload';\r\nimport { ConfirmAlertCustom } from '../../../../helpers/ConfirmAlertCustom';\r\nimport CheckListRequirement from './CheckListRequirement';\r\nimport { NoRecordsPlaceholder } from '../../../../helpers/jsonschemaform/DataTableExtention';\r\nimport DownLoadButton from '../../../common/FileDownloadButton';\r\n\r\nimport { Online, Offline } from '../../../common/OnLineOffLine';\r\nimport { FindSaipemCompilers } from '../../../common/FindSaipemCompilers';\r\n\r\nexport class DrillReportSummary extends Component {\r\n carModelProps = () => ({\r\n duedate: null,\r\n id: null,\r\n carOwner: {},\r\n idOwner: null,\r\n idOwnerSaipem: null,\r\n idAnswer: null,\r\n idStatus: null,\r\n idDrillCheckListRequirementAnswer: null,\r\n idDrillReport: null,\r\n drillCARCode: '',\r\n detailsOfInefficiency: null,\r\n findingDescription: null,\r\n identifiedCorrectiveAction: null,\r\n status: {},\r\n drillReport: {},\r\n drillCheckListRequirementAnswer: {},\r\n });\r\n\r\n ownerModelprops = () => ({\r\n fullname: null,\r\n email: null,\r\n });\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n drillReport: this.props.drillReport,\r\n carModel: {\r\n ...this.carModelProps(),\r\n },\r\n ownerModel: {\r\n ...this.ownerModelprops(),\r\n },\r\n\r\n isOpenModalGHRS: false,\r\n isOpenModalCar: false,\r\n };\r\n\r\n this.getTemplate = this.getTemplate.bind(this);\r\n this.handleChangeGHRSModal = this.handleChangeGHRSModal.bind(this);\r\n this.updateStateDPCAR = this.updateStateDPCAR.bind(this);\r\n this.onDetailsOfInefficiencyChange = this.onDetailsOfInefficiencyChange.bind(this);\r\n this.onFindingDescriptionChange = this.onFindingDescriptionChange.bind(this);\r\n this.onCorrectiveActionChange = this.onCorrectiveActionChange.bind(this);\r\n this.setEmployer = this.setEmployer.bind(this);\r\n this.showAddRequirement = this.showAddRequirement.bind(this);\r\n this.onUploadAnswer = this.onUploadAnswer.bind(this);\r\n this.saveCar = this.saveCar.bind(this);\r\n this.validationsAnswer = new SimpleReactValidator();\r\n this.validationsNotifications = new SimpleReactValidator();\r\n this.validationsCar = new SimpleReactValidator();\r\n }\r\n\r\n\r\n // eslint-disable-next-line camelcase\r\n UNSAFE_componentWillReceiveProps(nextProps) {\r\n if (nextProps.drillReport !== this.props.drillReport) {\r\n this.state = {\r\n ...this.state,\r\n drillReport: nextProps.drillReport,\r\n };\r\n }\r\n }\r\n\r\n updateCheckList = async () => {\r\n // if (this.validationsAnswer.allValid()) {\r\n this.props.updateAnswers(this.state.drillReport);\r\n // } else {\r\n // this.validationsAnswer.showMessages();\r\n // showNotification.warning(`${entitiesLabels.WARNING}`,\r\n // `${entitiesLabels.EMERGENCYDRILL_REPORT} required fields are missing `\r\n // );\r\n // this.forceUpdate();\r\n // }\r\n };\r\n\r\n showRequirment = () => {\r\n this.setState({\r\n isLoadtemplate: true,\r\n });\r\n };\r\n\r\n getTemplate = () => {\r\n const result = [];\r\n const map = new Map();\r\n this.state.drillReport.drillCheckListRequirementAnswers.forEach((answer) => {\r\n if (answer.question?.idDrillCheckListTemplate != null &&\r\n !map.has(answer.question.idDrillCheckListTemplate)) {\r\n const until = new Date(answer.question.drillCheckListTemplate.validUntil);\r\n if (until > new Date()) {\r\n map.set(answer.question.idDrillCheckListTemplate, true);\r\n result.push({ ...answer.question.drillCheckListTemplate,\r\n /* DEV550 */ active: answer.active });\r\n }\r\n }\r\n });\r\n const orderResult = [];\r\n\r\n\r\n result.forEach((item) => {\r\n orderResult.push(item);\r\n });\r\n return orderResult;\r\n };\r\n\r\n toggleActiveTemplateQuestions = (idDrillCheckListTemplate) => {\r\n const updatedAnswer = this.state.drillReport.drillCheckListRequirementAnswers.map((answer) => {\r\n if (answer.question?.idDrillCheckListTemplate === idDrillCheckListTemplate) {\r\n return { ...answer, active: !answer.active };\r\n }\r\n return { ...answer };\r\n });\r\n this.setState((prevState) => {\r\n const copyOfDrillReport = { ...prevState.drillReport };\r\n copyOfDrillReport.drillCheckListRequirementAnswers = updatedAnswer;\r\n return { drillReport: copyOfDrillReport };\r\n });\r\n }\r\n\r\n renderRequirementDeleteModal = () => {\r\n const modalHeader = {\r\n title: 'Delete Custom Requirement',\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.handleRequirementDeleteCancel(),\r\n };\r\n return (\r\n this.state.modalDeleteRequirementVisible && (\r\n {\r\n this.handleRequirementDeleteCancel();\r\n }}\r\n >\r\n \r\n

    \r\n \r\n {this.state.isDeletingReq ? : ''}\r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n Press confirm to delete selected custom requirement\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n );\r\n };\r\n\r\n confirmDeleteCAR = (id, idAnswer) => {\r\n this.setState({\r\n idAnswerToDelete: idAnswer,\r\n idToDelete: id,\r\n isOpenDeleteModal: true,\r\n isDeleting: false,\r\n });\r\n };\r\n\r\n onCloseConfirm = () => {\r\n this.setState({\r\n isOpenDeleteModal: false,\r\n });\r\n };\r\n\r\n //* *************** ATTACHMENT **************** START\r\n showModalAttachment = (id) => {\r\n this.setState({\r\n idAnswerAttachment: id,\r\n isOpenModalAttachment: true,\r\n });\r\n };\r\n\r\n closeModalAttachment = () => {\r\n this.setState({\r\n isOpenModalAttachment: false,\r\n });\r\n };\r\n\r\n modalAttachment(user) {\r\n const modalHeader = {\r\n title: 'Attachments',\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.closeModalAttachment(),\r\n };\r\n\r\n return (\r\n <>\r\n {this.state.isOpenModalAttachment ? (\r\n false}>\r\n \r\n

    \r\n \r\n \r\n {(IsInRole(user, 'Administrator') || IsInRole(user, 'Compiler')) && (\r\n

    \r\n \r\n
    \r\n )}\r\n \r\n \r\n \r\n \r\n Name\r\n Size\r\n Actions\r\n \r\n \r\n \r\n {this.state.drillReport?.drillCheckListRequirementAnswers.map((dclra) =>\r\n ((dclra.attachments?.length !== 0 && \r\n dclra.id === this.state.idAnswerAttachment && dclra.attachments < 1 && \r\n (\r\n \r\n )) ||\r\n (dclra.attachments?.length !== 0 && \r\n dclra.id === this.state.idAnswerAttachment && dclra.attachments >= 1 && (\r\n dclra.attachments.map((item) => (\r\n \r\n \r\n {item?.attachment?.name}\r\n \r\n \r\n {sizeFormat(item?.attachment?.size)}\r\n \r\n \r\n {this.state.downloading === item.id ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n \r\n {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(\r\n error,\r\n entitiesLabels.FileUpload,\r\n apioperation.GET\r\n )\r\n );\r\n }}\r\n onDownLoadStart={() =>\r\n this.setState({\r\n downloading: item.id,\r\n })\r\n }\r\n onDownLoadEnd={() => this.setState({ downloading: null })}\r\n apiUrl={`/drill/report/${this.props.drillReport.id}/answer/${this.state.idAnswerAttachment}/attachment/${item?.attachment?.fileIdentifier}`}\r\n fileName={item?.attachment?.name}\r\n size=\"small\"\r\n renderIcon={View16}\r\n iconDescription=\"Download\"\r\n kind=\"ghost\"\r\n disabled={this.props.editingDisabled}\r\n />\r\n \r\n \r\n \r\n \r\n {/* \r\n this.downloadAttachmentAnswer(item.id)\r\n }\r\n size=\"small\"\r\n renderIcon={View16}\r\n iconDescription=\"Download\"\r\n kind=\"ghost\"\r\n disabled={this.props.editingDisabled}\r\n /> */}\r\n \r\n {(IsInRole(user, 'Administrator') ||\r\n IsInRole(user, 'Compiler')) && (\r\n this.onDeleteAttachmentAnswer(item.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n disabled={this.props.editingDisabled}\r\n />\r\n )}\r\n {' '}\r\n \r\n \r\n \r\n \r\n
    \r\n )}\r\n \r\n
    \r\n ))\r\n )))\r\n\r\n // dclra.attachments?.length !== 0 && \r\n // dclra.id === this.state.idAnswerAttachment ? (\r\n // dclra.attachments < 1 ? (\r\n // \r\n // ) : (\r\n // dclra.attachments.map((item) => (\r\n // \r\n // \r\n // {item?.attachment?.name}\r\n // \r\n // \r\n // {sizeFormat(item?.attachment?.size)}\r\n // \r\n // \r\n // {this.state.downloading === item.id ? (\r\n //
    \r\n // \r\n //
    \r\n // ) : (\r\n //
    \r\n // \r\n // {\r\n // showNotification.error(`${entitiesLabels.ERROR}`,\r\n // getError(\r\n // error,\r\n // entitiesLabels.FileUpload,\r\n // apioperation.GET\r\n // )\r\n // );\r\n // }}\r\n // onDownLoadStart={() =>\r\n // this.setState({\r\n // downloading: item.id,\r\n // })\r\n // }\r\n // onDownLoadEnd={() => this.setState({ downloading: null })}\r\n // apiUrl={`/drill/report/${this.props.drillReport.id}/answer/${this.state.idAnswerAttachment}/attachment/${item?.attachment?.fileIdentifier}`}\r\n // fileName={item?.attachment?.name}\r\n // size=\"small\"\r\n // renderIcon={View16}\r\n // iconDescription=\"Download\"\r\n // kind=\"ghost\"\r\n // disabled={this.props.editingDisabled}\r\n // />\r\n // \r\n // \r\n // \r\n // \r\n // {/* \r\n // this.downloadAttachmentAnswer(item.id)\r\n // }\r\n // size=\"small\"\r\n // renderIcon={View16}\r\n // iconDescription=\"Download\"\r\n // kind=\"ghost\"\r\n // disabled={this.props.editingDisabled}\r\n // /> */}\r\n // \r\n // {(IsInRole(user, 'Administrator') ||\r\n // IsInRole(user, 'Compiler')) && (\r\n // this.onDeleteAttachmentAnswer(item.id)}\r\n // size=\"small\"\r\n // renderIcon={Delete16}\r\n // iconDescription=\"Delete\"\r\n // kind=\"ghost\"\r\n // disabled={this.props.editingDisabled}\r\n // />\r\n // )}\r\n // {' '}\r\n // \r\n // \r\n // \r\n // \r\n //
    \r\n // )}\r\n // \r\n //
    \r\n // ))\r\n // )\r\n // ) : (\r\n // ''\r\n // )\r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n )}\r\n \r\n );\r\n }\r\n\r\n async onDeleteAttachmentAnswer(Id) {\r\n this.props.deleteAnswerAttachment(Id, this.state.idAnswerAttachment);\r\n }\r\n\r\n downloadAttachmentAnswer = async (Id) => {\r\n this.props.downloadAnswerAttachment(Id, this.state.idAnswerAttachment);\r\n };\r\n\r\n async onUploadAnswer(fileIdentifier, fileName, fileType, size) {\r\n const newAttach = {\r\n id: uuid(),\r\n fileIdentifier: fileIdentifier.blobName,\r\n name: fileName,\r\n contentType: fileType,\r\n size,\r\n };\r\n this.props.uploadAnswerAttachment(this.state.idAnswerAttachment, newAttach);\r\n }\r\n //* *************** ATTACHMENT **************** END\r\n\r\n newCheckListRequirementAdded = (item) => {\r\n const { drillCheckListRequirementAnswers } = this.state.drillReport;\r\n let count = 0;\r\n // for (const answer in drillCheckListRequirementAnswers) {\r\n // if (answer != null) count += 1;\r\n // }\r\n Object.keys(drillCheckListRequirementAnswers).forEach((key) => {\r\n if (drillCheckListRequirementAnswers[key] != null) count += 1;\r\n });\r\n drillCheckListRequirementAnswers[count] = item;\r\n this.setState((prevState) => {\r\n const state = { ...prevState };\r\n state.modalAddRequirementVisible = !prevState.modalAddRequirementVisible;\r\n state.isSubmitted = false;\r\n state.drillReport.drillCheckListRequirementAnswers = drillCheckListRequirementAnswers;\r\n // this.repository.updateCachedAudit(this.state.drillReport); TODO\r\n return state;\r\n });\r\n };\r\n \r\n getNewCAR = () => (({ idAnswer, ...object }) => object)(this.state.carModel)\r\n\r\n saveCar = () => {\r\n if (this.validationsCar.allValid()) {\r\n let idDrillReport = null;\r\n const { idAnswer } = this.state?.carModel; \r\n this.setState({\r\n isSaveCar: true,\r\n });\r\n if (!this.state.isUpdateDocument) {\r\n idDrillReport = this.state.drillReport.id;\r\n // let { idAnswer } = this.state.carModel;\r\n if (idAnswer == null || idDrillReport == null) return;\r\n this.setState((prevState) => (\r\n \r\n { carModel: {\r\n ...prevState.carModel,\r\n idAnswer,\r\n } }));\r\n }\r\n\r\n const newCar = this.getNewCAR();\r\n\r\n const method = this.state.isUpdateDocument\r\n ? api.put(`drill/report/answer/car/${this.state.carModel.id}`, newCar)\r\n : api.post(`drill/report/${idDrillReport}/answer/${idAnswer}/car`, newCar);\r\n\r\n method\r\n .then(async (response) => {\r\n if (response.status === 200) {\r\n if (!this.state.isUpdateDocument) {\r\n newCar.idStatus = 1;\r\n newCar.status = {\r\n caManagementName: 'Draft',\r\n carManagementName: 'Assigned',\r\n carSimplifiedName: 'Opened',\r\n createdBy: 'System',\r\n createdOn: null,\r\n id: 1,\r\n name: 'Draft',\r\n planningName: 'Draft',\r\n reportingName: 'Opened',\r\n };\r\n newCar.drillCheckListRequirementAnswer = \r\n this.state.drillReport.drillCheckListRequirementAnswers.find(\r\n (qa) => qa.id === idAnswer\r\n );\r\n }\r\n newCar.idDrillReport = this.state.drillReport.id;\r\n newCar.drillReport = this.state.drillReport;\r\n newCar.drillCARCode = response.data?.drillCarCode;\r\n // await DrillRepository.updateCachedCarList(newCar);\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,\r\n getSuccess(\r\n entitiesLabels.EMERGENCYDRILL_CAR,\r\n this.state.isUpdateDocument ? apioperation.PUT : apioperation.POST\r\n )\r\n );\r\n\r\n if (!this.state.isUpdateDocument) {\r\n const { drillCheckListRequirementAnswers } = this.state.drillReport;\r\n\r\n const index = drillCheckListRequirementAnswers.findIndex((qa) => qa.id === idAnswer);\r\n\r\n drillCheckListRequirementAnswers[index].car = response?.data?.drillCar\r\n ? response?.data?.drillCar\r\n : newCar;\r\n this.setState((prevState) => {\r\n const state = { ...prevState };\r\n state.drillReport.drillCheckListRequirementAnswers =\r\n drillCheckListRequirementAnswers;\r\n return state;\r\n });\r\n this.closemodalCar();\r\n } else {\r\n const { drillCheckListRequirementAnswers } = this.state.drillReport;\r\n\r\n const index = drillCheckListRequirementAnswers.findIndex(\r\n (qa) => qa.id === this.state.carModel.idAnswer\r\n );\r\n\r\n drillCheckListRequirementAnswers[index].car = response?.data\r\n ? response?.data\r\n : newCar;\r\n this.setState((prevState) => {\r\n const state = { ...prevState };\r\n state.drillReport.drillCheckListRequirementAnswers =\r\n drillCheckListRequirementAnswers;\r\n return state;\r\n });\r\n this.closemodalCar();\r\n }\r\n this.closemodalCar();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.EMERGENCYDRILL, apioperation.POST));\r\n })\r\n .finally(() => {\r\n this.closemodalCar();\r\n this.setState(\r\n {\r\n isSaveCar: false,\r\n },\r\n () => {\r\n // this.getSelectedEntityRoles();\r\n }\r\n );\r\n });\r\n } else {\r\n this.validationsCar.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.EMERGENCYDRILL_REPORT} required fields are missing `\r\n );\r\n\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n closemodalCar = () => {\r\n this.setState({\r\n carModel: {\r\n ...this.carModelProps(),\r\n },\r\n ownerModel: {\r\n ...this.ownerModelprops(),\r\n },\r\n isUpdateDocument: false,\r\n isOpenModalCar: false,\r\n });\r\n this.validationsCar = new SimpleReactValidator();\r\n };\r\n\r\n showGHRS = () => {\r\n const statusCopy = { ...this.state };\r\n statusCopy.isOpenModalGHRS = true;\r\n this.setState(statusCopy);\r\n };\r\n\r\n handleChangeMode = (m) => {\r\n if (m === 0) {\r\n this.setState({ mode: m, isOpenModalGHRS: false });\r\n } else {\r\n this.setState({ mode: m, isOpenModalGHRS: true });\r\n }\r\n };\r\n\r\n onDetailsOfInefficiencyChange(event) {\r\n const { value } = event.currentTarget;\r\n this.setState((prevState) => ({ carModel: {\r\n ...prevState.carModel,\r\n detailsOfInefficiency: value,\r\n } }));\r\n }\r\n\r\n onFindingDescriptionChange(event) {\r\n const { value } = event.currentTarget;\r\n this.setState((prevState) => ({ carModel: {\r\n ...prevState.carModel,\r\n findingDescription: value,\r\n } }));\r\n }\r\n\r\n onCorrectiveActionChange(event) {\r\n const { value } = event.currentTarget;\r\n this.setState((prevState) => ({ carModel: {\r\n ...prevState.carModel,\r\n identifiedCorrectiveAction: value,\r\n } }));\r\n }\r\n\r\n updateStateDPCAR = (inputName, inputValue) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy.carModel.duedate = inputValue;\r\n this.setState(statusCopy);\r\n };\r\n\r\n setEmployer = (employer) => {\r\n if (employer && employer.id) {\r\n const statusCopy = { ...this.state };\r\n statusCopy.ownerModel.fullname = employer.fullname;\r\n statusCopy.ownerModel.email = employer.email;\r\n statusCopy.carModel.carOwner = employer;\r\n statusCopy.carModel.idOwner = employer.id;\r\n statusCopy.carModel.owner = employer;\r\n this.setState(statusCopy);\r\n\r\n this.setState({ isOpenModalGHRS: false });\r\n }\r\n };\r\n\r\n handleChangeGHRSModal() {\r\n const statusCopy = { ...this.state };\r\n statusCopy.isOpenModalGHRS = false;\r\n this.setState(statusCopy);\r\n }\r\n\r\n // /Requirement\r\n showAddRequirement = () => {\r\n this.setState((oldState) => ({\r\n modalAddRequirementVisible: !oldState.modalAddRequirementVisible,\r\n }));\r\n };\r\n\r\n setEmployer = (employer) => {\r\n if (employer && employer.id) {\r\n const statusCopy = { ...this.state };\r\n statusCopy.ownerModel.fullname = employer.fullname;\r\n statusCopy.ownerModel.email = employer.email;\r\n statusCopy.carModel.carOwner = employer;\r\n statusCopy.carModel.idOwner = employer.id;\r\n statusCopy.carModel.owner = employer;\r\n statusCopy.carModel.idOwnerSaipem = null;\r\n statusCopy.carModel.ownerSaipem = null;\r\n this.setState(statusCopy);\r\n\r\n this.setState({ isOpenModalGHRS: false });\r\n }\r\n };\r\n\r\n setSaipemOwner = (employer) => {\r\n if (employer && employer.id) {\r\n this.setState((prevState) => {\r\n const statusCopy = { ...prevState };\r\n statusCopy.ownerModel.fullname = employer.fullname;\r\n statusCopy.ownerModel.email = employer.email;\r\n statusCopy.carModel.carOwner = employer;\r\n statusCopy.carModel.idOwnerSaipem = employer.id;\r\n statusCopy.carModel.ownerSaipem = employer;\r\n statusCopy.carModel.idOwner = null;\r\n statusCopy.carModel.owner = null;\r\n\r\n return { model: statusCopy, mode: 0, isOpenModalGHRS: false };\r\n });\r\n }\r\n };\r\n \r\n showModalCar = (idAnswer, requirement) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy.carModel.id = uuid();\r\n statusCopy.carModel.idDrillReport = this.state.drillReport.id;\r\n statusCopy.carModel.idDrillCheckListRequirementAnswer = \r\n this.state.drillReport.drillCheckListRequirementAnswers[0].id;\r\n statusCopy.carModel.idStatus = 1;\r\n statusCopy.carModel.idAnswer = idAnswer;\r\n statusCopy.carModel.requirementCode = requirement;\r\n statusCopy.isOpenModalCar = true;\r\n statusCopy.carModel.detailsOfInefficiency = null;\r\n statusCopy.carModel.findingDescription = null;\r\n statusCopy.carModel.identifiedCorrectiveAction = null;\r\n this.setState(statusCopy);\r\n };\r\n\r\n getCarOwnerMail = (car) => {\r\n if (car.owner != null) {\r\n return car.owner.email;\r\n } \r\n if (car.ownerSaipem != null) {\r\n return car.ownerSaipem.email;\r\n }\r\n return '';\r\n }\r\n\r\n getCarOwnerFullName = (car) => {\r\n if (car.owner != null) {\r\n return car.owner.name;\r\n } \r\n if (car.ownerSaipem != null) {\r\n return car.ownerSaipem.name;\r\n }\r\n return '';\r\n }\r\n\r\n showModalUpdateCar = (idAnswer, car) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy.carModel.id = car.id;\r\n statusCopy.carModel.idDrillCheckListRequirementAnswer = car.idDrillCheckListRequirementAnswer;\r\n statusCopy.carModel.idAnswer = idAnswer;\r\n statusCopy.carModel.duedate = moment(car.dueDate).format('YYYY-MM-DD');\r\n statusCopy.carModel.detailsOfInefficiency = car.detailsOfInefficiency;\r\n statusCopy.carModel.findingDescription = car.findingDescription;\r\n statusCopy.carModel.identifiedCorrectiveAction = car.identifiedCorrectiveAction;\r\n statusCopy.carModel.idOwner = car.idOwner;\r\n statusCopy.carModel.idOwnerSaipem = car.idOwnerSaipem;\r\n statusCopy.carModel.idStatus = car.idStatus;\r\n statusCopy.carModel.status = car.status;\r\n statusCopy.ownerModel.email = this.getCarOwnerMail(car);\r\n statusCopy.ownerModel.fullname = this.getCarOwnerFullName(car);\r\n statusCopy.isOpenModalCar = true;\r\n statusCopy.isUpdateDocument = true;\r\n\r\n this.setState(statusCopy);\r\n };\r\n\r\n modalCar() {\r\n let diffduedate = true;\r\n if (this.state.drillReport.deliveryDate !== '0001-01-01T00:00:00Z') {\r\n diffduedate =\r\n !this.state.carModel.duedate ||\r\n moment(this.state.carModel.duedate).isSameOrAfter(\r\n moment(this.state.drillReport.deliveryDat),\r\n 'day'\r\n );\r\n }\r\n const modalHeader = {\r\n title: this.state.isUpdateDocument ? 'Edit Car' : 'Add new Car',\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.closemodalCar(),\r\n };\r\n const validationCar = {\r\n detailsOfInefficiency: this.validationsCar.message(\r\n 'Details of inefficiency',\r\n this.state.carModel?.detailsOfInefficiency,\r\n 'required'\r\n ),\r\n findingDescription: this.validationsCar.message(\r\n 'Finding Description',\r\n this.state.carModel?.findingDescription,\r\n 'required'\r\n ),\r\n correctiveAction: this.validationsCar.message(\r\n 'Corrective Action to be implemented',\r\n this.state.carModel?.identifiedCorrectiveAction,\r\n 'required'\r\n ),\r\n dueDate: this.validationsCar.message('DueDate', this.state.carModel?.duedate, 'required'),\r\n email: this.validationsCar.message('Car Owner', this.state.ownerModel?.email, 'required'),\r\n duedate: this.validationsCar.message('Due Date ', diffduedate, 'accepted'),\r\n };\r\n return (\r\n <>\r\n {this.state.isOpenModalCar && !this.state.isOpenModalGHRS && (\r\n false}>\r\n \r\n

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

    \r\n
    \r\n {this.state.isSaveCar && }\r\n\r\n
    \r\n {this.state.isLoadingElement ? : ''}\r\n
    \r\n \r\n Due Date*\r\n {this.state.isLoadingDate ? (\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n {validationCar.dueDate}\r\n {validationCar.duedate ? (\r\n
    \r\n {' '}\r\n Date of the event less than the date of execution\r\n {' '}\r\n
    \r\n ) : null}\r\n
    \r\n\r\n \r\n
    \r\n
    \r\n this.showGHRS()}\r\n >\r\n GHRS research\r\n \r\n
    \r\n
    \r\n this.handleChangeMode(2)}\r\n >\r\n Saipem research\r\n \r\n
    \r\n
    \r\n {validationCar.email}\r\n
    \r\n \r\n Owner Full Name*\r\n \r\n \r\n \r\n Owner Email*\r\n \r\n \r\n \r\n \r\n \r\n {validationCar.findingDescription}\r\n \r\n \r\n \r\n {validationCar.detailsOfInefficiency}\r\n \r\n \r\n \r\n {validationCar.correctiveAction}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )}\r\n {this.state.isOpenModalCar && this.state.isOpenModalGHRS && this.state.mode !== 2 && (\r\n )\r\n }\r\n {this.state.isOpenModalCar && this.state.isOpenModalGHRS && this.state.mode === 2 && (\r\n this.handleChangeMode(0)}\r\n onOk={this.setSaipemOwner}\r\n />)\r\n }\r\n {/* {this.state.isOpenModalCar ? (\r\n !this.state.isOpenModalGHRS ? (\r\n false}>\r\n \r\n

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

    \r\n
    \r\n {this.state.isSaveCar && }\r\n\r\n
    \r\n {this.state.isLoadingElement ? : ''}\r\n
    \r\n \r\n Due Date*\r\n {this.state.isLoadingDate ? (\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n {validationCar.dueDate}\r\n {validationCar.duedate ? (\r\n
    \r\n {' '}\r\n Date of the event less than the date of execution\r\n {' '}\r\n
    \r\n ) : null}\r\n
    \r\n\r\n \r\n
    \r\n
    \r\n this.showGHRS()}\r\n >\r\n GHRS research\r\n \r\n
    \r\n
    \r\n this.handleChangeMode(2)}\r\n >\r\n Saipem research\r\n \r\n
    \r\n
    \r\n {validationCar.email}\r\n
    \r\n\r\n \r\n Owner Full Name*\r\n \r\n \r\n \r\n Owner Email*\r\n \r\n \r\n\r\n \r\n \r\n \r\n {validationCar.detailsOfInefficiency}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n ) : this.state.mode !== 2 ? (\r\n \r\n ) : (\r\n this.handleChangeMode(0)}\r\n onOk={this.setSaipemOwner}\r\n />\r\n )\r\n ) : (\r\n ''\r\n )} */}\r\n \r\n );\r\n }\r\n\r\n IsRowSelectable() {\r\n const { drillReport } = this.state;\r\n if (drillReport == null || drillReport.idStatus === STATUS.Consolidated) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n //* *************** REQUIREMENT *****************// START\r\n showAddRequirement = (Template, Section) => {\r\n this.setState((oldState) => ({\r\n modalAddRequirementVisible: !oldState.modalAddRequirementVisible,\r\n addRequirementTemplate: Template,\r\n addRequirementSection: Section,\r\n }));\r\n };\r\n\r\n showDeleteRequirement(id) {\r\n this.setState((oldState) => ({\r\n modalDeleteRequirementVisible: !oldState.modalDeleteRequirementVisible,\r\n requirementToDelete: id,\r\n }));\r\n }\r\n\r\n showModifyRequirement = (idCheckListAnswer, requirement) => {\r\n this.setState((oldState) => ({\r\n modalUpdateRequirementVisible: !oldState.modalUpdateRequirementVisible,\r\n requirementToModify: requirement,\r\n checkListRequirementToModify: idCheckListAnswer,\r\n }));\r\n };\r\n\r\n showModifyRequirementTemplate = (idCheckListAnswer, requirement, templateId) => {\r\n this.setState((oldState) => ({\r\n modalUpdateRequirementVisible: !oldState.modalUpdateRequirementVisible,\r\n requirementToModify: requirement,\r\n checkListRequirementToModify: idCheckListAnswer,\r\n checkListRequirementToModifyTemplate: templateId\r\n }));\r\n };\r\n\r\n checkListRequirementUpdated = (item) => {\r\n const { drillCheckListRequirementAnswers } = this.state.drillReport;\r\n const index = drillCheckListRequirementAnswers.findIndex(\r\n (qa) => qa.requirement?.id === item?.id\r\n );\r\n drillCheckListRequirementAnswers[index].requirement = item;\r\n this.setState((prevState) => {\r\n const state = { ...prevState };\r\n state.modalUpdateRequirementVisible = !prevState.modalUpdateRequirementVisible;\r\n state.isSubmitted = false;\r\n state.drillReport.drillCheckListRequirementAnswers = drillCheckListRequirementAnswers;\r\n // this.repository.updateCachedAudit(this.state.inspectionModel); TODO\r\n return state;\r\n });\r\n };\r\n\r\n newCheckListRequirementAdded = (item) => {\r\n const { drillCheckListRequirementAnswers } = this.state.drillReport;\r\n let count = 0;\r\n // for (const answer in drillCheckListRequirementAnswers) {\r\n // if (answer != null) count += 1;\r\n // }\r\n Object.keys(drillCheckListRequirementAnswers).forEach((key) => {\r\n if (drillCheckListRequirementAnswers[key] != null) count += 1;\r\n });\r\n drillCheckListRequirementAnswers[count] = item;\r\n this.setState((prevState) => {\r\n const state = { ...prevState };\r\n state.modalAddRequirementVisible = !prevState.modalAddRequirementVisible;\r\n state.isSubmitted = false;\r\n state.drillReport.drillCheckListRequirementAnswers = drillCheckListRequirementAnswers;\r\n // this.repository.updateCachedAudit(this.state.inspectionModel); TODO\r\n return state;\r\n });\r\n };\r\n\r\n handleRequirementDeleteCancel = () => {\r\n this.setState((oldState) => ({\r\n modalDeleteRequirementVisible: !oldState.modalDeleteRequirementVisible,\r\n requirementToDelete: null,\r\n }));\r\n };\r\n\r\n handleRequirementDelete = async () => {\r\n this.setState({ isDeletingReq: true });\r\n this.props.requirementDelete(this.state.requirementToDelete);\r\n this.setState((oldState) => ({\r\n modalDeleteRequirementVisible: !oldState.modalDeleteRequirementVisible,\r\n requirementToDelete: null,\r\n isDeletingReq: false,\r\n }));\r\n };\r\n\r\n renderRequirementDeleteModal = () => {\r\n const modalHeader = {\r\n title: 'Delete Custom Requirement',\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.handleRequirementDeleteCancel(),\r\n };\r\n return (\r\n this.state.modalDeleteRequirementVisible && (\r\n {\r\n this.handleRequirementDeleteCancel();\r\n }}\r\n >\r\n \r\n

    \r\n \r\n {this.state.isDeletingReq ? : ''}\r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n Press confirm to delete selected custom requirement\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n );\r\n };\r\n\r\n getRequirementAnswer = () => {\r\n const result = [];\r\n if (this.state.drillReport.drillCheckListRequirementAnswers) {\r\n this.state.drillReport.drillCheckListRequirementAnswers.forEach((item) => {\r\n if (item.requirement) result.push(item);\r\n });\r\n }\r\n return result;\r\n };\r\n\r\n getRequirementAnswerTemplate = (templateId) => {\r\n const result = [];\r\n if (this.state.drillReport.drillCheckListRequirementAnswers) {\r\n this.state.drillReport.drillCheckListRequirementAnswers.forEach((item) => {\r\n if (item.requirement && item.requirement.idDrillCheckListTemplate === templateId) {\r\n result.push(item);\r\n }\r\n });\r\n }\r\n return result;\r\n };\r\n //* *************** REQUIREMENT *****************// END\r\n\r\n //* *************** ANSWER *****************// START\r\n onAnswerChange = (id, answer) => {\r\n const { drillCheckListRequirementAnswers } = this.state.drillReport;\r\n const index = drillCheckListRequirementAnswers.findIndex((qa) => qa.id === id);\r\n if (drillCheckListRequirementAnswers[index].idAnswer !== answer.id) {\r\n drillCheckListRequirementAnswers[index].idAnswer = answer.id;\r\n drillCheckListRequirementAnswers[index].answer = answer;\r\n } else drillCheckListRequirementAnswers[index].idAnswer = null;\r\n this.setState((prevState) => {\r\n const drillReport = {\r\n ...prevState.drillReport,\r\n };\r\n drillReport.drillCheckListRequirementAnswers = drillCheckListRequirementAnswers;\r\n return { drillReport };\r\n });\r\n };\r\n\r\n onNoteChange(id, note) {\r\n note.preventDefault();\r\n const { drillCheckListRequirementAnswers } = this.state.drillReport;\r\n const index = drillCheckListRequirementAnswers.findIndex((qa) => qa.id === id);\r\n drillCheckListRequirementAnswers[index].notes = note.target.value;\r\n this.setState((prevState) => {\r\n const drillReport = {\r\n ...prevState.drillReport,\r\n };\r\n drillReport.drillCheckListRequirementAnswers = drillCheckListRequirementAnswers;\r\n return { drillReport };\r\n });\r\n }\r\n //* *************** ANSWER *****************// END\r\n\r\n //* *************** CAR *****************// START\r\n getCar(qa, user) {\r\n return (\r\n <>\r\n {!qa.car ? (\r\n this.showModalCar(qa.id, qa.question?.code)}\r\n >\r\n Associate CAR\r\n \r\n ) : (\r\n <>\r\n \r\n this.onDeleteCar(this.state.idAnswerToDelete, this.state.idToDelete)}\r\n />\r\n\r\n
    \r\n
    {qa.car.drillCARCode}
    \r\n {IsEditable(\r\n 'Emergency Drill',\r\n 'CARSimplified',\r\n user,\r\n qa.car.idStatus,\r\n 'DueDate',\r\n this.props.drillReport\r\n ) ? (\r\n <>\r\n this.showModalUpdateCar(qa.id, qa.car)}\r\n kind=\"ghost\"\r\n className=\"checklist-custom-content-detail\"\r\n disabled={this.props.disabled}\r\n />\r\n \r\n \r\n this.confirmDeleteCAR(qa.car.id, qa.car.idDrillCheckListRequirementAnswer)\r\n }\r\n kind=\"ghost\"\r\n className=\"checklist-custom-content-info \"\r\n disabled={this.props.disabled}\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\n \r\n );\r\n }\r\n\r\n onDeleteCar = (idAnswer, id) => {\r\n this.setState({\r\n isDeleting: true,\r\n });\r\n api\r\n .delete(`/drill/report/${this.state.drillReport.id}/answer/${idAnswer}/car/${id}`, '')\r\n .then((response) => {\r\n if (response.status === 200) {\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.EMERGENCYDRILL_CAR, apioperation.DELETE)\r\n );\r\n\r\n const { drillCheckListRequirementAnswers } = this.state.drillReport;\r\n\r\n const index = drillCheckListRequirementAnswers.findIndex((qa) => qa.id === idAnswer);\r\n\r\n drillCheckListRequirementAnswers[index].car = null;\r\n this.onCloseConfirm();\r\n this.setState((prevState) => {\r\n const state = { ...prevState };\r\n state.drillReport.drillCheckListRequirementAnswers = drillCheckListRequirementAnswers;\r\n // this.repository.updateCachedAudit(this.state.inspectionModel); TODO\r\n\r\n return state;\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.EMERGENCYDRILL_CAR, apioperation.DELETE)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isDeleting: false,\r\n });\r\n });\r\n };\r\n //* *************** CAR *****************// END\r\n\r\n renderContent = (user) => (\r\n <>\r\n {(IsInRole(user, 'Administrator') || IsInRole(user, 'Compiler')) && (\r\n
    \r\n \r\n Save\r\n \r\n
    \r\n )}\r\n {this.modalCar()}\r\n {this.modalAttachment(user)}\r\n {this.renderRequirementDeleteModal()}\r\n {this.state.modalAddRequirementVisible ? (\r\n \r\n ) : null}\r\n {this.state.modalUpdateRequirementVisible ? (\r\n \r\n ) : null}\r\n\r\n \r\n {}}\r\n onKeyDown={() => {}}\r\n role=\"presentation\"\r\n selected={false}\r\n tabIndex={0}\r\n id={0}\r\n key={0}\r\n >\r\n
    \r\n {(IsInRole(user, 'Administrator') || IsInRole(user, 'Compiler')) && (\r\n
    \r\n this.showAddRequirement()}\r\n >\r\n Add Requirement\r\n \r\n
    \r\n )}\r\n
    \r\n {this.state.drillReport.drillCheckListRequirementAnswers\r\n ?.filter((a) => a.idQuestion != null && a.question?.idDrillCheckListTemplate == null) \r\n .map((qa) => (\r\n
    \r\n this.onNoteChange(qa.id, note)}\r\n validator={this.validationsAnswer}\r\n />\r\n
    \r\n
    \r\n {this.getCar(qa, user)}\r\n
    \r\n
    \r\n {qa.attachments && qa.attachments.length > 0 ?\r\n \r\n : null}\r\n this.showModalAttachment(qa.id)}\r\n >\r\n Attachments\r\n \r\n
    \r\n
    \r\n
    \r\n ))}\r\n\r\n {this.getRequirementAnswer().map((qa) => (\r\n
    \r\n this.showDeleteRequirement(qa.requirement.id)}\r\n onUpdateCustomRequirement={() => this.showModifyRequirement(qa.id, qa.requirement)}\r\n onNoteChange={(note) => this.onNoteChange(qa.id, note)}\r\n disabled={this.props.editingDisabled}\r\n validator={this.validationsAnswer}\r\n />\r\n
    \r\n
    \r\n {this.getCar(qa, user)}\r\n
    \r\n
    \r\n {qa.attachments && qa.attachments.length > 0 ?\r\n \r\n : null}\r\n this.showModalAttachment(qa.id)}\r\n >\r\n Attachments\r\n \r\n
    \r\n
    \r\n
    \r\n ))}\r\n\r\n \r\n {this.state.drillReport.drillCheckListRequirementAnswers\r\n && this.getTemplate().map((template) => (\r\n \r\n { }}\r\n onKeyDown={() => { }}\r\n role=\"presentation\"\r\n selected={false}\r\n tabIndex={0}\r\n id={0}\r\n key={0}\r\n >\r\n {!template.active && \r\n
    \r\n {`Click the following button to enable the checklist in accordance with: ${template.name}`}\r\n
    }\r\n this.toggleActiveTemplateQuestions(template.id)}\r\n className=\"toggle-bg-orange mb-20px\"\r\n labelText=\"Template Enabled\"\r\n aria-label=\"\"\r\n disabled={this.props.editingDisabled}\r\n id={`toggle-1 - ${template.id}`}\r\n />\r\n
    \r\n {(IsInRole(user, 'Administrator') || IsInRole(user, 'Compiler')) && (\r\n
    \r\n this.showAddRequirement(template.id)}\r\n >\r\n Add Requirement\r\n \r\n
    \r\n )}\r\n
    \r\n {this.state.drillReport.drillCheckListRequirementAnswers\r\n ?.filter((a) => a.idQuestion != null && a.question.idDrillCheckListTemplate != null \r\n && a.question.idDrillCheckListTemplate === template.id)\r\n .map((qa) => (\r\n
    \r\n this.onNoteChange(qa.id, note)}\r\n required={false}\r\n validator={this.validationsAnswer}\r\n />\r\n
    \r\n
    \r\n {this.getCar(qa, user)}\r\n
    \r\n
    \r\n {qa.attachments && qa.attachments.length > 0 ?\r\n \r\n : null}\r\n this.showModalAttachment(qa.id)}\r\n disabled={!template.active}\r\n >\r\n Attachments\r\n \r\n
    \r\n
    \r\n
    \r\n ))}\r\n\r\n {this.getRequirementAnswerTemplate(template.id).map((qa) => (\r\n
    \r\n this.showDeleteRequirement(qa.requirement.id)}\r\n onUpdateCustomRequirement={() => \r\n this.showModifyRequirementTemplate(qa.id, qa.requirement, template.id)}\r\n onNoteChange={(note) => this.onNoteChange(qa.id, note)}\r\n disabled={this.props.editingDisabled || !template.active}\r\n required={false}\r\n validator={this.validationsAnswer}\r\n />\r\n
    \r\n
    \r\n {this.getCar(qa, user)}\r\n
    \r\n
    \r\n {qa.attachments && qa.attachments.length > 0 ?\r\n \r\n : null}\r\n this.showModalAttachment(qa.id)}\r\n disabled={!template.active}\r\n >\r\n Attachments\r\n \r\n
    \r\n
    \r\n
    \r\n ))}\r\n \r\n ))}\r\n
    \r\n\r\n \r\n );\r\n\r\n render() {\r\n return this.props.drillReport ? (\r\n \r\n {({ user }) => (IsEnabled(user, 'Emergency Drill') ? <>{this.renderContent(user)} : '')}\r\n \r\n ) : (\r\n <>\r\n );\r\n }\r\n}\r\nexport default DrillReportSummary;\r\n\r\nDrillReportSummary.propTypes = {\r\n editingDisabled: PropTypes.bool.isRequired,\r\n disabled: PropTypes.bool,\r\n updateAnswers: PropTypes.func.isRequired,\r\n deleteAnswerAttachment: PropTypes.func.isRequired,\r\n downloadAnswerAttachment: PropTypes.func.isRequired,\r\n uploadAnswerAttachment: PropTypes.func.isRequired,\r\n requirementDelete: PropTypes.func.isRequired,\r\n drillReport: PropTypes.shape({\r\n id: PropTypes.instanceOf(uuid),\r\n sequence: PropTypes.number,\r\n drillReportCode: PropTypes.string,\r\n name: PropTypes.string,\r\n lcuReference: PropTypes.string,\r\n scenarioDescription: PropTypes.string,\r\n overallAssessmentNotes: PropTypes.string,\r\n isSatisfactory: PropTypes.bool,\r\n referenceProcedure: PropTypes.string,\r\n deliveryDate: PropTypes.instanceOf(Date),\r\n isInPlannedWeek: PropTypes.bool,\r\n deliveryDateWithWeek: PropTypes.string,\r\n plannedWeekWithDate: PropTypes.string,\r\n idDrillPlan: PropTypes.instanceOf(uuid),\r\n idStatus: PropTypes.number,\r\n compilerAssignStatus: PropTypes.string,\r\n idLightCondition: PropTypes.instanceOf(uuid),\r\n idSeaCondition: PropTypes.instanceOf(uuid),\r\n idWeatherCondition: PropTypes.instanceOf(uuid),\r\n idEmergencyLevel: PropTypes.instanceOf(uuid),\r\n temperature: PropTypes.number,\r\n temperatureScale: PropTypes.string,\r\n windSpeed: PropTypes.number,\r\n equipmentUsed: PropTypes.string,\r\n distributionList: PropTypes.string,\r\n poB_BOS: PropTypes.number,\r\n pointsOfStrength: PropTypes.string,\r\n notes: PropTypes.string,\r\n needsToRepeat: PropTypes.bool,\r\n drillPlan: PropTypes.object,\r\n status: PropTypes.object,\r\n lightCondition: PropTypes.object,\r\n seaCondition: PropTypes.object,\r\n weatherCondition: PropTypes.object,\r\n drillEmergencyLevel: PropTypes.object,\r\n drillNotificationForm: PropTypes.object,\r\n division: PropTypes.object,\r\n company: PropTypes.object,\r\n workSite: PropTypes.object,\r\n participant: PropTypes.object,\r\n drillTypeDetail: PropTypes.object,\r\n drillType: PropTypes.object,\r\n drillReportPlannedWeeks: PropTypes.arrayOf(PropTypes.object),\r\n drillCheckListRequirementAnswers: PropTypes.arrayOf(PropTypes.object),\r\n attachments: PropTypes.arrayOf(PropTypes.object),\r\n people: PropTypes.arrayOf(PropTypes.object),\r\n unitsInvolved: PropTypes.arrayOf(PropTypes.object),\r\n timelines: PropTypes.arrayOf(PropTypes.object),\r\n drillReportProjects: PropTypes.arrayOf(PropTypes.object),\r\n projects: PropTypes.arrayOf(PropTypes.object)\r\n })\r\n};\r\nDrillReportSummary.defaultProps = { \r\n disabled: false,\r\n drillReport: null\r\n };\r\n","/* eslint-disable react/jsx-props-no-spreading */\r\n/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport {\r\n FormGroup,\r\n TextArea,\r\n Button,\r\n DataTable,\r\n TableContainer,\r\n TableToolbar,\r\n Table,\r\n TableHead,\r\n TableBody,\r\n TableRow,\r\n TableHeader,\r\n TableCell,\r\n TableToolbarContent,\r\n Tile,\r\n TimePicker,\r\n DatePicker,\r\n DatePickerInput,\r\n} from 'carbon-components-react';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport Close16 from '@carbon/icons-react/lib/close/16';\r\nimport Add16 from '@carbon/icons-react/lib/add/16';\r\nimport Save16 from '@carbon/icons-react/lib/save/16';\r\nimport Send16 from '@carbon/icons-react/lib/email/16';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport PropTypes from 'prop-types';\r\nimport { v4 as uuid } from 'uuid';\r\nimport moment from 'moment';\r\nimport { showNotification } from '../../../../helpers/notification/BaseNotification';\r\nimport { entitiesLabels } from '../../../../helpers/Constants';\r\nimport { NoRecordsPlaceholder } from '../../../../helpers/jsonschemaform/DataTableExtention';\r\nimport EmailChips from '../../../../helpers/EmailChips';\r\nimport DateTimePicker from '../../../../helpers/DateTimePicker';\r\n\r\nexport default class DrillNotificationForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n notificationData: this.props.NotificationFormData || { activities: [] },\r\n modalActivityDeleteVisible: false,\r\n flagTime: false,\r\n selectedActivity: {\r\n id: null,\r\n activity: null,\r\n from: null,\r\n to: null,\r\n date: null,\r\n },\r\n };\r\n this.onDistributionListModify = this.onDistributionListModify.bind(this);\r\n this.handleActivityDetailVisibility = this.handleActivityDetailVisibility.bind(this);\r\n this.handleDeleteActivityModal = this.handleDeleteActivityModal.bind(this);\r\n this.onTimeToChanged = this.onTimeToChanged.bind(this);\r\n this.onTimeFromChanged = this.onTimeFromChanged.bind(this);\r\n this.onActivityChanged = this.onActivityChanged.bind(this);\r\n this.onSubmitActivity = this.onSubmitActivity.bind(this);\r\n this.onActivityDateChange = this.onActivityDateChange.bind(this);\r\n this.onActivityDelete = this.onActivityDelete.bind(this);\r\n this.saveNotificationForm = this.saveNotificationForm.bind(this);\r\n this.sendNotification = this.sendNotification.bind(this);\r\n\r\n this.validator = new SimpleReactValidator({\r\n validators: {\r\n emails: {\r\n // name the rule\r\n message: 'The :attribute must be a valid email address list semicolon separated',\r\n rule: (val, params, validator) =>\r\n validator.helpers.testRegex(\r\n val,\r\n // eslint-disable-next-line no-useless-escape\r\n /^(([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)(\\s*;\\s*|\\s*$))+$/i\r\n ) && params.indexOf(val) === -1,\r\n required: true, // optional\r\n },\r\n time: {\r\n message: ':attribute must be a valid time',\r\n rule: (val, params, validator) =>\r\n validator.helpers.testRegex(val, /^(0[0-9]|1[0-9]|2[0-3]|[0-9]):[0-5][0-9]+$/) &&\r\n params.indexOf(val) === -1,\r\n required: true, // optional\r\n },\r\n datePicker: {\r\n message: 'The :attribute must be a valid date with mm/dd/yyyy format',\r\n rule: (val, params) => moment(val).isValid() && params.indexOf(val) === -1,\r\n required: true, // optional\r\n },\r\n },\r\n });\r\n this.validatorTime = new SimpleReactValidator({ locale: 'en' });\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.NotificationFormData !== this.props.NotificationFormData) {\r\n this.setState({ notificationData: nextProps.NotificationFormData });\r\n }\r\n }\r\n\r\n onDistributionListModify(value) {\r\n // event.preventDefault();\r\n // const { value } = event.currentTarget;\r\n this.setState((prevState) => {\r\n const notificationData = { ...prevState.notificationData };\r\n notificationData.distributionList = value;\r\n return { notificationData };\r\n });\r\n }\r\n\r\n updateStatesTime = (inputName, inputValue, objName) => {\r\n if (inputValue == false) {\r\n this.setState({ flagTime: true });\r\n if (!this.validatorTime.allValid()) {\r\n this.validatorTime.showMessages();\r\n }\r\n } else {\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n statusCopy.flagTime = false;\r\n this.setState(statusCopy);\r\n }\r\n };\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n this.setState(statusCopy);\r\n };\r\n\r\n onTimeToChanged(event) {\r\n event.preventDefault();\r\n const { value } = event.currentTarget;\r\n this.setState((prevState) => {\r\n const selectedActivity = { ...prevState.selectedActivity };\r\n selectedActivity.to = value;\r\n selectedActivity.time = `${selectedActivity.from} - ${value}`;\r\n return { selectedActivity };\r\n });\r\n }\r\n\r\n onTimeFromChanged(event) {\r\n event.preventDefault();\r\n const { value } = event.currentTarget;\r\n this.setState((prevState) => {\r\n const selectedActivity = { ...prevState.selectedActivity };\r\n selectedActivity.from = value;\r\n selectedActivity.time = `${value} - ${selectedActivity.to}`;\r\n return { selectedActivity };\r\n });\r\n }\r\n\r\n onActivityChanged(event) {\r\n event.preventDefault();\r\n const { value } = event.currentTarget;\r\n this.setState((prevState) => {\r\n const selectedActivity = { ...prevState.selectedActivity };\r\n selectedActivity.activity = value;\r\n return { selectedActivity };\r\n });\r\n }\r\n\r\n onActivityDateChange(e) {\r\n this.setState((prevState) => {\r\n const selectedActivity = { ...prevState.selectedActivity };\r\n selectedActivity.date = moment(e[0]).format('YYYY-MM-DD');\r\n return { selectedActivity };\r\n });\r\n }\r\n\r\n onSubmitActivity(event) {\r\n event.preventDefault();\r\n if (\r\n this.validator.fieldValid('date') &&\r\n this.validator.fieldValid('from') &&\r\n this.validator.fieldValid('to') &&\r\n this.validator.fieldValid('activity') &&\r\n this.validator.fieldValid('diffTIme')\r\n ) {\r\n if (!this.validatorTime.allValid()) {\r\n this.setState((prevState) => {\r\n const notificationData = { ...prevState.notificationData };\r\n const selectedActivity = { ...prevState.selectedActivity };\r\n selectedActivity.time = `${selectedActivity.from} - ${selectedActivity.to}`;\r\n if (!selectedActivity.id) {\r\n selectedActivity.id = uuid();\r\n selectedActivity.idNotificationForm = prevState.notificationData.id;\r\n // notificationData.activities = prevState.notificationData.activities.concat(\r\n // selectedActivity\r\n // );\r\n const notact = [selectedActivity];\r\n notificationData.activities = notact.concat(prevState.notificationData.activities);\r\n this.handleActivityDetailVisibility(null);\r\n } else {\r\n notificationData.activities = prevState.notificationData.activities\r\n .filter((item) => selectedActivity.id !== item.id)\r\n .concat(selectedActivity);\r\n this.handleActivityDetailVisibility(null);\r\n }\r\n return { notificationData };\r\n });\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.EMERGENCYDRILL} Time is invalid `\r\n );\r\n this.forceUpdate();\r\n }\r\n } else {\r\n this.validator.showMessageFor('auditor');\r\n this.validator.showMessageFor('from');\r\n this.validator.showMessageFor('date');\r\n this.validator.showMessageFor('to');\r\n this.validator.showMessageFor('activity');\r\n this.validator.showMessageFor('diffTIme');\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n onActivityDelete() {\r\n this.setState((prevState) => {\r\n const notificationData = { ...prevState.notificationData };\r\n const selectedActivity = { ...prevState.selectedActivity };\r\n notificationData.activities = prevState.notificationData.activities.filter(\r\n (item) => selectedActivity.id !== item.id\r\n );\r\n return { notificationData };\r\n });\r\n this.handleDeleteActivityModal(null);\r\n }\r\n\r\n saveNotificationForm() {\r\n if (\r\n this.validator.fieldValid('distributionList') &&\r\n this.validator.fieldValid('activities')\r\n ) {\r\n this.props.onSave(this.state.notificationData);\r\n } else {\r\n this.validator.showMessageFor('distributionList');\r\n this.validator.showMessageFor('activities');\r\n\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n sendNotification() {\r\n if (\r\n this.validator.fieldValid('distributionList') &&\r\n // this.validator.fieldValid('responsible') &&\r\n this.validator.fieldValid('activities')\r\n ) {\r\n this.props.onSend(this.state.notificationData);\r\n } else {\r\n this.validator.showMessageFor('distributionList');\r\n // this.validator.showMessageFor('responsible');\r\n this.validator.showMessageFor('activities');\r\n\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n handleActivityDetailVisibility(id) {\r\n const activity = this.state.notificationData.activities.find((i) => i.id === id);\r\n this.setState((oldState) => ({\r\n modalActivityDetailVisible: !oldState.modalActivityDetailVisible,\r\n selectedActivity: activity || {},\r\n }));\r\n }\r\n\r\n handleDeleteActivityModal(id) {\r\n const activity = this.state.notificationData.activities.find((i) => i.id === id);\r\n this.setState((oldState) => ({\r\n modalActivityDeleteVisible: !oldState.modalActivityDeleteVisible,\r\n selectedActivity: activity || {},\r\n }));\r\n }\r\n\r\n renderDeleteActivitiesModal = () =>\r\n this.state.modalActivityDeleteVisible && (\r\n
    \r\n
    \r\n
    \r\n

    Delete Team Activity

    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    Press confirm to remove selected activity
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n renderNewActivityModal = () => {\r\n const validationsTime = {\r\n validTime: this.validatorTime.message('validTime', this.state.flagTime, 'accepted'),\r\n };\r\n let diffFromTo = false;\r\n if (this.state.selectedActivity.to != null) {\r\n const timeEnd = moment(this.state.selectedActivity.to, 'hh:mm a');\r\n const timeStart = moment(this.state.selectedActivity.from, 'hh:mm a');\r\n const duration = moment.duration(timeEnd.diff(timeStart));\r\n const minutes = parseInt(duration.asMinutes()) % 60;\r\n const hours = parseInt(duration.asHours());\r\n if (minutes >= 0 && hours >= 0) diffFromTo = true;\r\n }\r\n const validationsModal = {\r\n date: this.validator.message('date', this.state.selectedActivity.date, 'required|datePicker'),\r\n from: this.validator.message('from', this.state.selectedActivity.from, 'required'),\r\n to: this.validator.message('to', this.state.selectedActivity.to, 'required'),\r\n activity: this.validator.message(\r\n 'activity',\r\n this.state.selectedActivity.activity,\r\n 'required'\r\n ),\r\n diffTIme: this.validator.message('diffTIme', diffFromTo, 'accepted'),\r\n };\r\n return (\r\n this.state.modalActivityDetailVisible && (\r\n
    \r\n
    \r\n
    \r\n

    Add New Activity

    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n this.onActivityDateChange(e)}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {validationsModal.diffTIme ||\r\n validationsModal.to != null ||\r\n validationsModal.to ? (\r\n
    Invalid time format
    \r\n ) : null}\r\n {this.state.flagTime ? (\r\n
    Invalid time format
    \r\n ) : 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\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n );\r\n };\r\n\r\n render() {\r\n const validations = {\r\n distributionList: this.validator.message(\r\n 'distributionList',\r\n this.state.notificationData.distributionList,\r\n 'required'\r\n ),\r\n activities: this.validator.message(\r\n 'activities',\r\n this.state.notificationData.activities[0],\r\n 'required'\r\n ),\r\n };\r\n\r\n const headers = [\r\n {\r\n key: 'activity',\r\n header: 'Activity',\r\n },\r\n {\r\n key: 'date',\r\n header: 'Date',\r\n },\r\n {\r\n key: 'time',\r\n header: 'Time From-TO',\r\n },\r\n ];\r\n return (\r\n
    \r\n \r\n {\r\n const dateA = new Date(a.date);\r\n const dateB = new Date(b.date);\r\n const hA = moment(a.from, 'HH:mm a');\r\n const hB = moment(b.from, 'HH:mm a');\r\n dateA.setHours(hA.hours(), hA.minutes());\r\n dateB.setHours(hB.hours(), hB.minutes());\r\n return dateA - dateB;\r\n }) || []\r\n }\r\n headers={headers}\r\n render={({ rows, getHeaderProps }) => (\r\n \r\n \r\n \r\n
    \r\n
    List Of Drill Activities
    \r\n
    \r\n
    \r\n {!this.props.editingDisabled ? (\r\n \r\n Add New Activity\r\n \r\n ) : (\r\n ''\r\n )}\r\n
    \r\n
    \r\n
    \r\n {this.renderDeleteActivitiesModal()}\r\n {this.renderNewActivityModal()}\r\n \r\n \r\n \r\n {headers.map((header) => (\r\n {header.header}\r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {!rows || rows.length < 1 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n {row.cells.map((cell) => (\r\n \r\n {cell.info.header.includes('date')\r\n ? moment(cell.value).format('DD/MM/YYYY')\r\n : cell.info.header.includes('workSite')\r\n ? cell.value?.name || 'N/A'\r\n : cell.value}\r\n \r\n ))}\r\n \r\n
    \r\n this.handleActivityDetailVisibility(row.id)}\r\n size=\"small\"\r\n renderIcon={Edit16}\r\n iconDescription=\"Edit\"\r\n kind=\"ghost\"\r\n disabled={this.props.editingDisabled}\r\n />\r\n this.handleDeleteActivityModal(row.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n disabled={this.props.editingDisabled}\r\n />\r\n
    \r\n
    \r\n
    \r\n ))\r\n )}\r\n
    \r\n
    \r\n
    \r\n )}\r\n />\r\n {validations.activities}\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n {!this.props.editingDisabled ? (\r\n
    \r\n \r\n Save\r\n \r\n\r\n \r\n Send\r\n \r\n
    \r\n ) : (\r\n ''\r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nDrillNotificationForm.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n NotificationFormData: PropTypes.object.isRequired,\r\n minDate: PropTypes.string.isRequired,\r\n maxDate: PropTypes.string.isRequired,\r\n workSites: PropTypes.array.isRequired,\r\n disabled: PropTypes.bool,\r\n onSave: PropTypes.func.isRequired,\r\n onSend: PropTypes.func.isRequired,\r\n};\r\nDrillNotificationForm.defaultProps = {\r\n disabled: true,\r\n};\r\n","import PropTypes from 'prop-types';\r\nimport React, { useState, useEffect } from 'react';\r\nimport {\r\n Button,\r\n InlineLoading,\r\n TableContainer,\r\n Table,\r\n TableHead,\r\n TableBody,\r\n TableRow,\r\n TableHeader,\r\n TableCell,\r\n Tile,\r\n } from 'carbon-components-react';\r\nimport View16 from '@carbon/icons-react/lib/view/16';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport Close16 from '@carbon/icons-react/lib/close/16';\r\nimport FileUpload from '../../../common/FileUpload';\r\nimport DownLoadButton from '../../../common/FileDownloadButton';\r\nimport { Online, Offline } from '../../../common/OnLineOffLine';\r\nimport { NoRecordsPlaceholder } from '../../../../helpers/jsonschemaform/DataTableExtention';\r\nimport { showNotification } from '../../../../helpers/notification/BaseNotification';\r\nimport { getError, apioperation, entitiesLabels, sizeFormat } from '../../../../helpers/Constants';\r\n\r\nconst DrillReportSignedAttachment = ({ onUpload, \r\n deleteSignedAttachment, \r\n drillReportId, \r\n editingDisabled, \r\n signedAttachmentsArray }) => {\r\n const [modalDeleteAttachmentVisible, setModalDeleteAttachmentVisible] = useState(false);\r\n const [selectedDeleteAttachment, setSelectedDeleteAttachment] = useState(null);\r\n const [downloadingItemId, setDownlodingItemId] = useState(null);\r\n const [signedAttachments, setSignedAttachements] = useState(signedAttachmentsArray);\r\n\r\n useEffect(() => { setSignedAttachements(signedAttachmentsArray); }, [signedAttachmentsArray]);\r\n\r\n // *************** ATTACHMENT *************** START\r\n const handleDeleteAttachmentModalVisibility = () => {\r\n setModalDeleteAttachmentVisible(!modalDeleteAttachmentVisible);\r\n setSelectedDeleteAttachment(null);\r\n };\r\n \r\n const showDeleteAttachmentModal = (Id) => {\r\n const selectedItem = signedAttachments.find((item) => item.idAttachment === Id);\r\n setSelectedDeleteAttachment(selectedItem);\r\n setModalDeleteAttachmentVisible(!modalDeleteAttachmentVisible); \r\n };\r\n \r\n const deleteAttachment = () => {\r\n deleteSignedAttachment(selectedDeleteAttachment.idAttachment);\r\n handleDeleteAttachmentModalVisibility();\r\n };\r\n \r\n const renderDeleteAttachmentModal = () => modalDeleteAttachmentVisible && (\r\n
    \r\n
    \r\n
    \r\n

    Delete Attachment

    \r\n handleDeleteAttachmentModalVisibility()}\r\n />\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {`Press confirm to delete ${selectedDeleteAttachment?.attachment.name}`}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n handleDeleteAttachmentModalVisibility()}\r\n >\r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n // *************** ATTACHMENT *************** END\r\n\r\n return (\r\n <>\r\n {renderDeleteAttachmentModal()}\r\n \r\n {!editingDisabled ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n ''\r\n )}\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Name\r\n Size\r\n Actions\r\n \r\n \r\n \r\n {signedAttachments < 1 ? (\r\n \r\n ) : (\r\n signedAttachments.map((item) => (\r\n \r\n {item.attachment?.name}\r\n \r\n {sizeFormat(item.attachment?.size)}\r\n \r\n \r\n {downloadingItemId === item.idAttachment ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n \r\n {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, \r\n entitiesLabels.FileUpload, apioperation.GET)\r\n );\r\n }}\r\n onDownLoadStart={() => \r\n setDownlodingItemId(item.idAttachment)}\r\n onDownLoadEnd={() => setDownlodingItemId(null)}\r\n apiUrl={`/drill/report/${drillReportId}/signedattachment/${item?.attachment?.fileIdentifier}`}\r\n fileName={item?.attachment?.name}\r\n size=\"small\"\r\n renderIcon={View16}\r\n iconDescription=\"Download\"\r\n kind=\"ghost\"\r\n disabled={editingDisabled}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n showDeleteAttachmentModal(item.idAttachment)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\r\n disabled={editingDisabled}\r\n />\r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n }\r\n
    \r\n \r\n ))\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nDrillReportSignedAttachment.propTypes = {\r\n deleteSignedAttachment: PropTypes.func.isRequired,\r\n onUpload: PropTypes.func.isRequired,\r\n editingDisabled: PropTypes.bool.isRequired,\r\n drillReportId: PropTypes.string.isRequired,\r\n signedAttachmentsArray: PropTypes.arrayOf(PropTypes.shape({\r\n id: PropTypes.string,\r\n name: PropTypes.string,\r\n contentType: PropTypes.string,\r\n size: PropTypes.string,\r\n fileIdentifier: PropTypes.string,\r\n filePath: PropTypes.string,\r\n type: PropTypes.string,\r\n })).isRequired,\r\n};\r\n\r\nexport default DrillReportSignedAttachment;\r\n","/* eslint-disable react/sort-comp */\r\nimport React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Button, Loading, Tab, Tabs, TabsSkeleton } from 'carbon-components-react';\r\nimport { Information16, CheckmarkOutline16, Send16, Error16 } from '@carbon/icons-react';\r\nimport { v4 as uuid } from 'uuid';\r\nimport PageBreadCrumb from '../../../helpers/PageBreadCrumb';\r\nimport { me, api, drill } from '../../../helpers/api/api';\r\nimport {\r\n getError,\r\n getSuccess,\r\n apioperation,\r\n entitiesLabels,\r\n STATUS,\r\n} from '../../../helpers/Constants';\r\nimport { showNotification } from '../../../helpers/notification/BaseNotification';\r\nimport { IsEnabled, IsEditable, CanExecuteAction } from '../../../helpers/authorization/Policies';\r\nimport { WFActionModal } from '../../common/WFActionModal';\r\nimport { HistoryTable } from '../../../helpers/HistoryTable';\r\nimport { AppContext } from '../../../helpers/context/AppContext';\r\nimport { Online } from '../../common/OnLineOffLine';\r\n\r\nimport { DrillReportInformation } from './reportDetails/DrillReportInformation';\r\nimport { DrillReportDetail } from './reportDetails/DrillReportDetail';\r\nimport DrillPersonnel from './reportDetails/DrillPersonnel';\r\nimport { DrillReportSummary } from './reportDetails/DrillReportSummary';\r\nimport DrillNotificationForm from './reportDetails/DrillNotificationForm';\r\nimport DrillReportSignedAttachment from './reportDetails/DrillReportSignedAttachment';\r\nimport DrillRepository from '../../../helpers/api/DrillRepository';\r\n\r\nexport class DrillReport extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n isLoadingDrillReport: true,\r\n downloading: null,\r\n tabsLoading: true,\r\n isSubmitted: false,\r\n id: this.props.match.params?.id || null,\r\n drillReport: {},\r\n lightCondition: [],\r\n seaCondition: [],\r\n weatherCondition: [],\r\n emergencylevel: [],\r\n unitsInvolved: [],\r\n // /Status Action\r\n isApprovalModalOpen: false,\r\n approvalModalAction: '',\r\n approver: null,\r\n // approvalStartDate: null,\r\n // approvalEndDate: null,\r\n isLoadingApproverOptions: true,\r\n approvalValidationMessages: [],\r\n approvers: [],\r\n // idToDelete: null,\r\n // selectedData: [],\r\n approverRole: '',\r\n withApprover: true,\r\n isLoadingWFOperation: false,\r\n approvalNotesRequired: false,\r\n validationDeliveryDate: false,\r\n // HT\r\n isHistoryModalOpen: false,\r\n editingDisabled: this.state?.drillReport\r\n ? !IsEditable(\r\n 'Emergency Drill',\r\n 'Reporting',\r\n this.context.user,\r\n this.state.drillReport.status.id,\r\n 'All',\r\n this.state.drillReport\r\n )\r\n : false,\r\n };\r\n this.renderLoadingModal = this.renderLoadingModal.bind(this);\r\n\r\n // notification\r\n this.updateNotificationData = this.updateNotificationData.bind(this);\r\n this.sendNotificationData = this.sendNotificationData.bind(this);\r\n\r\n // attacchment\r\n // this.onUpload = this.onUpload.bind(this);\r\n this.onUploadAttachment = this.onUploadAttachment.bind(this);\r\n this.onUploadSignedAttachment = this.onUploadSignedAttachment.bind(this);\r\n this.downloadAttachment = this.downloadAttachment.bind(this);\r\n this.downloadSignedAttachment = this.downloadSignedAttachment.bind(this);\r\n // this.onDownload = this.onDownload.bind(this);\r\n this.deleteAttachment = this.deleteAttachment.bind(this);\r\n this.deleteSignedAttachment = this.deleteSignedAttachment.bind(this);\r\n // this.onDelete = this.onDelete(this);\r\n this.downloadAnswerAttachment = this.downloadAnswerAttachment.bind(this);\r\n this.uploadAnswerAttachment = this.uploadAnswerAttachment.bind(this);\r\n this.deleteAnswerAttachment = this.deleteAnswerAttachment.bind(this);\r\n this.requirementDelete = this.requirementDelete.bind(this);\r\n this.updateAnswers = this.updateAnswers.bind(this);\r\n this.updateMainInformation = this.updateMainInformation.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({ tabsLoading: true });\r\n this.getDrillReport();\r\n this.getWeatherConditions();\r\n }\r\n\r\n showButtonHistory = () => (\r\n this.openModalHistory()}\r\n >\r\n History\r\n \r\n );\r\n\r\n openModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: true });\r\n };\r\n\r\n closeModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: false });\r\n };\r\n\r\n getDrillReport = async () => {\r\n await drill\r\n .getReport(this.state.id)\r\n .then((response) => {\r\n if (response.status === 200) {\r\n const { data } = response;\r\n\r\n this.setState({\r\n drillReport: data,\r\n // notificationForm: data.drillNotificationForm,\r\n // activities: data.drillNotificationForm?.activities,\r\n tabsLoading: false,\r\n editingDisabled: !IsEditable(\r\n 'Emergency Drill',\r\n 'Reporting',\r\n this.context.user,\r\n data?.status?.id,\r\n 'All',\r\n data\r\n ),\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.DRILLREPORT, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({ isLoadingDrillReport: false });\r\n });\r\n }\r\n\r\n getWeatherConditions = () => {\r\n this.setState({ tabsLoading: true });\r\n // endpoint\r\n api\r\n .getAll('/drill/lightCondition')\r\n .then((response) => {\r\n if (response.status === 200) {\r\n this.setState({\r\n lightCondition: response.data,\r\n });\r\n } else {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError('Unsuccessfully get', entitiesLabels.LIGHTCONDITIONS, apioperation.GET)\r\n );\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.LIGHTCONDITIONS, apioperation.GET));\r\n })\r\n .finally(() => {});\r\n api\r\n .getAll('/drill/seaCondition')\r\n .then((response) => {\r\n if (response.status === 200) {\r\n this.setState({\r\n seaCondition: response.data,\r\n });\r\n } else {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError('Unsuccessfully get', entitiesLabels.SEACONDITIONS, apioperation.GET)\r\n );\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.SEACONDITIONS, apioperation.GET));\r\n })\r\n .finally(() => {});\r\n api\r\n .getAll('/drill/weatherCondition')\r\n .then((response) => {\r\n if (response.status === 200) {\r\n this.setState({\r\n weatherCondition: response.data,\r\n });\r\n } else {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError('Unsuccessfully get', entitiesLabels.WEATHERCONDITIONS, apioperation.GET)\r\n );\r\n }\r\n })\r\n .finally(() => {});\r\n api\r\n .getAll('drill/emergencylevel')\r\n .then((response) => {\r\n if (response.status === 200) {\r\n this.setState({\r\n emergencylevel: response.data,\r\n });\r\n } else {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError('Unsuccessfully get', entitiesLabels.EMERGENCYDRILL, apioperation.GET)\r\n );\r\n }\r\n })\r\n .finally(() => {});\r\n api\r\n .getAll('drill/unitsInvolved')\r\n .then((response) => {\r\n if (response.status === 200) {\r\n this.setState({\r\n unitsInvolved: response.data,\r\n });\r\n } else {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError('Unsuccessfully get', entitiesLabels.EMERGENCYDRILL, apioperation.GET)\r\n );\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.WEATHERCONDITIONS, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({ tabsLoading: false });\r\n });\r\n };\r\n\r\n //* *************WF ACTION************ */\r\n getStatusActions = (user) => {\r\n if (!this.IsRowSelectable()) return null;\r\n\r\n return (\r\n \r\n <>\r\n {CanExecuteAction(\r\n 'Emergency Drill',\r\n 'Reporting',\r\n user,\r\n this.state.drillReport.idStatus,\r\n 'Submit',\r\n this.state.drillReport\r\n ) ? (\r\n {\r\n if (this.state.drillReport.deliveryDate !== '0001-01-01T00:00:00Z') {\r\n this.batchActionClick(\r\n 'submitreport',\r\n 'Submit',\r\n 'Data Approver',\r\n true,\r\n false\r\n );\r\n } else {\r\n this.validation();\r\n showNotification.warning(`${entitiesLabels.WARNING}`,\r\n ` ${entitiesLabels.NOTIFICATION} required fields are missing `\r\n );\r\n\r\n this.forceUpdate();\r\n }\r\n }}\r\n >\r\n Submit Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Emergency Drill',\r\n 'Reporting',\r\n user,\r\n this.state.drillReport.idStatus,\r\n 'Approve',\r\n this.state.drillReport\r\n ) ? (\r\n \r\n this.batchActionClick(\r\n 'approvereport',\r\n 'Approve',\r\n null, /* RUOLI_APPROVATIVI_DEV_255_RITM0565449 */\r\n false, /* RUOLI_APPROVATIVI_DEV_255_RITM0565449 */\r\n false\r\n )\r\n }\r\n >\r\n Approve Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Emergency Drill',\r\n 'Reporting',\r\n user,\r\n this.state.drillReport.idStatus,\r\n 'Consolidate',\r\n this.state.drillReport\r\n ) ? (\r\n \r\n this.batchActionClick('consolidatereport', 'Consolidate', null, false, false)\r\n }\r\n >\r\n Consolidate Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Emergency Drill',\r\n 'Reporting',\r\n user,\r\n this.state.drillReport.idStatus,\r\n 'Reject',\r\n this.state.drillReport\r\n ) ? (\r\n \r\n this.batchActionClick('rejectreport', 'Reject', null, false, true)\r\n }\r\n >\r\n Reject Report\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Emergency Drill',\r\n 'Reporting',\r\n user,\r\n this.state.drillReport.idStatus,\r\n 'RejectConsolidate',\r\n this.state.drillReport\r\n ) ? (\r\n \r\n this.batchActionClick('rejectconsolidatereport', 'Reject', null, false, true)\r\n }\r\n >\r\n Reject Report\r\n \r\n ) : null}\r\n \r\n \r\n );\r\n };\r\n\r\n batchActionClick(\r\n actionKey,\r\n actionName,\r\n approverRole,\r\n withApprover,\r\n approvalNotesRequired\r\n ) {\r\n const idEntity = this.state.drillReport?.division?.id;\r\n\r\n this.setState({\r\n approvalModalAction: actionName,\r\n isApprovalModalOpen: true,\r\n isLoadingApproverOptions: true,\r\n withApprover,\r\n // selectedData: selectedRows,\r\n approverRole,\r\n approvalEndpoint: actionKey,\r\n approvalNotesRequired,\r\n });\r\n\r\n if (withApprover) this.getUsersInRole(approverRole, idEntity);\r\n }\r\n\r\n handleApproverSelect = (selectedItem) => {\r\n this.setState({ approver: selectedItem });\r\n };\r\n\r\n handleCloseApprovalModal = () => {\r\n this.setState({ isApprovalModalOpen: false }, this.clearApprovalForm);\r\n };\r\n\r\n handleApprovalNotesChange = (e) => {\r\n this.setState({ approvalNotes: e.target.value });\r\n };\r\n\r\n handleConfirmApprovalModal = () => {\r\n const apiEndpoint = this.state.approvalEndpoint;\r\n\r\n const data = {\r\n ids: [this.state.id],\r\n owner: this.state.approver,\r\n workflowNotes: this.state.approvalNotes,\r\n };\r\n\r\n this.setState({\r\n isLoadingWFOperation: true,\r\n });\r\n api\r\n .put(`/drill/${apiEndpoint}`, data, '')\r\n .then((response) => {\r\n if (response.status === 200) {\r\n showNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.EMERGENCYDRILL, apioperation.PUT));\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n isApprovalModalOpen: false,\r\n tabsLoading: true,\r\n });\r\n } else {\r\n showNotification.error();\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.DRILLREPORT, apioperation.PUT));\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n })\r\n .finally(() => {\r\n this.setState(\r\n {\r\n tabsLoading: false,\r\n }\r\n );\r\n this.getDrillReport();\r\n });\r\n };\r\n\r\n getUsersInRole = (role, idEntity) => {\r\n me.getWithParam('users', {\r\n params: { Role: role, IdEntity: idEntity, includeAdmins: true },\r\n })\r\n .then((response) => {\r\n this.setState({\r\n approvers: response.data,\r\n isLoadingApproverOptions: false,\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.ROLE, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadingApproverOptions: false,\r\n });\r\n });\r\n };\r\n\r\n IsRowSelectable() {\r\n const { drillReport } = this.state;\r\n if (drillReport == null || drillReport.idStatus === STATUS.Consolidated) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n updateMainInformation = async () => {\r\n try {\r\n this.setState({ isSubmitted: true, editingDisabled: true });\r\n\r\n await api.put('/drill/maininformation', this.state.drillReport);\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(entitiesLabels.EMERGENCYDRILL, apioperation.PUT));\r\n } finally {\r\n this.setState({ isSubmitted: false, editingDisabled: false });\r\n }\r\n };\r\n\r\n // ***************** NOTIFICATION FORM ***************** START\r\n updateNotificationData = async (item) => {\r\n if (this.state.drillReport.deliveryDate === null || this.state.drillReport.deliveryDate === '0001-01-01T00:00:00Z' || !this.state.drillReport.drillReportProjects[0]) {\r\n showNotification.warning(`${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.EMERGENCYDRILL} required fields are missing : \r\n ${(this.state.drillReport.deliveryDate === null || this.state.drillReport.deliveryDate === '0001-01-01T00:00:00Z') ? 'Date of DRILL Execution* is missing. ' : ''} \r\n ${(!this.state.drillReport.drillReportProjects[0]) ? 'Project field is missing.' : ''} `\r\n );\r\n } else {\r\n try {\r\n await this.updateMainInformation();\r\n this.setState((prevState) => ({\r\n isSubmitted: true,\r\n drillReport: {\r\n ...prevState.drillReport,\r\n drillNotificationForm: item,\r\n },\r\n }));\r\n\r\n await api.put('/drill/report/notification', item);\r\n\r\n const { drillReport } = this.state;\r\n drillReport.drillNotificationForm = item;\r\n DrillRepository.updateCachedDrill(drillReport);\r\n this.setState({ validationDeliveryDate: false });\r\n // this.repository.updateCachedDrill(drillReport);\r\n showNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.NOTIFICATION, apioperation.PUT));\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(entitiesLabels.NOTIFICATION, apioperation.PUT));\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n }\r\n };\r\n\r\n validation() {\r\n this.setState({ validationDeliveryDate: true });\r\n }\r\n\r\n sendNotificationData = async (notificationItem) => {\r\n if (this.state.drillReport.deliveryDate === null || this.state.drillReport.deliveryDate === '0001-01-01T00:00:00Z' || !this.state.drillReport.drillReportProjects[0]) {\r\n showNotification.warning(`${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.EMERGENCYDRILL} required fields are missing : \r\n ${(this.state.drillReport.deliveryDate === null || this.state.drillReport.deliveryDate === '0001-01-01T00:00:00Z') ? 'Date of DRILL Execution* is missing, \\r' : ''} \r\n ${(!this.state.drillReport.drillReportProjects[0]) ? 'Project field is missing' : ''} `\r\n );\r\n } else {\r\n await this.updateMainInformation();\r\n const item = notificationItem;\r\n item.sendedOn = new Date();\r\n item.sendedBy = this.context.user.email;\r\n try {\r\n this.setState((prevState) => ({\r\n isSubmitted: true,\r\n drillReport: {\r\n ...prevState.drillReport,\r\n drillNotificationForm: item,\r\n },\r\n }));\r\n await api.put('/drill/report/notification/send', item);\r\n\r\n const { drillReport } = this.state;\r\n drillReport.drillNotificationForm = item;\r\n DrillRepository.updateCachedDrill(drillReport);\r\n // this.repository.updateCachedDrill(drillReport);\r\n showNotification.success(`${entitiesLabels.SUCCESS}`, `${entitiesLabels.EMERGENCYDRILL} notification sent successfully`);\r\n } catch (error) {\r\n item.sendedOn = null;\r\n item.sendedBy = null;\r\n showNotification.error(`${entitiesLabels.ERROR}`, 'Error occurred, Notification not sent successfully');\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n }\r\n };\r\n // ***************** NOTIFICATION FORM ***************** END\r\n\r\n // ***************** PERSONNEL ***************** START\r\n updatePersonnel = async (reportEdited) => {\r\n try {\r\n this.setState((prevState) => ({\r\n isSubmitted: true,\r\n drillReport: {\r\n ...prevState.drillReport,\r\n people: reportEdited?.people || [],\r\n },\r\n }));\r\n await api.put('/drill/report/personnel', reportEdited);\r\n const { drillReport } = this.state;\r\n drillReport.people = reportEdited?.people || [];\r\n DrillRepository.updateCachedDrill(drillReport);\r\n // this.repository.updateCachedAudit(this.state.drillReport);\r\n showNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.EMERGENCYDRILL, apioperation.PUT));\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(entitiesLabels.EMERGENCYDRILL, apioperation.PUT));\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n };\r\n // ***************** PERSONNEL ***************** END\r\n\r\n // ***************** REPORT DETAIL FORM ***************** START\r\n updateReportDetail = async (newDrillReportDetails) => {\r\n try {\r\n this.setState({\r\n isSubmitted: true,\r\n });\r\n await api.put('/drill/report/reportDetail', newDrillReportDetails);\r\n const { drillReport } = this.state;\r\n drillReport.timelines = newDrillReportDetails?.timelines || [];\r\n\r\n DrillRepository.updateCachedDrill(drillReport);\r\n // this.repository.updateCachedDrill(this.state.drill);\r\n showNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.EMERGENCYDRILL, apioperation.PUT));\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(entitiesLabels.EMERGENCYDRILL, apioperation.PUT));\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n };\r\n\r\n // ....=> ************ ATTACHMENT ************ START\r\n downloadAttachment = async (id) => this.onDownload(id, false)\r\n\r\n downloadSignedAttachment = async (id) => this.onDownload(id, true)\r\n\r\n onDownload = async (id, signedAttachment) => {\r\n const index = (signedAttachment ?\r\n this.state.drillReport.signedAttachments.findIndex((a) => a.idAttachment === id) :\r\n this.state.drillReport.attachments.findIndex((a) => a.idAttachment === id));\r\n try {\r\n this.setState({ downloading: id });\r\n let file = null;\r\n let name = null;\r\n if (signedAttachment) {\r\n file = await api.getBlob(\r\n `/drill/report/${this.state.drillReport.id}/signedattachment/${this.state.drillReport.signedAttachments[index].attachment.fileIdentifier}`\r\n ).data;\r\n name = this.state.drillReport.signedAttachments[index].attachment.name;\r\n } else {\r\n file = await api.getBlob(\r\n `/drill/report/${this.state.drillReport.id}/attachment/${this.state.drillReport.attachments[index].attachment.fileIdentifier}`\r\n ).data;\r\n name = this.state.drillReport.attachments[index].attachment.name;\r\n }\r\n return this.downloadFile(file, name);\r\n } catch (error) {\r\n return showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.FileUpload, apioperation.GET));\r\n } finally {\r\n this.setState({ downloading: null });\r\n }\r\n }\r\n\r\n deleteAttachment = async (id) => this.onDelete(id, false)\r\n\r\n deleteSignedAttachment = async (id) => this.onDelete(id, true)\r\n\r\n onDelete = async (id, signedAttachment) => {\r\n const index = (signedAttachment ? \r\n this.state.drillReport?.signedAttachments.findIndex((a) => a.idAttachment === id) :\r\n this.state.drillReport?.attachments.findIndex((a) => a.idAttachment === id));\r\n try {\r\n this.setState({ isSubmitted: true });\r\n if (signedAttachment) {\r\n await api.deleteData(\r\n `/drill/report/${this.state.drillReport.id}/signedattachment/${this.state.drillReport.signedAttachments[index].attachment.fileIdentifier}`\r\n );\r\n } else {\r\n await api.deleteData(\r\n `/drill/report/${this.state.drillReport.id}/attachment/${this.state.drillReport.attachments[index].attachment.fileIdentifier}`\r\n );\r\n }\r\n return this.setState((prevState) => {\r\n const drillReport = { ...prevState.drillReport };\r\n if (signedAttachment) {\r\n drillReport.signedAttachments = prevState.drillReport.signedAttachments.filter(\r\n (a) => a.idAttachment !== prevState.drillReport.signedAttachments[index].idAttachment\r\n );\r\n } else {\r\n drillReport.attachments = prevState.drillReport.attachments.filter(\r\n (a) => a.idAttachment !== prevState.drillReport.attachments[index].idAttachment\r\n );\r\n }\r\n return { drillReport };\r\n });\r\n } catch (error) {\r\n return showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.FileUpload, apioperation.DELETE)\r\n );\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n }\r\n\r\n async onUploadAttachment(fileIdentifier, fileName, fileType, size) {\r\n this.onUpload(fileIdentifier, fileName, fileType, size, false);\r\n }\r\n\r\n async onUploadSignedAttachment(fileIdentifier, fileName, fileType, size) {\r\n this.onUpload(fileIdentifier, fileName, fileType, size, true);\r\n }\r\n\r\n async onUpload(fileIdentifier, fileName, fileType, size, signedAttachement) {\r\n const newAttach = {\r\n id: uuid(),\r\n fileIdentifier: fileIdentifier.blobName,\r\n name: fileName,\r\n contentType: fileType,\r\n size,\r\n };\r\n try {\r\n this.setState({ isSubmitted: true });\r\n if (signedAttachement) {\r\n await api.post(`/drill/report/${this.state.drillReport.id}/signedattachment`, newAttach);\r\n } else {\r\n await api.post(`/drill/report/${this.state.drillReport.id}/attachment`, newAttach);\r\n }\r\n return this.setState(async (prevState) => { //RITM0995432\r\n const drillReport = { ...prevState.drillReport };\r\n if (signedAttachement) {\r\n drillReport.signedAttachments.push({\r\n idAttachment: newAttach.id,\r\n idDrillReport: drillReport.id,\r\n attachment: newAttach,\r\n });\r\n } else {\r\n drillReport.attachments.push({\r\n idAttachment: newAttach.id,\r\n idDrillReport: drillReport.id,\r\n attachment: newAttach,\r\n });\r\n }\r\n await DrillRepository.updateCachedDrill(drillReport); //RITM0995432\r\n return { drillReport };\r\n });\r\n } catch (error) {\r\n return showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.EMERGENCYDRILL, apioperation.POST)\r\n );\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n }\r\n\r\n // eslint-disable-next-line class-methods-use-this\r\n downloadFile(blob, fileName) {\r\n if (navigator.msSaveBlob) {\r\n // IE 10+\r\n navigator.msSaveBlob(blob, fileName);\r\n } else {\r\n const link = document.createElement('a');\r\n // Browsers that support HTML5 download attribute\r\n if (link.download !== undefined) {\r\n const url = URL.createObjectURL(blob);\r\n link.setAttribute('href', url);\r\n link.setAttribute('download', fileName);\r\n link.style.visibility = 'hidden';\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n }\r\n }\r\n // ....=> ************ ATTACHMENT ************ END\r\n\r\n // ***************** REPORT DETAIL FORM ***************** END\r\n\r\n // ***************** REPORT SUMMARY ***************** START\r\n async updateAnswers(drillReport) {\r\n try {\r\n this.setState({ isSubmitted: true });\r\n await api.put('/drill/report/checklist', drillReport);\r\n DrillRepository.updateCachedDrill(drillReport);\r\n // this.repository.updateCachedAudit(this.state.inspectionModel); TODO\r\n showNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.EMERGENCYDRILL, apioperation.PUT));\r\n this.setState({ isSubmitted: false });\r\n } catch (error) {\r\n showNotification.error(error.response.statusText, error.response.data);\r\n this.setState({ isSubmitted: false });\r\n }\r\n }\r\n\r\n async deleteAnswerAttachment(Id, idAnswerAttachment) {\r\n const answer = this.state.drillReport.drillCheckListRequirementAnswers.find(\r\n (item) => item.attachments.count !== 0 && item.id === idAnswerAttachment\r\n );\r\n const selectedItem = answer.attachments.find((item) => item.id === Id);\r\n try {\r\n this.setState({ isSubmitted: true });\r\n const { fileIdentifier } = selectedItem.attachment;\r\n\r\n await drill.deleteAttach(\r\n `/drill/report/${this.state.drillReport.id}/answer/${idAnswerAttachment}/attachment/${fileIdentifier} `\r\n );\r\n const index = answer.attachments.indexOf(selectedItem);\r\n if (index > -1) {\r\n answer.attachments.splice(index, 1);\r\n }\r\n return `${entitiesLabels.SUCCESS}`;\r\n } catch (error) {\r\n return showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.EMERGENCYDRILL, apioperation.POST)\r\n );\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n }\r\n\r\n downloadAnswerAttachment = async (id, idAnswerAttachment) => {\r\n const answer = this.state.drillReport.drillCheckListRequirementAnswers.find(\r\n (item) => item.attachments.count !== 0 && item.id === idAnswerAttachment\r\n );\r\n const index = answer.attachments.findIndex((a) => a.id === id);\r\n let file;\r\n try {\r\n this.setState({ downloading: id });\r\n const fileA = answer.attachments[index].attachment;\r\n file = (\r\n await api.getAll(\r\n `/drill/report/${this.state.drillReport.id}/answer/${idAnswerAttachment}/attachment/${fileA.fileIdentifier}`\r\n )\r\n ).data;\r\n this.downloadFile(file, fileA.name, fileA.contentType);\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.FileUpload, apioperation.GET));\r\n } finally {\r\n this.setState({ downloading: null });\r\n }\r\n return file;\r\n };\r\n\r\n async uploadAnswerAttachment(idAnswerAttachment, newAttach) {\r\n const answer = this.state.drillReport.drillCheckListRequirementAnswers.find(\r\n (item) => item.attachments.count !== 0 && item.id === idAnswerAttachment\r\n );\r\n const index = this.state.drillReport.drillCheckListRequirementAnswers.indexOf(answer);\r\n this.setState({ isSubmitted: true });\r\n await api\r\n .post(\r\n `/drill/report/${this.state.drillReport.id}/answer/${idAnswerAttachment}/attachment`,\r\n newAttach\r\n )\r\n .then((response) => {\r\n if (response.status === 200) {\r\n showNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.ATTACHMENT, apioperation.POST));\r\n\r\n answer.attachments.push(response.data);\r\n this.setState((prevState) => {\r\n const drillReport = { ...prevState.drillReport };\r\n drillReport.drillCheckListRequirementAnswers[index] = answer;\r\n DrillRepository.updateCachedDrill(drillReport);\r\n return { drillReport };\r\n });\r\n } else {\r\n showNotification.error();\r\n }\r\n this.setState({ isSubmitted: false });\r\n })\r\n .catch((error) => {\r\n this.setState({ isSubmitted: false });\r\n return showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.ATTACHMENT, apioperation.POST)\r\n );\r\n });\r\n }\r\n\r\n requirementDelete = async (requirementToDelete) => {\r\n try {\r\n this.setState({ isSubmitted: true });\r\n await api.delete('drill/report/checklistquestion/', requirementToDelete);\r\n this.setState({ isSubmitted: false });\r\n const { drillCheckListRequirementAnswers } = this.state.drillReport;\r\n\r\n const index = drillCheckListRequirementAnswers.findIndex(\r\n (qa) => qa.requirement?.id === requirementToDelete\r\n );\r\n drillCheckListRequirementAnswers.splice(index, 1);\r\n this.setState((prevState) => {\r\n const drillReport = { ...prevState.drillReport };\r\n drillReport.drillCheckListRequirementAnswers = drillCheckListRequirementAnswers;\r\n return { drillReport };\r\n });\r\n showNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.EMERGENCYDRILL_REQ, apioperation.DELETE));\r\n } catch (error) {\r\n this.setState({ isSubmitted: false });\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(entitiesLabels.EMERGENCYDRILL_REQ, apioperation.DELETE));\r\n throw error;\r\n }\r\n };\r\n // ***************** REPORT SUMMARY ***************** END\r\n\r\n // oppure (key, val)\r\n updateDrillReport(drillReport) {\r\n this.setState({\r\n drillReport,\r\n });\r\n }\r\n\r\n // ***************** RENDER ***************** START\r\n renderLoadingModal = () => {\r\n const show = this.state.isSubmitted;\r\n return show && ;\r\n };\r\n\r\n // getUrlBack = () => {\r\n // if (this.state.isLoadingDrillReport === false) {\r\n // return this.props.history.goBack();\r\n // }\r\n // };\r\n \r\n renderTabs = () => (\r\n <>\r\n \r\n {this.renderLoadingModal()}\r\n
    \r\n
    \r\n \r\n {this.state.drillReport && (\r\n this.closeModalHistory()}\r\n />\r\n )}\r\n {this.state.drillReport && (\r\n
    \r\n
    \r\n \r\n {this.state.validationDeliveryDate ? (\r\n
    \r\n {' '}\r\n Enter the startDate and endDate in the main information\r\n
    \r\n ) : (\r\n ''\r\n )}\r\n
    \r\n
    )}\r\n
    \r\n {this.state.tabsLoading ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n {}}\r\n role=\"navigation\"\r\n selected={0}\r\n tabContentClassName=\"auditReportTab\"\r\n triggerHref=\"#\"\r\n type=\"default\"\r\n >\r\n {}}\r\n onKeyDown={() => {}}\r\n role=\"presentation\"\r\n work\r\n selected={false}\r\n tabIndex={0}\r\n >\r\n \r\n \r\n {}}\r\n onKeyDown={() => {}}\r\n role=\"presentation\"\r\n selected={false}\r\n tabIndex={0}\r\n disabled={!this.state.drillReport?.drillNotificationForm?.sendedOn}\r\n >\r\n \r\n \r\n\r\n {}}\r\n onKeyDown={() => {}}\r\n role=\"presentation\"\r\n selected={false}\r\n tabIndex={0}\r\n disabled={!this.state.drillReport?.drillNotificationForm?.sendedOn}\r\n >\r\n \r\n \r\n this.showRequirment()}\r\n onKeyDown={() => {}}\r\n role=\"presentation\"\r\n selected={false}\r\n tabIndex={0}\r\n disabled={!this.state.drillReport?.drillNotificationForm?.sendedOn}\r\n >\r\n \r\n \r\n {\r\n this.props.history.push(`/drill/report/${this.props.match.params.id}/car`);\r\n }}\r\n selected={false}\r\n tabIndex={0}\r\n disabled={!this.state.drillReport?.drillNotificationForm?.sendedOn}\r\n />\r\n {}}\r\n role=\"presentation\"\r\n selected={false}\r\n tabIndex={0}\r\n disabled={!this.state.drillReport?.drillNotificationForm?.sendedOn}\r\n >\r\n \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n\r\n render() {\r\n return this.state.drillReport ? (\r\n \r\n {({ user }) => (IsEnabled(user, 'Emergency Drill') ? \r\n <>\r\n {this.renderTabs()}\r\n ;\r\n : '')}\r\n \r\n ) : (\r\n <>\r\n );\r\n }\r\n // ***************** RENDER ***************** END\r\n}\r\n\r\nDrillReport.propTypes = {\r\n match: PropTypes.shape({\r\n path: PropTypes.string,\r\n params: PropTypes.shape({\r\n id: PropTypes.string.isRequired,\r\n }),\r\n url: PropTypes.string,\r\n }).isRequired,\r\n history: PropTypes.shape({\r\n block: PropTypes.func,\r\n createHref: PropTypes.func,\r\n go: PropTypes.func,\r\n goBack: PropTypes.func,\r\n goForward: PropTypes.func,\r\n listen: PropTypes.func,\r\n push: PropTypes.func,\r\n replace: PropTypes.func,\r\n length: PropTypes.number,\r\n action: PropTypes.string,\r\n location: PropTypes.shape({\r\n pathname: PropTypes.string,\r\n search: PropTypes.string,\r\n hash: PropTypes.string,\r\n key: PropTypes.string\r\n }),\r\n }).isRequired,\r\n};\r\n\r\nDrillReport.contextType = AppContext;\r\nexport default DrillReport;\r\n","/* eslint-disable react/sort-comp */\r\nimport React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { TextInput, Loading, FormGroup, Button, TextArea, TextInputSkeleton, DatePickerSkeleton } from 'carbon-components-react';\r\nimport '../../../../scss/custom.scss';\r\nimport Save16 from '@carbon/icons-react/lib/save/16';\r\nimport {\r\n CheckmarkOutline16,\r\n Information16,\r\n} from '@carbon/icons-react/lib/';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { showNotification } from '../../../../helpers/notification/BaseNotification';\r\nimport { getError, getSuccess, entitiesLabels, apioperation, DateFormat } from '../../../../helpers/Constants';\r\nimport { api } from '../../../../helpers/api/api';\r\nimport { IsEditable, CanExecuteAction } from '../../../../helpers/authorization/Policies';\r\nimport { AppContext } from '../../../../helpers/context/AppContext';\r\nimport PageBreadCrumb from '../../../../helpers/PageBreadCrumb';\r\nimport { switchDateFormat } from '../../../../helpers/jsonschemaform/customwidget/utils';\r\nimport { WFActionModal } from '../../../common/WFActionModal';\r\nimport { HistoryTable } from '../../../../helpers/HistoryTable';\r\nimport DrillRepository from '../../../../helpers/api/DrillRepository';\r\nimport DateTimePicker from '../../../../helpers/DateTimePicker';\r\nimport AttachmentTable from '../../../common/AttachmentTable';\r\n\r\n\r\nexport default class DrillCARDetail extends Component {\r\n baseUrl;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n // const idDrillEdit = props ? props.match.params.id : '';\r\n const idCar = props ? props.match.params.idCar : '';\r\n // const idAnswer = props ? props.match.params.idAnswer : '';\r\n this.validator = new SimpleReactValidator();\r\n this.state = {\r\n isSubmitted: false,\r\n // idDrillEdit,\r\n idCar,\r\n // idAnswer,\r\n isLoading: true,\r\n model: null,\r\n\r\n // /Status Action\r\n isApprovalModalOpen: false,\r\n approvalModalAction: '',\r\n approver: null,\r\n // approvalStartDate: null,\r\n // approvalEndDate: null,\r\n isLoadingApproverOptions: true,\r\n approvalValidationMessages: [],\r\n approvers: [],\r\n // selectedData: [],\r\n approverRole: '',\r\n withApprover: true,\r\n isLoadingWFOperation: false,\r\n approvalNotesRequired: false,\r\n // /Status Action\r\n isHistoryModalOpen: false,\r\n };\r\n this.baseUrl = `/drill/report/answer/car/${this.state.idCar}`;\r\n\r\n this.onCauseofInefficiencyChange = this.onCauseofInefficiencyChange.bind(this);\r\n this.onCorrectiveActionChange = this.onCorrectiveActionChange.bind(this);\r\n this.onImmediateTreatmentChange = this.onImmediateTreatmentChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.getCAR();\r\n }\r\n\r\n getCAR = () => {\r\n this.setState({\r\n isLoading: true,\r\n });\r\n\r\n api\r\n .getAll(this.baseUrl)\r\n .then((response) => {\r\n const { data } = response;\r\n if (data) {\r\n this.setState({\r\n // model: data,\r\n model: {\r\n ...data,\r\n drillReport: data.drillCheckListRequirementAnswer.drillReport\r\n ? data.drillCheckListRequirementAnswer.drillReport\r\n : data.drillReport,\r\n },\r\n });\r\n } else {\r\n showNotification.error(`${entitiesLabels.ERROR}`, 'CAR not found');\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.CAR, apioperation.GET));\r\n this.props.history.push(this.baseUrl);\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoading: false,\r\n });\r\n });\r\n };\r\n\r\n updateCar = async () => {\r\n if (this.validator.allValid()) {\r\n try {\r\n this.setState({ isSubmitted: true });\r\n await api.put(this.baseUrl, this.state.model);\r\n showNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.CAR, apioperation.PUT));\r\n\r\n await DrillRepository.updateCachedCarList(this.state.model);\r\n } catch (error) {\r\n // showNotification.error(getError(entitiesLabels.CAR, apioperation.PUT));\r\n } finally {\r\n this.setState({ isSubmitted: false });\r\n }\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.EMERGENCYDRILL_CAR} required fields are missing `\r\n );\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n showButtonHistory = () => (\r\n this.openModalHistory()}\r\n >\r\n History\r\n \r\n );\r\n\r\n openModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: true });\r\n };\r\n\r\n closeModalHistory = () => {\r\n this.setState({ isHistoryModalOpen: false });\r\n };\r\n\r\n showLoading() {\r\n const show = this.state.isLoading || this.state.isSubmitted;\r\n const descr = this.state.isSubmitted ? 'Saving...' : 'Loading data...';\r\n return show && ;\r\n // return ()\r\n }\r\n\r\n onImmediateTreatmentChange(event) {\r\n const { value } = event.currentTarget;\r\n this.setState((prevState) => ({ model: {\r\n ...prevState.model,\r\n immediateTreatment: value,\r\n } }));\r\n }\r\n\r\n onCauseofInefficiencyChange(event) {\r\n const { value } = event.currentTarget;\r\n this.setState((prevState) => ({\r\n model: {\r\n ...prevState.model,\r\n causeOfInefficiency: value,\r\n },\r\n }));\r\n }\r\n\r\n onCorrectiveActionChange(event) {\r\n const { value } = event.currentTarget;\r\n this.setState((prevState) => ({\r\n model: {\r\n ...prevState.model,\r\n correctiveAction: value,\r\n },\r\n }));\r\n }\r\n\r\n IsRowSelectable() {\r\n const row = this.state.model;\r\n if (row == null) return false;\r\n return true;\r\n }\r\n\r\n batchActionClick(\r\n actionKey,\r\n actionName,\r\n approverRole,\r\n withApprover,\r\n approvalNotesRequired,\r\n ) {\r\n this.setState({\r\n approvalModalAction: actionName,\r\n isApprovalModalOpen: true,\r\n isLoadingApproverOptions: true,\r\n withApprover,\r\n // selectedData: selectedRows,\r\n approverRole,\r\n approvalEndpoint: actionKey,\r\n approvalNotesRequired,\r\n });\r\n }\r\n\r\n getStatusActions = (user) => {\r\n if (!this.IsRowSelectable()) return null;\r\n\r\n let emailOwner = null;\r\n if (this.state.model != null) {\r\n if (this.state.model.owner != null) {\r\n emailOwner = this.state.model.owner.email;\r\n } else if (this.state.model.ownerSaipem != null) {\r\n emailOwner = this.state.model.ownerSaipem.email;\r\n } else {\r\n emailOwner = '';\r\n }\r\n }\r\n\r\n const canEditResource = this.state.model && {\r\n idCompiler: this.state.model.drillReport.idCompiler,\r\n email: emailOwner\r\n };\r\n\r\n const { idStatus } = this.state.model;\r\n return (\r\n <>\r\n {CanExecuteAction(\r\n 'Emergency Drill',\r\n 'CARSimplified',\r\n user,\r\n idStatus,\r\n 'Close',\r\n canEditResource\r\n ) ? (\r\n { this.updateCar(); this.batchActionClick('Close', 'Close', null, false, true, null); }}\r\n >\r\n Close CAR\r\n \r\n ) : null}\r\n\r\n {CanExecuteAction(\r\n 'Emergency Drill',\r\n 'CARSimplified',\r\n user,\r\n idStatus,\r\n 'Open',\r\n canEditResource\r\n ) ? (\r\n this.batchActionClick('Open', 'Open', null, false, true, null)}\r\n >\r\n Open CAR\r\n \r\n ) : null}\r\n \r\n );\r\n };\r\n\r\n // WF\r\n handleApproverSelect = (selectedItem) => {\r\n this.setState({ approver: selectedItem });\r\n };\r\n\r\n handleCloseApprovalModal = () => {\r\n this.setState({ isApprovalModalOpen: false }, this.clearApprovalForm);\r\n };\r\n\r\n handleApprovalNotesChange = (e) => {\r\n this.setState({ approvalNotes: e.target.value });\r\n };\r\n\r\n handleConfirmApprovalModal = () => {\r\n const apiEndpoint = this.state.approvalEndpoint;\r\n\r\n const data = {\r\n ids: [this.state.idCar],\r\n owner: this.state.approver,\r\n workflowNotes: this.state.approvalNotes,\r\n };\r\n\r\n if (this.state.model.correctiveAction == null && this.state.model.idStatus !== 4) {\r\n this.setState({\r\n isApprovalModalOpen: false,\r\n });\r\n showNotification.warning(`${entitiesLabels.WARNING}`, 'Corrective Action required field is missing');\r\n } else {\r\n this.setState({\r\n isLoadingWFOperation: true,\r\n });\r\n api\r\n .put(`/drill/report/${this.state.model.drillReport.id}/car/${apiEndpoint}`, data, '')\r\n .then((response) => {\r\n if (response.status === 200) {\r\n showNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.CAR, apioperation.PUT));\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n isApprovalModalOpen: false,\r\n isLoading: true,\r\n // model: null\r\n });\r\n this.getCAR();\r\n } else {\r\n showNotification.error();\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.CAR, apioperation.PUT));\r\n this.setState({\r\n isLoadingWFOperation: false,\r\n });\r\n })\r\n .finally(() => {});\r\n }\r\n };\r\n\r\n getUrlBack = () => {\r\n if (this.state.model?.drillReport?.id != null) {\r\n this.props.history.goBack();\r\n }\r\n };\r\n\r\n updateActualCompletitionDate = (_, completationDate) => {\r\n this.setState((prevState) => \r\n ({ model: { ...prevState.model, actualDateCompletition: completationDate } }));\r\n } \r\n\r\n clearAttachment = () => ({\r\n id: null, // guid\r\n fileIdentifier: null,\r\n name: null,\r\n contentType: null,\r\n size: null,\r\n type: null,\r\n });\r\n\r\n onUploadFiles = (fileIdentifier, fileName, fileType, size) => {\r\n const attachment = { ...this.state.attachment };\r\n\r\n attachment.id = uuid();\r\n attachment.fileIdentifier = fileIdentifier.blobName;\r\n attachment.name = fileName;\r\n attachment.contentType = fileType;\r\n attachment.size = size;\r\n // attachment.filePath = file.localPath;\r\n\r\n this.setState({\r\n attachment: this.clearAttachment(),\r\n });\r\n\r\n try {\r\n if (attachment == null) return;\r\n // insert\r\n //RITM0994510 RITM0983788 - EM Drill Upload CAR\r\n // this.setState((prevState) => {\r\n // const oldattachment = prevState.attachment || [];\r\n\r\n // const newItem = {\r\n // id: uuid(), // guid\r\n\r\n // idAttachment: attachment.id, // guid\r\n // attachment,\r\n // };\r\n\r\n // const newattachment = oldattachment.concat([newItem]);\r\n // return { model: { ...prevState.model, attachment: newattachment } };\r\n //});\r\n const oldattachment = this.state.model.attachment || [];\r\n\r\n const newItem = {\r\n id: uuid(), // guid\r\n\r\n idAttachment: attachment.id, // guid\r\n attachment,\r\n };\r\n\r\n const newattachment = oldattachment.concat([newItem]);\r\n this.setState((prevState) => ({ model: { ...prevState.model, attachment: newattachment } }));\r\n //End\r\n } catch (error) {\r\n showNotification.error();\r\n }\r\n };\r\n\r\n onRemoveFile = (id) => {\r\n if (!id) return;\r\n this.setState((prevState) => {\r\n const statusCopy = { ...prevState.model };\r\n statusCopy.attachment = statusCopy.attachment.filter((el) => el.id !== id);\r\n return { model: statusCopy };\r\n });\r\n };\r\n\r\n\r\n render() {\r\n let emailOwner = null;\r\n if (this.state.model != null) {\r\n if (this.state.model.owner != null) {\r\n emailOwner = this.state.model.owner.email;\r\n } else if (this.state.model.ownerSaipem != null) {\r\n emailOwner = this.state.model.ownerSaipem.email;\r\n } else {\r\n emailOwner = '';\r\n }\r\n }\r\n\r\n const canEditResource = this.state.model && {\r\n idCompiler: this.state.model.drillReport.idCompiler,\r\n idDataApprover: this.state.model.drillReport.idDataApprover,\r\n idDivisionManager: this.state.model.drillReport.idDivisionManager,\r\n email: emailOwner\r\n };\r\n const validations = {\r\n correctiveAction: this.validator.message(\r\n 'Corrective Action',\r\n this.state.model?.correctiveAction,\r\n 'required'\r\n ),\r\n };\r\n return (\r\n \r\n {({ user }) => (\r\n <>\r\n \r\n
    \r\n {this.showLoading()}\r\n \r\n this.closeModalHistory()}\r\n />\r\n
    \r\n
    \r\n {this.state.model && (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n
    \r\n {!this.state.model ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n\r\n\r\n {IsEditable(\r\n 'Emergency Drill',\r\n 'CARSimplified',\r\n user,\r\n this.state.model ? this.state.model.idStatus : null,\r\n 'CorrectiveAction',\r\n canEditResource\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\nDrillCARDetail.propTypes = {\r\n match: PropTypes.shape({\r\n params: PropTypes.shape({\r\n idCar: PropTypes.string,\r\n }),\r\n }).isRequired,\r\n history: PropTypes.shape({\r\n length: PropTypes.number,\r\n action: PropTypes.string,\r\n location: PropTypes.shape({\r\n pathname: PropTypes.string,\r\n search: PropTypes.string,\r\n hash: PropTypes.string,\r\n state: PropTypes.object\r\n }),\r\n index: PropTypes.number,\r\n entries: PropTypes.array,\r\n createHref: PropTypes.func,\r\n push: PropTypes.func,\r\n replace: PropTypes.func,\r\n go: PropTypes.func,\r\n goBack: PropTypes.func,\r\n goForward: PropTypes.func,\r\n canGo: PropTypes.func,\r\n block: PropTypes.func,\r\n listen: PropTypes.func\r\n }).isRequired,\r\n};\r\n","/* eslint-disable react/sort-comp */\r\nimport React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n ModalBody,\r\n ModalFooter,\r\n ModalHeader,\r\n Form,\r\n Loading,\r\n FormGroup,\r\n ComposedModal,\r\n DatePickerSkeleton,\r\n TextArea,\r\n Button,\r\n DataTable,\r\n Pagination,\r\n DataTableSkeleton,\r\n Table,\r\n TableHeader,\r\n TableHead,\r\n TableRow,\r\n TableContainer,\r\n TableBody,\r\n TableCell,\r\n TextInput,\r\n FormLabel,\r\n} from 'carbon-components-react';\r\nimport Edit16 from '@carbon/icons-react/lib/edit/16';\r\nimport View16 from '@carbon/icons-react/lib/view--filled/16';\r\nimport Delete16 from '@carbon/icons-react/lib/delete/16';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { Link } from 'react-router-dom';\r\nimport {\r\n RenderDataTableCell,\r\n NoRecordsPlaceholder,\r\n} from '../../../../helpers/jsonschemaform/DataTableExtention';\r\nimport { FindGHRSEmployer } from '../../../common/FindGHRSEmployer';\r\nimport PageBreadCrumb from '../../../../helpers/PageBreadCrumb';\r\nimport { IsEditable } from '../../../../helpers/authorization/Policies';\r\nimport { showNotification } from '../../../../helpers/notification/BaseNotification';\r\nimport {\r\n DateFormat,\r\n entitiesLabels,\r\n getError,\r\n apioperation,\r\n getSuccess,\r\n} from '../../../../helpers/Constants';\r\nimport DateTimePicker from '../../../../helpers/DateTimePicker';\r\nimport { api } from '../../../../helpers/api/api';\r\nimport { AppContext } from '../../../../helpers/context/AppContext';\r\nimport DrillRepository from '../../../../helpers/api/DrillRepository';\r\nimport { Online, Offline } from '../../../common/OnLineOffLine';\r\nimport { FindSaipemCompilers } from '../../../common/FindSaipemCompilers';\r\n\r\nexport class DrillCarList extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator();\r\n this.state = {\r\n isOpenModalGHRS: false,\r\n drillKey: this.props.match.params.id,\r\n drillCode: null,\r\n drillCarModel: null,\r\n drillReport: {},\r\n carList: [],\r\n mode: 0,\r\n isOpenModalCar: false,\r\n isLoadingElement: false,\r\n isLoadingDate: false,\r\n\r\n currentPage: 1,\r\n pageSize: 10,\r\n rowCount: 0,\r\n };\r\n\r\n this.baseUrl = '/drill/report';\r\n\r\n this.handleChangeGHRSModal = this.handleChangeGHRSModal.bind(this);\r\n this.setEmployer = this.setEmployer.bind(this);\r\n this.getIsEditable = this.getIsEditable.bind(this);\r\n this.getCanEditResource = this.getCanEditResource.bind(this);\r\n this.handleCarDeleteCancel = this.handleCarDeleteCancel.bind(this);\r\n this.onDetailsOfInefficiencyChange = this.onDetailsOfInefficiencyChange.bind(this);\r\n this.onFindingDescriptionChange = this.onFindingDescriptionChange.bind(this);\r\n this.onCorrectiveActionChange = this.onCorrectiveActionChange.bind(this);\r\n }\r\n\r\n baseUrl;\r\n\r\n componentDidMount() {\r\n this.getCarList(this.state.drillKey);\r\n }\r\n\r\n getCarList(id) {\r\n this.setState({\r\n isLoadCar: true,\r\n });\r\n const dataInput = {\r\n params: {\r\n page: this.state.currentPage,\r\n pageSize: this.state.pageSize,\r\n },\r\n };\r\n api\r\n .getWithParam(`drill/report/${id}/car`, dataInput)\r\n .then((response) => {\r\n if (response.status === 200) {\r\n const { data } = response;\r\n if (data) {\r\n this.setState({\r\n carList: data.drillCAR.itemList,\r\n drillReport: data.drillReport,\r\n drillCode: data.drillCode,\r\n page: data.drillCAR.currentPage,\r\n pageSize: data.drillCAR.pageSize,\r\n pageCount: data.drillCAR.pageCount,\r\n rowCount: data.drillCAR.rowCount,\r\n });\r\n } \r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.CAR, apioperation.GET));\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoadCar: false,\r\n isLoadingElement: false,\r\n });\r\n });\r\n }\r\n\r\n handleChangePaging = async (page) => {\r\n await new Promise((resolve) => {\r\n this.setState({ currentPage: page.page, \r\n pageSize: page.pageSize, \r\n loading: true, \r\n isBack: false }, resolve);\r\n });\r\n this.getCarList(this.state.drillKey);\r\n };\r\n\r\n updateCAR() {\r\n if (this.validator.allValid()) {\r\n const car = this.state.drillCarModel;\r\n car.idDrillReport = this.state.drillReport.id;\r\n if (car.id == null) return;\r\n const url = this.getUrlDetailCar(car.id);\r\n api\r\n .put(url, car, '')\r\n .then(async (response) => {\r\n if (response.status === 200) {\r\n showNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.CAR, apioperation.PUT));\r\n await DrillRepository.updateCachedCarList(car);\r\n const id = this.state.drillKey;\r\n this.getCarList(id);\r\n this.closemodalCar();\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.CAR, apioperation.PUT));\r\n })\r\n .finally(() => {});\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`,\r\n `${entitiesLabels.EMERGENCYDRILL_REPORT} required fields are missing `\r\n );\r\n\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n handleCarDeleteCancel() {\r\n this.setState({\r\n idToDelete: null,\r\n isOpenDeleteModal: false,\r\n isDeleting: false,\r\n });\r\n }\r\n\r\n confirmDeleteCAR = (id) => {\r\n this.setState({\r\n idToDelete: id,\r\n isOpenDeleteModal: true,\r\n isDeleting: false,\r\n });\r\n };\r\n\r\n confirmDeleteCar = () => \r\n // const modalHeader = {\r\n // title: 'Delete Car',\r\n // iconDescription: 'Close',\r\n // buttonOnClick: () => this.handleRequirementDeleteCancel(),\r\n // };\r\n (\r\n this.state.isOpenDeleteModal && (\r\n {\r\n this.handleCarDeleteCancel();\r\n }}\r\n >\r\n this.handleRequirementDeleteCancel()}>\r\n

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

    \r\n
    \r\n
    \r\n
    Press confirm to delete car selected
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n )\r\n ;\r\n\r\n deleteCAR() {\r\n const item = this.state.carList.find((el) => el.id === this.state.idToDelete);\r\n\r\n const url = `${this.baseUrl}/${this.state.drillReport.id}/answer/${item.idAnswer}/car/${item.id}`;\r\n api\r\n .delete(url, '')\r\n .then((response) => {\r\n if (response.status === 200) {\r\n showNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.CAR, apioperation.DELETE));\r\n const id = this.state.drillKey;\r\n this.getCarList(id);\r\n this.setState({\r\n isOpenDeleteModal: false,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.CAR, apioperation.DELETE));\r\n })\r\n .finally(() => {});\r\n }\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n const statusCopy = { ...this.state };\r\n statusCopy[objName][inputName] = inputValue;\r\n this.setState(statusCopy);\r\n };\r\n\r\n getUrlDetailCar = (id) => {\r\n if (id == null) return '#';\r\n return `${this.baseUrl}/answer/car/${id}`;\r\n };\r\n\r\n getStatusId = (idRow) => {\r\n const r = this.state.carList.find((el) => el.id === idRow);\r\n return r && r.idStatus;\r\n };\r\n\r\n getCanEditResource = () => {\r\n const canEditResource = this.state.drillReport && {\r\n idCompiler: this.state.drillReport.idCompiler,\r\n };\r\n\r\n return canEditResource;\r\n };\r\n\r\n getIsEditable() {\r\n const reportStatus = this.state.drillReport.idStatus;\r\n if (reportStatus < 4) return true;\r\n\r\n return false;\r\n }\r\n\r\n // getUrlBack = () => {\r\n // if (this.state.drillReport?.id != null) {\r\n // return this.props.history.goBack();\r\n // }\r\n // };\r\n\r\n render() {\r\n const headersArr = [\r\n { key: 'drillCARCode', header: 'Code' },\r\n { key: 'requirementCode', header: 'Requirement Code' },\r\n { key: 'owner', header: 'Owner' },\r\n { key: 'duedate', header: 'Due Date', type: 'date' },\r\n { key: 'status', header: 'Status', type: 'status' },\r\n ];\r\n const skeletonRowCount = 3;\r\n\r\n const rowsArr = [];\r\n\r\n if (this.state.carList) {\r\n const cars = this.state.carList.sort((a, b) => {\r\n const sequenceA = new Date(a.sequence);\r\n const sequenceB = new Date(b.sequence);\r\n return sequenceA - sequenceB;\r\n });\r\n cars.forEach((item) => {\r\n rowsArr.push({\r\n id: item.id,\r\n idAnswer: item.drillCheckListRequirementAnswer.idAnswer,\r\n drillCARCode: item.drillCARCode,\r\n requirementCode: item.requirementCode,\r\n status: item.status.carSimplifiedName,\r\n owner:\r\n item.owner != null\r\n ? `${item.owner.name} ${item.owner.surname}`\r\n : `${item.ownerSaipem.name} ${item.ownerSaipem.surname}`,\r\n duedate: item.dueDate,\r\n });\r\n });\r\n }\r\n // const paginationProps = () => ({\r\n // page: this.state.currentPage || 1,\r\n // totalItems: this.state.rowCount || 0,\r\n // pageSize: this.state.pageSize || 10,\r\n // pageSizes: [10, 20, 30, 40, 50],\r\n // onChange: this.handleChangePaging,\r\n // });\r\n return (\r\n \r\n {({ user }) => (\r\n <>\r\n \r\n
    \r\n {this.modalCar()}\r\n {this.confirmDeleteCar()}\r\n {this.state.isLoadCar ? (\r\n \r\n ) : (\r\n (\r\n \r\n \r\n \r\n \r\n {headers.map((header) => (\r\n \r\n {header.header}\r\n \r\n ))}\r\n Actions\r\n \r\n \r\n \r\n {rows == null || rows.length === 0 ? (\r\n \r\n ) : (\r\n rows.map((row) => (\r\n \r\n {row.cells.map((cell) => (\r\n x.key === cell.info.header)}\r\n />\r\n ))}\r\n\r\n \r\n
    \r\n {IsEditable(\r\n 'Emergency Drill',\r\n 'CARSimplified',\r\n user,\r\n this.getStatusId(row.id),\r\n 'DueDate',\r\n this.getCanEditResource(null)\r\n ) && this.getIsEditable(row.id) ? (\r\n <>\r\n this.getCAR(this.getUrlDetailCar(row.id))}\r\n size=\"small\"\r\n renderIcon={Edit16}\r\n iconDescription=\"Edit\"\r\n kind=\"ghost\"\r\n />\r\n \r\n this.confirmDeleteCAR(row.id)}\r\n size=\"small\"\r\n renderIcon={Delete16}\r\n iconDescription=\"Delete\"\r\n kind=\"ghost\"\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\n ))\r\n )}\r\n
    \r\n
    \r\n
    \r\n )}\r\n />\r\n )}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n )}\r\n
    \r\n );\r\n }\r\n\r\n setEmployer = (employer) => {\r\n if (employer && employer.id) {\r\n this.setState((prevState) => {\r\n const statusCopy = { ...prevState.drillCarModel };\r\n statusCopy.idOwner = employer.id;\r\n statusCopy.owner = employer;\r\n statusCopy.idOwnerSaipem = null;\r\n statusCopy.ownerSaipem = null;\r\n return { drillCarModel: statusCopy, mode: 0 };\r\n });\r\n }\r\n };\r\n\r\n setSaipemOwner = (employer) => {\r\n if (employer && employer.id) {\r\n this.setState((prevState) => {\r\n const statusCopy = { ...prevState.drillCarModel };\r\n statusCopy.idOwnerSaipem = employer.id;\r\n statusCopy.ownerSaipem = employer;\r\n statusCopy.idOwner = null;\r\n statusCopy.owner = null;\r\n\r\n return { drillCarModel: statusCopy, mode: 0 };\r\n });\r\n }\r\n };\r\n\r\n handleChangeMode = (m) => {\r\n this.setState({ mode: m });\r\n };\r\n\r\n showGHRS = () => {\r\n this.setState({ mode: 1 });\r\n };\r\n\r\n handleChangeGHRSModal() {\r\n this.setState({ mode: 0 });\r\n }\r\n\r\n closemodalCar = () => {\r\n this.validator.hideMessages();\r\n this.forceUpdate();\r\n this.setState({ isOpenModalCar: false });\r\n };\r\n\r\n getCAR = (url) => {\r\n this.setState({\r\n isLoading: true,\r\n });\r\n api\r\n .get(url, '')\r\n .then((response) => {\r\n const { data } = response;\r\n if (data) {\r\n this.setState({\r\n drillCarModel: data,\r\n isOpenModalCar: true,\r\n });\r\n } else {\r\n showNotification.error(`${entitiesLabels.ERROR}`, 'CAR not found');\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.CAR, apioperation.GET));\r\n this.props.history.push(this.baseUrl);\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isLoading: false,\r\n });\r\n });\r\n };\r\n\r\n updateStateDPCAR = (inputName, inputValue) => {\r\n this.setState((prevState) => ({ drillCarModel: {\r\n ...prevState.drillCarModel,\r\n dueDate: inputValue,\r\n } }));\r\n };\r\n\r\n onDetailsOfInefficiencyChange(event) {\r\n const { value } = event.currentTarget;\r\n this.setState((prevState) => ({\r\n drillCarModel: {\r\n ...prevState.drillCarModel,\r\n detailsOfInefficiency: value,\r\n }\r\n }));\r\n }\r\n\r\n onFindingDescriptionChange(event) {\r\n const { value } = event.currentTarget;\r\n this.setState((prevState) => ({ drillCarModel: {\r\n ...prevState.drillCarModel,\r\n findingDescription: value,\r\n } }));\r\n }\r\n\r\n onCorrectiveActionChange(event) {\r\n const { value } = event.currentTarget;\r\n this.setState((prevState) => ({ drillCarModel: {\r\n ...prevState.drillCarModel,\r\n identifiedCorrectiveAction: value,\r\n } }));\r\n }\r\n\r\n getOwner = () => {\r\n if (this.state.drillCarModel?.owner) return `${this.state.drillCarModel.owner.name} ${this.state.drillCarModel.owner.surname}`;\r\n if (this.state.drillCarModel?.ownerSaipem) return `${this.state.drillCarModel.ownerSaipem.name} ${this.state.drillCarModel.ownerSaipem.surname}`;\r\n return '';\r\n };\r\n\r\n modalCar() {\r\n // const modalHeader = {\r\n // title: `Edit Drill Car: ${this.state?.drillCarModel?.drillCARCode}`,\r\n // iconDescription: 'Close',\r\n // buttonOnClick: () => this.closemodalCar(),\r\n // };\r\n const validationCar = {\r\n findingDescription: this.validator.message(\r\n 'Finding Description',\r\n this.state.drillCarModel?.findingDescription,\r\n 'required'\r\n ),\r\n correctiveAction: this.validator.message(\r\n 'Corrective Action to be implemented',\r\n this.state.drillCarModel?.identifiedCorrectiveAction,\r\n 'required'\r\n ),\r\n };\r\n if (this.state.mode === 1) {\r\n return (\r\n this.handleChangeMode(0)}\r\n onOk={this.setEmployer}\r\n />\r\n );\r\n }\r\n if (this.state.mode === 2) {\r\n return (\r\n this.handleChangeMode(0)}\r\n onOk={this.setSaipemOwner}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n false}\r\n >\r\n this.closemodalCar()}\r\n >\r\n

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

    \r\n
    \r\n
    \r\n {this.state.isLoadingElement ? : ''}\r\n
    \r\n \r\n Due Date*\r\n {this.state.isLoadingDate ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n\r\n \r\n
    \r\n
    \r\n this.handleChangeMode(1)}\r\n >\r\n GHRS research\r\n \r\n
    \r\n
    \r\n this.handleChangeMode(2)}\r\n >\r\n Saipem research\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n Owner Full Name*\r\n \r\n \r\n \r\n Owner Email*\r\n \r\n \r\n \r\n \r\n \r\n {validationCar.findingDescription}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {validationCar.correctiveAction}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nDrillCarList.propTypes = {\r\n history: PropTypes.shape({\r\n length: PropTypes.number,\r\n action: PropTypes.string,\r\n location: PropTypes.shape({\r\n pathname: PropTypes.string,\r\n search: PropTypes.string,\r\n hash: PropTypes.string,\r\n state: PropTypes.object\r\n }),\r\n index: PropTypes.number,\r\n entries: PropTypes.array,\r\n createHref: PropTypes.func,\r\n push: PropTypes.func,\r\n replace: PropTypes.func,\r\n go: PropTypes.func,\r\n goBack: PropTypes.func,\r\n goForward: PropTypes.func,\r\n canGo: PropTypes.func,\r\n block: PropTypes.func,\r\n listen: PropTypes.func\r\n }).isRequired,\r\n match: PropTypes.shape({\r\n params: PropTypes.shape({\r\n id: PropTypes.string,\r\n }),\r\n }).isRequired,\r\n};\r\n\r\nexport default DrillCarList;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport '../../scss/custom.scss';\r\nimport {\r\n Button,\r\n TableToolbar,\r\n Loading,\r\n} from 'carbon-components-react';\r\nimport { drill, api, me } from '../../helpers/api/api';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport { AppContext } from '../../helpers/context/AppContext';\r\nimport { IsEnabled, IsInRole } from '../../helpers/authorization/Policies';\r\nimport PageBreadCrumb from '../../helpers/PageBreadCrumb';\r\nimport { getError, getSuccess, entitiesLabels, apioperation, PlannedWeekChangeType } from '../../helpers/Constants';\r\n\r\n\r\n// RITM0860478\r\nexport default class AnnualDrillPlanDownload extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.year = props ? props.match.params.year : '';\r\n this.id = props ? props.match.params.id : '';\r\n this.hver = props ? props.match.params.hver : '';\r\n this.hash = props ? props.match.params.hash : '';\r\n\r\n \r\n this.state = {\r\n isDownloadingAnnualDrillPlanFile: false, // RITM0860478\r\n };\r\n \r\n console.log(`AnnualDrillPlanDownload.constructor:`);\r\n \r\n }\r\n\r\n\r\n async componentDidMount() {\r\n console.log(`AnnualDrillPlanDownload.componentDidMount:`);\r\n this.DownloadAnnualDrillPlan(this.year, this.id, this.hver, this.hash);\r\n }\r\n \r\n // RITM0860478\r\n DownloadAnnualDrillPlan(year, idWorksite, hver, hash) {\r\n console.log(`AnnualDrillPlanDownload.DownloadAnnualDrillPlan: year: ${year} idWorksite: ${idWorksite} hver: ${hver} hash: ${hash}`);\r\n var reqUrl = '';\r\n var fileName = 'Annual_Drill_Plan' + year + '.zip';\r\n if (year != '' && idWorksite != '' && hver != '' && hash != '') {\r\n reqUrl = '/drill/exportannualdrillplanbylink/ws/' + year + '/' + idWorksite + '/' + hver + '/' + hash;\r\n } else {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError('No worksite or project selected!', entitiesLabels.EMERGENCYDRILL_ANNUALPLAN, apioperation.DOWNLOAD));\r\n return;\r\n }\r\n console.log(`AnnualDrillPlanDownload.DownloadAnnualDrillPlan: fileName: ${fileName}`);\r\n\r\n this.setState({\r\n isDownloadingAnnualDrillPlanFile: true,\r\n });\r\n api\r\n .getWithParam(reqUrl , {\r\n responseType: 'arraybuffer',\r\n })\r\n .then((response) => {\r\n var data = new Blob([response.data], { type: 'application/zip' });\r\n var csvURL = window.URL.createObjectURL(data);\r\n var tempLink = document.createElement('a');\r\n tempLink.href = csvURL;\r\n tempLink.setAttribute('download', fileName);\r\n document.body.appendChild(tempLink);\r\n tempLink.click();\r\n })\r\n .catch((error) => {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.EMERGENCYDRILL_ANNUALPLAN, apioperation.DOWNLOAD)\r\n );\r\n })\r\n .finally(() => {\r\n this.setState({\r\n isDownloadingAnnualDrillPlanFile: false,\r\n });\r\n });\r\n }\r\n \r\n \r\n renderLoadingModal = () => {\r\n const show = this.state.isDownloadingAnnualDrillPlanFile; // RITM0860478\r\n console.log(`AnnualDrillPlanDownload.renderLoadingModal: show: ${show}`);\r\n return show && ;\r\n };\r\n \r\n render() {\r\n console.log(`AnnualDrillPlanDownload.render:`);\r\n return (\r\n
    \r\n {this.renderLoadingModal()}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nAnnualDrillPlanDownload.propTypes = {\r\n history: PropTypes.shape({\r\n block: PropTypes.func,\r\n createHref: PropTypes.func,\r\n go: PropTypes.func,\r\n goBack: PropTypes.func,\r\n goForward: PropTypes.func,\r\n listen: PropTypes.func,\r\n push: PropTypes.func,\r\n replace: PropTypes.func,\r\n length: PropTypes.number,\r\n action: PropTypes.string,\r\n location: PropTypes.shape({\r\n pathname: PropTypes.string,\r\n search: PropTypes.string,\r\n hash: PropTypes.string,\r\n key: PropTypes.string\r\n }),\r\n }).isRequired,\r\n location: PropTypes.shape({\r\n pathname: PropTypes.string,\r\n search: PropTypes.string,\r\n hash: PropTypes.string,\r\n key: PropTypes.string\r\n }).isRequired\r\n};\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n TextInput, Button, Checkbox, RadioButtonGroup, FormGroup, RadioButton, ComposedModal, ModalHeader, ModalBody, ModalFooter, TextArea\r\n} from 'carbon-components-react';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { ComboBox } from '../../helpers/ComboBox'\r\nimport { FindGHRSEmployer } from '../common/FindGHRSEmployer'\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport { DateFormat, entitiesLabels } from '../../helpers/Constants';\r\nimport DateTimePicker from '../../helpers/DateTimePicker';\r\n\r\nexport default class ModalParticipant extends Component {\r\n initModalParticipant = (props) => {\r\n\r\n if (props.isEditModal) {\r\n return { ...props.editModel };\r\n }\r\n\r\n return {\r\n id: null, //guid\r\n idTraining: null,//guid\r\n type: null,//''\r\n name: null,//''\r\n surname: null,//''\r\n email: null,//''\r\n position: null,//''\r\n badgeNumber: null,//'' //Employer da GHRS oppure Company per (SUB) CONTRACTOR\r\n birthDate: null,//date\r\n //knowledgeAssessment: null,modale separata //combo null, Pass, Fail, Absent\r\n //note: null,//''modale separata\r\n idEmployer: null, // guid\r\n //signatureAttachment:null, modale separata \r\n }\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator();\r\n //RITM1056154 - Modification Existing Participant Detail Issue\r\n this.validatorEmail = new SimpleReactValidator({\r\n validators: {\r\n email: {\r\n // name the rule\r\n message: 'The :attribute must be a valid email address',\r\n rule: (val, params, validator) =>\r\n validator.helpers.testRegex(\r\n val,\r\n // eslint-disable-next-line no-useless-escape\r\n /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/i\r\n ) && params.indexOf(val) === -1,\r\n //required: true, // optional\r\n },\r\n },\r\n });\r\n //End\r\n this.state = {\r\n model: {\r\n ...this.initModalParticipant(props)\r\n },\r\n mode: props.mode || 0,\r\n //appType: ['SAIPEM PERSONNEL', '(SUB) CONTRACTOR PERSONNEL / PARTNERS'],\r\n // appKnowledgeAssessment: ['Pass', 'Fail', 'Absent'],\r\n };\r\n }\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n let statusCopy = Object.assign({}, this.state.model);\r\n if (objName && objName != 'model')\r\n statusCopy[objName][inputName] = inputValue;\r\n else\r\n statusCopy[inputName] = inputValue;\r\n\r\n this.setState({ model: statusCopy });\r\n }\r\n\r\n\r\n handleChangeModel = (el) => {\r\n let inputName = el.target.name;\r\n let inputValue = el.target.value;\r\n let objName = el.target.alt;\r\n\r\n this.updateState(inputName, inputValue, objName);\r\n }\r\n\r\n handleChangeRadio = (value, id, event) => {\r\n if (value == \"true\") {\r\n value = true;\r\n } else\r\n if (value == \"false\") {\r\n value = false;\r\n } else if (value == \"null\") {\r\n value = null;\r\n }\r\n\r\n this.updateState(id, value, event.target.alt);\r\n }\r\n\r\n\r\n\r\n\r\n handleChangeCombo = (inputName, selectedItem, objName) => {\r\n let inputValue = selectedItem ? selectedItem.id : null;\r\n this.updateState(inputName, inputValue, objName)\r\n }\r\n\r\n handleChangeComboName = (inputName, selectedItem, objName) => {\r\n if (selectedItem != null) {\r\n selectedItem.id = selectedItem.name;\r\n }\r\n this.handleChangeCombo(inputName, selectedItem, objName);\r\n }\r\n\r\n handleChangeMode = (m) => {\r\n this.setState({ mode: m })\r\n }\r\n\r\n setEmployer = (employer) => {\r\n if (employer && employer.id) {\r\n let statusCopy = Object.assign({}, this.state.model);\r\n statusCopy.idEmployer = employer.id;\r\n statusCopy.badgeNumber = employer.ghrS_ID;\r\n statusCopy.name = employer.name;\r\n statusCopy.surname = employer.surname;\r\n statusCopy.email = employer.email;\r\n statusCopy.position = employer.role;\r\n statusCopy.type = \"Saipem\";\r\n\r\n this.setState({ model: statusCopy, mode: 2 });\r\n }\r\n }\r\n\r\n save = () => {\r\n if (this.validator.allValid() && this.validatorEmail.allValid()) { //RITM1056154 - Modification Existing Participant Detail Issue\r\n debugger;\r\n let dati = this.state.model;\r\n //RITM1056154 - Modification Existing Participant Detail Issue\r\n let participantBadgeFound = dati.badgeNumber != null && dati.badgeNumber?.trim() != '' && this.props.participants.find((el) => el.badgeNumber?.toLowerCase() == dati.badgeNumber?.toLowerCase()) ? true : ((dati.badgeNumber == null || dati.badgeNumber?.trim() == '' && this.props.participants.find((el) => el.id == dati.id && el.badgeNumber?.toLowerCase() == dati.badgeNumber?.toLowerCase())) ? true : false);\r\n let participantMailFound = dati.email != null && dati.email?.trim() != '' && this.props.participants.find((el) => el.email?.toLowerCase() == dati.email?.toLowerCase()) ? true : ((dati.email == null || dati.email?.trim() == '' && this.props.participants.find((el) => el.id == dati.id && el.email?.toLowerCase() == dati.email?.toLowerCase())) ? true : false);\r\n let participantNameFound = this.props.participants.find((el) => (el.name.toLowerCase() + ' ' + el.surname.toLowerCase() == dati.name.toLowerCase() + ' ' + dati.surname.toLowerCase()) && el.type == dati.type)? true : false;\r\n let participantPositionFound = this.props.participants.find((el) => el.position?.toLowerCase() == dati.position.toLowerCase()) ? true : false;\r\n //End\r\n \r\n //controlli sull inserimento manuale di un utente già presente\r\n if(participantBadgeFound && participantMailFound && participantNameFound && participantPositionFound){ //RITM1056154 - Modification Existing Participant Detail Issue\r\n showNotification.warning(`${entitiesLabels.WARNING}`,'Employer already present in the training');\r\n return;\r\n }\r\n\r\n this.props.save(dati);\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,\"Participant created successfully\");\r\n } else {\r\n //RITM1056154 - Modification Existing Participant Detail Issue\r\n if(!this.validator.allValid()) {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`, entitiesLabels.TRAININGPARTICIPANT + \" required fields are missing \");\r\n this.forceUpdate();\r\n }\r\n else {\r\n this.validatorEmail.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`, entitiesLabels.TRAININGPARTICIPANT + \" field not valid \");\r\n this.forceUpdate(); \r\n }\r\n //End\r\n }\r\n }\r\n\r\n excludeOption(array, optionToExclude) {\r\n const filteredArray = [];\r\n for (const item of array) {\r\n if (item.id !== optionToExclude) {\r\n filteredArray.push(item);\r\n }\r\n }\r\n return filteredArray;\r\n }\r\n render() {\r\n this.validator.purgeFields();\r\n const validations = {\r\n type: this.validator.message('type', this.state.model.type, 'required'),\r\n name: this.validator.message('name', this.state.model.name, 'required'),\r\n surname: this.validator.message('surname', this.state.model.surname, 'required'),\r\n position: this.validator.message('position', this.state.model.position, 'required'), //RITM1056154 - Modification Existing Participant Detail Issue\r\n email: this.validatorEmail.message('email', this.state.model.email, 'email'), //RITM1056154 - Modification Existing Participant Detail Issue\r\n //email: this.validator.message('email', this.state.model.email, 'required|email'),\r\n }\r\n const modalHeader = {\r\n title: (this.props.isEditModal ? 'Edit ' : 'Add new '),\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.props.toggleModal(false)\r\n };\r\n const { title, isOpenModal } = this.props;\r\n\r\n const selectedItemCombo = {\r\n type: (this.props.appType || []).find(el => el.id == this.state.model.type),\r\n };\r\n\r\n return (\r\n this.state.mode == 1 ?\r\n this.props.toggleModal(false)} onOk={this.setEmployer} participants={this.props.participants} />\r\n :\r\n { return false; }}\r\n >\r\n

    {title || ''}

    \r\n \r\n {\r\n this.state.mode == 0 ?\r\n
    \r\n \r\n \r\n
    \r\n :\r\n
    \r\n
    \r\n
    \r\n \r\n (item ? item.name : '')}\r\n initialSelectedItem={selectedItemCombo.type}\r\n items={this.props.appType ? this.excludeOption(this.props.appType, 'SAP') : []}\r\n //items={this.props.appType}\r\n disabled={this.state.model.idEmployer != null}\r\n invalid={validations.type != null}\r\n />\r\n {validations.type}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {validations.name}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {validations.surname}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {/* RITM1056154 - Modification Existing Participant Detail Issue */}\r\n {validations.email}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {/* {validations.badgeNumber} */}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {/* RITM1056154 - Modification Existing Participant Detail Issue */}\r\n {validations.position}\r\n \r\n
    \r\n {/*
    \r\n \r\n \r\n {/*validations.birthDate*/}{/*}\r\n \r\n
    */}\r\n\r\n {/*
    \r\n \r\n (item ? item : '')}\r\n initialSelectedItem={selectedItemCombo.knowledgeAssessment}\r\n items={this.state.appKnowledgeAssessment}\r\n />\r\n \r\n
    */}\r\n\r\n {/*
    \r\n \r\n this.updateState('note', el.target.value, 'model')}\r\n hideLabel={true}\r\n labelText=\"\"\r\n light\r\n rows={6}\r\n cols={100}\r\n />\r\n \r\n
    */}\r\n\r\n
    \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, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n TextInput, Button, FormGroup, ComposedModal, ModalHeader, ModalBody, ModalFooter, TextArea\r\n} from 'carbon-components-react';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { FindGHRSEmployer } from '../common/FindGHRSEmployer'\r\nimport { entitiesLabels } from '../../helpers/Constants';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\n\r\nexport default class ModalContent extends Component {\r\n initModalContent = (props) => {\r\n\r\n if (props.isEditModal) {\r\n return { ...props.editModel };\r\n }\r\n\r\n return {\r\n id: null, //guid\r\n content: null, //string \r\n createdOn: null,\r\n }\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator();\r\n this.state = {\r\n model: {\r\n ...this.initModalContent(props)\r\n }\r\n };\r\n }\r\n\r\n save = () => {\r\n if (this.validator.allValid()) {\r\n this.props.save(this.state.model);\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,\"Content created successfully\");\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`,entitiesLabels.TRAINING+\" required fields are missing \");\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n handleChangeContent = (el) => {\r\n let statusCopy = Object.assign({}, this.state);\r\n statusCopy.model.content = el.target.value;\r\n\r\n this.setState(statusCopy);\r\n }\r\n\r\n render() {\r\n const validations = {\r\n content: this.validator.message('Content', this.state.model.content, 'required'),\r\n }\r\n\r\n const modalHeader = {\r\n title: (this.props.isEditModal ? 'Edit ' : 'Add new '),\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.props.toggleModal(false)\r\n };\r\n const { title, isOpenModal } = this.props;\r\n\r\n return (\r\n { return false; }}\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\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nModalContent.propTypes = {\r\n save: PropTypes.func.isRequired,\r\n toggleModal: PropTypes.func.isRequired,\r\n isEditModal: PropTypes.bool,\r\n isOpenModal: PropTypes.bool,\r\n title: PropTypes.string,\r\n};","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n TextInput, Button, Checkbox, RadioButtonGroup, FormGroup, RadioButton, ComposedModal, ModalHeader, ModalBody, ModalFooter, TextArea\r\n} from 'carbon-components-react';\r\nimport SimpleReactValidator from 'simple-react-validator';\r\nimport { ComboBox } from '../../helpers/ComboBox'\r\nimport { FindGHRSEmployer } from '../common/FindGHRSEmployer'\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport { DateFormat, entitiesLabels } from '../../helpers/Constants';\r\nimport DateTimePicker from '../../helpers/DateTimePicker';\r\n\r\nexport default class ModalTrainer extends Component {\r\n initModalTrainer = (props) => {\r\n\r\n if (props.isEditModal) {\r\n return { ...props.editModel };\r\n }\r\n\r\n return {\r\n id: null, //guid\r\n type: null,//''//Internal - External //required\r\n name: null,//''\r\n surname: null,//''\r\n email: null,//''\r\n title: null,//''\r\n badgeNumber: null,//'' //Employer da GHRS oppure Company per (SUB) CONTRACTOR\r\n organization: null,//''//Name of Organization (if external) Richiesto solo se Trainer=External\r\n idEmployer: null,\r\n //signatureAttachment:null, solo in edit\r\n }\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.validator = new SimpleReactValidator();\r\n this.state = {\r\n model: {\r\n ...this.initModalTrainer(props)\r\n },\r\n mode: props.mode || 0,\r\n appType: ['Internal', 'External'],\r\n };\r\n }\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n let statusCopy = Object.assign({}, this.state.model);\r\n if (objName && objName != 'model')\r\n statusCopy[objName][inputName] = inputValue;\r\n else\r\n statusCopy[inputName] = inputValue;\r\n\r\n this.setState({ model: statusCopy },()=>{\r\n if (inputName == 'type') {\r\n if (statusCopy.idEmployer) {\r\n this.clear();\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n handleChangeModel = (el) => {\r\n let inputName = el.target.name;\r\n let inputValue = el.target.value;\r\n let objName = el.target.alt;\r\n\r\n this.updateState(inputName, inputValue, objName);\r\n }\r\n\r\n handleChangeRadio = (value, id, event) => {\r\n if (value == \"true\") {\r\n value = true;\r\n } else\r\n if (value == \"false\") {\r\n value = false;\r\n } else if (value == \"null\") {\r\n value = null;\r\n }\r\n\r\n this.updateState(id, value, event.target.alt);\r\n }\r\n\r\n handleChangeCombo = (inputName, selectedItem, objName) => {\r\n let inputValue = selectedItem ? selectedItem.id : null;\r\n this.updateState(inputName, inputValue, objName)\r\n }\r\n\r\n handleChangeComboName = (inputName, selectedItem, objName) => {\r\n if (selectedItem != null) {\r\n selectedItem.id = selectedItem.name;\r\n }\r\n this.handleChangeCombo(inputName, selectedItem, objName);\r\n }\r\n\r\n handleChangeMode = (m) => {\r\n this.setState({ mode: m })\r\n }\r\n\r\n setEmployer = (employer) => {\r\n if (employer && employer.id) {\r\n let statusCopy = Object.assign({}, this.state.model);\r\n statusCopy.idEmployer = employer.id;\r\n statusCopy.badgeNumber = employer.ghrS_ID;\r\n statusCopy.name = employer.name;\r\n statusCopy.surname = employer.surname;\r\n statusCopy.email = employer.email;\r\n statusCopy.type = this.state.appType[0];\r\n\r\n this.setState({ model: statusCopy, mode: 2 });\r\n }\r\n }\r\n\r\n save = () => {\r\n if (this.validator.allValid()) {\r\n let dati = this.state.model;\r\n this.props.save(dati);\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,\"Participant created successfully\");\r\n } else {\r\n this.validator.showMessages();\r\n showNotification.warning(`${entitiesLabels.WARNING}`,+ entitiesLabels.TRAINER + \" required fields are missing \");\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n clear = () => {\r\n let id = this.state.model.id;\r\n this.setState({\r\n model: {\r\n ...this.initModalTrainer({ isEditModal: false }),\r\n id: id,\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n this.validator.purgeFields();\r\n const validations = {\r\n type: this.validator.message('type', this.state.model.type, 'required'),\r\n organization: this.state.model.type == 'External' ? this.validator.message('organization', this.state.model.organization, 'required') : null,\r\n name: this.validator.message('name', this.state.model.name, 'required'),\r\n surname: this.validator.message('surname', this.state.model.surname, 'required'),\r\n //email: this.validator.message('email', this.state.model.email, 'required|email'),\r\n }\r\n const modalHeader = {\r\n title: (this.props.isEditModal ? 'Edit ' : 'Add new '),\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.props.toggleModal(false)\r\n };\r\n const { title, isOpenModal } = this.props;\r\n\r\n const selectedItemCombo = {\r\n type: (this.state.appType || []).find(el => el == this.state.model.type),\r\n };\r\n\r\n return (\r\n this.state.mode == 1 ?\r\n \r\n :\r\n { return false; }}\r\n >\r\n

    {title || ''}

    \r\n \r\n {\r\n this.state.mode == 0 ?\r\n
    \r\n \r\n \r\n
    \r\n :\r\n
    \r\n
    \r\n
    \r\n \r\n (item ? item : '')}\r\n initialSelectedItem={selectedItemCombo.type}\r\n items={this.state.appType}\r\n //disabled={this.state.model.idEmployer != null}\r\n invalid={validations.type != null}\r\n />\r\n {validations.type}\r\n \r\n
    \r\n {this.state.model.type == 'Internal' &&\r\n
    \r\n \r\n
    \r\n \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n }\r\n
    \r\n \r\n \r\n {validations.name}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {validations.surname}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n {/* {validations.badgeNumber} */}\r\n \r\n
    \r\n {this.state.model.type == 'External' &&\r\n
    \r\n \r\n \r\n {validations.organization}\r\n \r\n
    \r\n }\r\n
    \r\n \r\n \r\n\r\n \r\n
    \r\n\r\n
    \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, { Component } from 'react';\r\nimport { SkeletonPlaceholder } from 'carbon-components-react';\r\nimport { api } from '../../helpers/api/api';\r\n/**\r\n * recupera e visualizza in un tag img la firma caricata su azure\r\n * idTraining: guid\r\n * fileIdentifier: string (signatureAttachment)\r\n */\r\nexport default class ImgSignature extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n src: null,\r\n isLoading: true,\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n api.getWithParam(`training/${this.props.idTraining}/signature`, { params: { signatureAttachment: this.props.fileIdentifier } })\r\n .then(response => {\r\n let data = response.data;\r\n this.setState({\r\n src: data,\r\n });\r\n }).catch(error => {\r\n console.error(error);\r\n }).finally(() => {\r\n this.setState({\r\n isLoading: false,\r\n });\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n this.state.isLoading ?\r\n :\r\n \"signature\"\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport CanvasDraw from \"react-canvas-draw\";\r\nimport {\r\n Button, ComposedModal, ModalHeader, ModalBody, ModalFooter, Loading\r\n} from 'carbon-components-react';\r\nimport { fileUpload, api } from '../../helpers/api/api';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { Erase16 } from '@carbon/icons-react';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport ImgSignature from './ImgSignature'\r\nimport { entitiesLabels } from '../../helpers/Constants';\r\n/**\r\n * Modal inserimento firma del trainer\r\n * key: string\r\n * title: string\r\n * editModel: obj\r\n * isOpenModal: bool\r\n * toggleModal: fn\r\n * save: fn\r\n * idTraining: guid\r\n*/\r\nexport default class ModalSignature extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n StoragePath: 'training',\r\n isSubmitted: false,\r\n showCanvas: this.props.editModel && !this.props.editModel.signatureAttachment,\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n }\r\n\r\n clearImage = () => {\r\n if (this.props.editModel && this.props.editModel.signatureAttachment) {\r\n this.setState({ showCanvas: true });\r\n }\r\n if (this.saveableCanvas) {\r\n this.saveableCanvas.clear();\r\n }\r\n }\r\n\r\n showLoading() {\r\n return (this.state.isSubmitted && );\r\n }\r\n\r\n saveImage = async () => {\r\n if (this.saveableCanvas) {\r\n const canvas = this.saveableCanvas.canvasContainer.children[1];\r\n if (canvas == null || isCanvasBlank(canvas)) {\r\n showNotification.warning(`${entitiesLabels.WARNING}`,entitiesLabels.TRAINING+\" required fields are missing \");\r\n return;\r\n }\r\n this.setState({ 'isSubmitted': true });\r\n const csvURL = canvas.toDataURL();\r\n const base64 = csvURL.split(',')[1];\r\n const fileAsBlob = base64toBlob(base64, 'image/png');\r\n\r\n const fileName = `sg${uuid()}.png`;\r\n\r\n const blobAsFile = new File([fileAsBlob], fileName, {\r\n type: 'image/png',\r\n });\r\n\r\n const fileIdentifier = `${this.state.StoragePath}_${new Date().getTime()}_${fileName}`;\r\n\r\n const formData = new FormData();\r\n formData.append('File', blobAsFile);\r\n formData.append('Container', 'saipem');\r\n formData.append('StoragePath', this.state.StoragePath);\r\n formData.append('FileIdentifier', fileIdentifier);\r\n\r\n try {\r\n\r\n await fileUpload.post(formData);\r\n await api.put('/training/', { signatureAttachment: fileIdentifier }, `${this.props.idTraining}/signature`);\r\n\r\n this.props.save(fileIdentifier);\r\n } catch (error) {\r\n console.error(error);\r\n } finally {\r\n this.setState({ 'isSubmitted': false });\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const { title, isOpenModal } = this.props;\r\n\r\n const showCanvas = this.state.showCanvas;\r\n const modalHeader = {\r\n title: title || 'Signature',\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.props.toggleModal(false)\r\n };\r\n return (\r\n { return false; }}\r\n >\r\n

    {''}

    \r\n \r\n {this.showLoading()}\r\n
    \r\n
    \r\n {showCanvas ?\r\n
    \r\n (this.saveableCanvas = canvasDraw)}\r\n onChange={null}\r\n loadTimeOffset={0}\r\n lazyRadius={2}\r\n brushRadius={2}\r\n brushColor=\"#444\"\r\n catenaryColor=\"#0a0302\"\r\n gridColor=\"rgba(150,150,150,0.17)\"\r\n hideGrid={false}\r\n canvasWidth={473}\r\n canvasHeight={200}\r\n disabled={false}\r\n imgSrc=\"\"\r\n saveData={null}\r\n immediateLoading={false}\r\n hideInterface={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\n \r\n );\r\n }\r\n}\r\n\r\n\r\nfunction base64toBlob(base64Data, contentType) {\r\n contentType = contentType || '';\r\n const sliceSize = 1024;\r\n const byteCharacters = window.atob(base64Data);\r\n const bytesLength = byteCharacters.length;\r\n const slicesCount = Math.ceil(bytesLength / sliceSize);\r\n const byteArrays = new Array(slicesCount);\r\n\r\n for (let sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {\r\n const begin = sliceIndex * sliceSize;\r\n const end = Math.min(begin + sliceSize, bytesLength);\r\n\r\n const bytes = new Array(end - begin);\r\n for (let offset = begin, i = 0; offset < end; ++i, ++offset) {\r\n bytes[i] = byteCharacters[offset].charCodeAt(0);\r\n }\r\n byteArrays[sliceIndex] = new Uint8Array(bytes);\r\n }\r\n return new Blob(byteArrays, { type: contentType });\r\n}\r\n\r\nfunction isCanvasBlank(canvas) {\r\n return !canvas.getContext('2d')\r\n .getImageData(0, 0, canvas.width, canvas.height).data\r\n .some(channel => channel !== 0);\r\n}","import React, { Component } from 'react';\r\nimport CanvasDraw from \"react-canvas-draw\";\r\nimport {\r\n Button, FormGroup, ComposedModal, ModalHeader, ModalBody, ModalFooter, TextArea, Loading\r\n} from 'carbon-components-react';\r\nimport { fileUpload, api } from '../../helpers/api/api';\r\nimport { v4 as uuid } from 'uuid';\r\nimport { ComboBox } from '../../helpers/ComboBox'\r\nimport { Erase16 } from '@carbon/icons-react';\r\nimport { showNotification } from '../../helpers/notification/BaseNotification';\r\nimport { entitiesLabels } from '../../helpers/Constants';\r\nimport ImgSignature from './ImgSignature'\r\n/**\r\n * Modal inserimento firma dei Partecipanti\r\n * key: string\r\n * title: string\r\n * editModel: obj\r\n * isOpenModal: bool\r\n * toggleModal: fn\r\n * save: fn\r\n * idTraining: guid\r\n */\r\nexport default class ModalSignatureParticipant extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n model: {\r\n ...this.props.editModel\r\n },\r\n appKnowledgeAssessment: ['Pass', 'Fail', 'Absent'],\r\n StoragePath: 'training',\r\n isSubmitted: false,\r\n showCanvas: this.props.editModel && !this.props.editModel.signatureAttachment /*devOps 640 */ && (this.props.editModel.knowledgeAssessment && this.isAbsent(this.props.editModel.knowledgeAssessment) ? false : true)\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n }\r\n\r\n isAbsent = (string) => string?.toLowerCase() === \"absent\";\r\n\r\n\r\n updateState = (inputName, inputValue, objName) => {\r\n let statusCopy = Object.assign({}, this.state.model);\r\n if (objName && objName != 'model') statusCopy[objName][inputName] = inputValue;\r\n else statusCopy[inputName] = inputValue;\r\n\r\n //devOps 640\r\n if(inputName === \"knowledgeAssessment\") {\r\n if (this.isAbsent(inputValue) || !inputValue ) {\r\n this.state.showCanvas = false\r\n statusCopy.signatureAttachment = null\r\n } else if (!this.state.model?.signatureAttachment && !this.props.editModel.signatureAttachment) this.state.showCanvas = true\r\n else if (this.props.editModel.signatureAttachment) statusCopy.signatureAttachment = this.props.editModel.signatureAttachment\r\n }\r\n //\r\n this.setState({ model: statusCopy, });\r\n }\r\n\r\n clearImage = () => {\r\n if (this.props.editModel && this.props.editModel.signatureAttachment) {\r\n //this.setState({ showCanvas: true });\r\n //devOps 640\r\n this.setState({\r\n showCanvas: this.isAbsent(this.state.model.knowledgeAssessment) ? false : true\r\n });\r\n \r\n }\r\n if (this.saveableCanvas) this.saveableCanvas.clear();\r\n }\r\n\r\n showLoading() {\r\n return (this.state.isSubmitted && );\r\n }\r\n\r\n save = async () => {\r\n this.setState({ 'isSubmitted': true });\r\n let dati = this.state.model;\r\n\r\n try {\r\n let fileIdentifier = await this.saveImage();\r\n\r\n if (fileIdentifier != null) dati.signatureAttachment = fileIdentifier\r\n if (!dati.signatureAttachment && !this.isAbsent(dati.knowledgeAssessment) && this.props.editModel.signatureAttachment) dati.signatureAttachment = this.props.editModel.signatureAttachment\r\n if(!dati.knowledgeAssessment && this.props.editModel.knowledgeAssessment) dati.knowledgeAssessment = this.props.editModel.knowledgeAssessment;\r\n await api.put('/training/', dati, `${this.props.idTraining}/signature/${this.props.editModel.id}`);\r\n\r\n this.props.save(dati);\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,\"Participant saved successfully\");\r\n } catch (error) {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\"Error saving Participant: \" + error.message);\r\n } finally {\r\n this.setState({ 'isSubmitted': false });\r\n }\r\n }\r\n\r\n saveImage = async () => {\r\n //RITM1014911 - Added try/catch for throwing the exception\r\n try{\r\n if (this.saveableCanvas) {\r\n const canvas = this.saveableCanvas.canvasContainer.children[1];\r\n if (canvas == null || isCanvasBlank(canvas)) {\r\n //showNotification.warning(\"Warning: required fields are missing \");\r\n return null;\r\n }\r\n this.setState({ 'isSubmitted': true });\r\n const csvURL = canvas.toDataURL();\r\n const base64 = csvURL.split(',')[1];\r\n const fileAsBlob = base64toBlob(base64, 'image/png');\r\n \r\n const fileName = `sg${uuid()}.png`;\r\n \r\n const blobAsFile = new File([fileAsBlob], fileName, {\r\n type: 'image/png',\r\n });\r\n \r\n const fileIdentifier = `${this.state.StoragePath}_${new Date().getTime()}_${fileName}`;\r\n \r\n const formData = new FormData();\r\n formData.append('File', blobAsFile);\r\n formData.append('Container', 'saipem');\r\n formData.append('StoragePath', this.state.StoragePath);\r\n formData.append('FileIdentifier', fileIdentifier);\r\n \r\n await fileUpload.post(formData);\r\n return fileIdentifier;\r\n }\r\n }\r\n catch (error) {\r\n throw error;\r\n }\r\n //End\r\n return null;\r\n }\r\n\r\n render() {\r\n if (this.props.editModel == null) return null;\r\n\r\n const { title, isOpenModal } = this.props;\r\n\r\n const showCanvas = this.state.showCanvas /*devOps 640*/ && this.state.model.knowledgeAssessment;\r\n const thereIsImage = this.state.model && this.state.model.signatureAttachment\r\n const modalHeader = {\r\n title: title || 'Signature',\r\n iconDescription: 'Close',\r\n buttonOnClick: () => this.props.toggleModal(false)\r\n };\r\n return (\r\n { return false; }}\r\n >\r\n \r\n \r\n {this.showLoading()}\r\n
    \r\n
    \r\n
    \r\n \r\n (item ? item : '')}\r\n initialSelectedItem={this.state.model.knowledgeAssessment}\r\n items={this.state.appKnowledgeAssessment}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n this.updateState('note', el.target.value, 'model')}\r\n hideLabel={true}\r\n labelText=\"\"\r\n light\r\n rows={6}\r\n cols={100}\r\n />\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {(showCanvas || thereIsImage) &&\r\n
    \r\n

    {`${this.props.editModel.name} ${this.props.editModel.surname}`}

    \r\n
    \r\n }\r\n {showCanvas ?\r\n
    \r\n (this.saveableCanvas = canvasDraw)}\r\n onChange={null}\r\n loadTimeOffset={0}\r\n lazyRadius={2}\r\n brushRadius={2}\r\n brushColor=\"#444\"\r\n catenaryColor=\"#0a0302\"\r\n gridColor=\"rgba(150,150,150,0.17)\"\r\n hideGrid={false}\r\n canvasWidth={473}\r\n canvasHeight={200}\r\n disabled={false}\r\n imgSrc=\"\"\r\n saveData={null}\r\n immediateLoading={false}\r\n hideInterface={true}\r\n />\r\n \r\n
    \r\n : thereIsImage ?\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\n \r\n \r\n );\r\n }\r\n}\r\n\r\n\r\nfunction base64toBlob(base64Data, contentType) {\r\n contentType = contentType || '';\r\n const sliceSize = 1024;\r\n const byteCharacters = window.atob(base64Data);\r\n const bytesLength = byteCharacters.length;\r\n const slicesCount = Math.ceil(bytesLength / sliceSize);\r\n const byteArrays = new Array(slicesCount);\r\n\r\n for (let sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {\r\n const begin = sliceIndex * sliceSize;\r\n const end = Math.min(begin + sliceSize, bytesLength);\r\n\r\n const bytes = new Array(end - begin);\r\n for (let offset = begin, i = 0; offset < end; ++i, ++offset) {\r\n bytes[i] = byteCharacters[offset].charCodeAt(0);\r\n }\r\n byteArrays[sliceIndex] = new Uint8Array(bytes);\r\n }\r\n return new Blob(byteArrays, { type: contentType });\r\n}\r\n\r\nfunction isCanvasBlank(canvas) {\r\n return !canvas.getContext('2d')\r\n .getImageData(0, 0, canvas.width, canvas.height).data\r\n .some(channel => channel !== 0);\r\n}","import React, { Component } from \"react\";\r\nimport {\r\n\tLoading,\r\n\tButton,\r\n\tTabs,\r\n\tTab,\r\n\tHeaderName,\r\n\tHeaderNavigation,\r\n\tSkeletonText,\r\n\tTableToolbar,\r\n\tSearch,\r\n\tTextInput,\r\n\tTable,\r\n\tDatePickerInput,\r\n\tDatePicker,\r\n\tStructuredListCell,\r\n\tStructuredListBody,\r\n\tToggle,\r\n\tToggleSmall,\r\n\tModalWrapper,\r\n\tStructuredListHead,\r\n\tStructuredListRow,\r\n\tForm,\r\n\tAccordion,\r\n\tAccordionItem,\r\n\tDataTable,\r\n\tStructuredListWrapper,\r\n\tTableContainer,\r\n\tTableHead,\r\n\tTableHeader,\r\n\tTableBody,\r\n\tTableRow,\r\n\tTableCell,\r\n\tCheckbox,\r\n\tFormLabel,\r\n\tFileUploader,\r\n\tRadioButtonGroup,\r\n\tFormGroup,\r\n\tMultiSelect,\r\n\tRadioButton,\r\n\tTextArea,\r\n\tTimePicker,\r\n\tTimePickerSelect,\r\n\tComposedModal,\r\n\tModalHeader,\r\n\tModalBody,\r\n\tSelectItem,\r\n\tModalFooter,\r\n} from \"carbon-components-react\";\r\nimport { ScrollingProvider, Section } from \"../../lib/react-scroll-section/src/index\";\r\nimport { Menu, Item } from \"../../helpers/scrolling/ScrollingMenuItem\";\r\nimport \"../../scss/custom.scss\";\r\nimport \"../../scss/react-datetime.css\";\r\nimport { switchDateFormat } from \"../../helpers/jsonschemaform/customwidget/utils\";\r\nimport { ComboBox } from \"../../helpers/ComboBox\";\r\nimport { showNotification } from \"../../helpers/notification/BaseNotification\";\r\nimport { getSuccess, getError, entitiesLabels, apioperation, STATUS, DateFormat } from \"../../helpers/Constants\";\r\nimport { api, dynamic, registry, me, training } from \"../../helpers/api/api\";\r\nimport { IsInRole, IsEditable, CanExecuteAction } from \"../../helpers/authorization/Policies\";\r\nimport { AppContext } from \"../../helpers/context/AppContext\";\r\nimport { CheckmarkOutline16, Send16, Delete16, Error16, Checkmark24, Information16, Add16, Edit16, CertificateCheck16, PaintBrushAlt16, Download16, Export16 } from \"@carbon/icons-react/lib/\";\r\nimport { WFActionModal } from \"../common/WFActionModal\";\r\nimport PageBreadCrumb from \"../../helpers/PageBreadCrumb\";\r\nimport { HistoryTable } from \"../../helpers/HistoryTable\";\r\nimport SimpleReactValidator from \"simple-react-validator\";\r\nimport { Online, Offline } from \"../common/OnLineOffLine\";\r\nimport moment from \"moment\";\r\nimport DateTimePicker from \"../../helpers/DateTimePicker\";\r\nimport { NoRecordsPlaceholder } from \"../../helpers/jsonschemaform/DataTableExtention\";\r\nimport { v4 as uuid } from \"uuid\";\r\nimport _sortBy from \"lodash/sortBy\";\r\nimport { ConfirmAlertCustom } from \"../../helpers/ConfirmAlertCustom\";\r\nimport ModalParticipant from \"./ModalParticipant\";\r\nimport ModalContent from \"./ModalContent\";\r\nimport ModalTrainer from \"./ModalTrainer\";\r\nimport ModalSignature from \"./ModalSignature\";\r\nimport ModalSignatureParticipant from \"./ModalSignatureParticipant\";\r\nimport TrainingRepository from \"../../helpers/api/TrainingRepository\";\r\nimport FileDownLoadButton from \"../common/FileDownloadButton\";\r\nimport AttachmentTable, { attachmentTablePrivacyText } from \"../common/AttachmentTable\";\r\nimport ConfirmModal from \"../common/ConfirmModal\";\r\n\r\nconst TrainingAttachmentTableMainDescription = \"Upload only one file at 3 Mb or less; please check the file attached before to submit the report because afterwards it is not possible to modify it\"\r\nexport class NewTraining extends Component {\r\n\tbaseUrl;\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\r\n\t\tlet idTraining = this.props.match.params.id;\r\n\r\n\t\tthis.state = {\r\n\t\t\tidTraining,\r\n\t\t\tisLoadingTraining: idTraining != undefined,\r\n\t\t\tisEdit: idTraining != undefined,\r\n\t\t\tmodel: {\r\n\t\t\t\t...this.initModel(),\r\n\t\t\t},\r\n\t\t\tisSubmitted: false,\r\n\t\t\tisDisabled: false,\r\n\r\n\t\t\tinvalidCertifiedDuration: false,\r\n\t\t\t///Status Action\r\n\t\t\tisLoadingNotificationFile: false,\r\n\t\t\tisApprovalModalOpen: false,\r\n\t\t\tapprovalModalAction: \"\",\r\n\t\t\tapprover: null,\r\n\t\t\tapprovalStartDate: null,\r\n\t\t\tapprovalEndDate: null,\r\n\t\t\tisLoadingApproverOptions: true,\r\n\t\t\tapprovalValidationMessages: [],\r\n\t\t\tapprovers: [],\r\n\t\t\tselectedData: [],\r\n\t\t\tapproverRole: \"\",\r\n\t\t\twithApprover: true,\r\n\t\t\tisLoadingWFOperation: false,\r\n\t\t\tapprovalNotesRequired: false,\r\n\t\t\t///Status Action\r\n\t\t\t//History WF\r\n\t\t\tisHistoryModalOpen: false,\r\n\t\t\t//History WF\r\n\r\n\t\t\t///Modal Content\r\n\t\t\tkeyModalContent: `modalContent_${new Date().getTime()}`,\r\n\t\t\tisOpenModalContent: false,\r\n\t\t\tidToEditContent: null,\r\n\t\t\tidToDeleteContent: null,\r\n\t\t\t///fine Modal\r\n\t\t\t///Modal Participant\r\n\t\t\tkeyModalParticipant: `modalParticipant_${new Date().getTime()}`,\r\n\t\t\tisOpenModalParticipant: false,\r\n\t\t\tidToEditParticipant: null,\r\n\t\t\tidToDeleteParticipant: null,\r\n\t\t\t///fine Modal\r\n\t\t\t///Modal Trainer\r\n\t\t\tkeyModalTrainer: `modalTrainer_${new Date().getTime()}`,\r\n\t\t\tisOpenModalTrainer: false,\r\n\t\t\tidToDeleteTrainer: null,\r\n\t\t\t///fine Modal\r\n\t\t};\r\n\r\n\t\tthis.baseUrl = \"/training/\";\r\n\t\tthis.originalValidityDate = null;\r\n\r\n this.gtzValidator = {\r\n message: 'The value must be greater than zero',\r\n rule: (val) => {\r\n return +val > 0;\r\n }\r\n };\r\n\t\tthis.validator = new SimpleReactValidator({\r\n\t\t\tvalidators: { gtz: this.gtzValidator }\r\n\t\t});\r\n\t\tthis.updateState = this.updateState.bind(this);\r\n\t}\r\n\r\n\tinitModel = () => {\r\n\t\tlet model = {\r\n\t\t\t//-----campi form------------\r\n\t\t\tid: uuid(), //guid\r\n\t\t\tstartDate: null, //date\r\n\t\t\tendDate: null, //date\r\n\t\t\tcertificateValidityMonths: null, //number\r\n\t\t\tvalidityDate: null, //date\r\n\t\t\tidCountry: null, //guid\r\n\t\t\tidDivision: null, //guid division del worksite da valorizzare quando si sceglie il worksite\r\n\t\t\tidLanguage: null, //guid\r\n\t\t\tidMethod: null, //guid\r\n\t\t\tidProject: null, //guid\r\n\t\t\tidTrainingAssessmentMethod: null, //guid\r\n\t\t\tspecifyOtherAssessmentMethod: null,\r\n\t\t\tidTrainingData: null, //guid\r\n\t\t\tidWorkSite: null, //guid\r\n\t\t\tremedialActionsForFailure: null, //string\r\n\t\t\tidTrainingCenter: null, //guid\r\n\t\t\tidTrainer: null, //guid\r\n\t\t\ttrainer: null, //{} TrainerDTO\r\n\t\t\ttrainingContents: [], //[] TrainingContentDTO\r\n\t\t\ttrainingParticipant: [], //[] TrainingParticipantDTO\r\n\t\t\tcertifiedDuration: null,\r\n\r\n\t\t\t//-----campi di visualizzazione/sistema------------\r\n\t\t\tidCompiler: null, //guid\r\n\t\t\tidDataApprover: null, //guid\r\n\t\t\tidDivisionManager: null, //guid\r\n\t\t\tcompiler: null, //string\r\n\t\t\tdataApprover: null, //string\r\n\t\t\tdivisionManager: null, //string\r\n\t\t\tcode: null, //string BE \"TRA_1\",\r\n\t\t\tprogressiveId: undefined, //int BE\r\n\t\t\tsequence: undefined, //int BE\r\n\t\t\tidStatus: 0, //int\r\n\t\t\tstatus: null, //string \"Draft\",\r\n\t\t\tcountry: null, //string\r\n\t\t\tlanguage: null, //string\r\n\t\t\tmethod: null, //string\r\n\t\t\tproject: null, //string\r\n\t\t\ttrainingAssessmentMethod: null, //string\r\n\t\t\tworkSite: null, //string\r\n\t\t\tworkflowNotes: null, //string\r\n\t\t\tinfo: null, //{} TrainingDataDTO solo per visualizzazione, non usato lato BE\r\n\r\n\t\t\t//download template & massive import\r\n\t\t\tdownloadTemplateLoading: false,\r\n\t\t\tisImportTemplateModalOpen: false,\r\n\t\t\t//---------------------------\r\n\r\n\t\t\t// RITM0562378\r\n\t\t\tattachments: []\r\n\t\t};\r\n\t\treturn model;\r\n\t};\r\n\r\n\tcomponentDidMount() {\r\n\t\tthis.getCountry();\r\n\t\tthis.getAllWorkSite();\r\n\t\tthis.getAllWorkSitePrj();\r\n\t\tthis.getTrainingData();\r\n\t\tthis.getTrainingLanguage();\r\n\t\tthis.getTrainingMethod();\r\n\t\tthis.getTrainingAssessmentMethod();\r\n\t\tthis.getTrainingCenters();\r\n\t\tthis.getInfoOriginator();\r\n\r\n\t\tif (this.state.idTraining != undefined) {\r\n\t\t\tthis.getTraining(this.state.idTraining);\r\n\t\t}\r\n\t}\r\n\r\n\t////----------handleChange----------------\r\n\tupdateState = (inputName, inputValue, objName) => {\r\n\t\tlet statusCopy = Object.assign({}, this.state[objName]);\r\n\t\tstatusCopy[inputName] = inputValue;\r\n\r\n\t\tif(inputName ===\"certifiedDuration\" && this.checkValidHours(inputValue)) this.setState({ [objName]: statusCopy, invalidCertifiedDuration: false })\r\n\t\telse this.setState({ [objName]: statusCopy });\r\n\t};\r\n\r\n\thandleChangeCertificateValidityPeriod = (e) => {\r\n\t\tconst isEmptyOrWhiteSpace = (str) => {\r\n\t\t\treturn str == null || str.match(/^ *$/) !== null;\r\n\t\t};\r\n\t\tconst rawValue = e.target.value;\r\n\t\tconst value = isEmptyOrWhiteSpace(rawValue) ? null : parseInt(rawValue);\r\n\t\tif (isNaN(value)) return;\r\n\t\tthis.setState(prevState => {\r\n let modelCopy = { ...prevState.model };\r\n modelCopy.certificateValidityMonths = value;\r\n modelCopy.validityDate = value == null\r\n ? this.originalValidityDate\r\n : moment(modelCopy.endDate)\r\n .add(value, 'month')\r\n .format(\"YYYY-MM-DD\");\r\n\t\t\treturn {\r\n\t\t\t\tmodel: modelCopy\r\n\t\t\t};\r\n\t\t});\r\n\t};\r\n\r\n\thandleChangeModel = (el) => {\r\n\t\tlet inputName = el.target.name;\r\n\t\tlet inputValue = el.target.value;\r\n\t\tlet objName = el.target.alt;\r\n this.updateState(inputName, inputValue, objName);\r\n\t};\r\n\r\n\thandleChangeDate = (inputName, inputValue, objName) => {\r\n\t\t//(inputName == 'startDate' || inputName == 'endDate')\r\n\t\tlet statusCopy = Object.assign({}, this.state[objName]);\r\n\t\tstatusCopy[inputName] = inputValue;\r\n\r\n\t\tstatusCopy.idWorkSite = null;\r\n\t\tstatusCopy.workSite = null;\r\n\t\tstatusCopy.idDivision = null;\r\n\t\tstatusCopy.idProject = null;\r\n\t\tstatusCopy.project = null;\r\n\t\tstatusCopy.idTrainingData = null\r\n\t\tstatusCopy.info = null\r\n\t\tstatusCopy.certifiedDuration = null\r\n\r\n\t\tif(inputName === \"endDate\"){\r\n\t\t\tif (statusCopy.certificateValidityMonths != null) {\r\n\t\t\t\tconst certificateValidityMonths = parseInt(statusCopy.certificateValidityMonths)\r\n statusCopy.validityDate = !isNaN(certificateValidityMonths)\r\n\t\t\t\t\t? moment(statusCopy.endDate)\r\n .add(statusCopy.certificateValidityMonths, 'month')\r\n .format(\"YYYY-MM-DD\")\r\n\t\t\t\t\t: null\r\n }\r\n\t\t}\r\n\r\n\t\tthis.setState({ [objName]: statusCopy });\r\n\t};\r\n\r\n\thandleChangeCombo = (inputName, selectedItem, objName) => {\r\n\t\tlet inputValue = selectedItem ? selectedItem.id : null;\r\n\r\n\t\tlet statusCopy = Object.assign({}, this.state[objName]);\r\n\t\tstatusCopy[inputName] = inputValue;\r\n\r\n\t\tif (inputName == \"idWorkSite\") {\r\n\t\t\tstatusCopy.workSite = selectedItem ? selectedItem.name : null;\r\n\t\t\tstatusCopy.idDivision = selectedItem ? selectedItem.idDivision : null;\r\n\t\t\tstatusCopy.idProject = null;\r\n\t\t\tstatusCopy.project = null;\r\n\t\t\t//devOps 639\r\n\t\t\tstatusCopy.idCountry = null;\r\n\t\t\tstatusCopy.country = null;\r\n\r\n\t\t}\r\n\r\n\t\tif (inputName == \"idProject\") {\r\n\t\t\tstatusCopy.project = selectedItem ? selectedItem.name : null;\r\n\t\t\t//devOps 639\r\n\t\t\tstatusCopy.idCountry = selectedItem ? selectedItem.idCountry : null\r\n\t\t\tstatusCopy.country = this.state.appCountry.find(el => el.id === selectedItem?.idCountry)?.name ?? null\r\n\t\t}\r\n\r\n\t\tif (inputName == \"idTrainingData\") {\r\n\t\t\tstatusCopy.info = selectedItem;\r\n\t\t\tstatusCopy.certifiedDuration = selectedItem?.duration;\r\n\t\t}\r\n\t\tif (inputName == \"idLanguage\") {\r\n\t\t\tstatusCopy.language = selectedItem ? selectedItem.name : null;\r\n\t\t}\r\n\t\tif (inputName == \"idCountry\") {\r\n\t\t\tstatusCopy.country = selectedItem ? selectedItem.name : null;\r\n\t\t}\r\n\t\tif (inputName == \"idMethod\") {\r\n\t\t\tstatusCopy.method = selectedItem ? selectedItem.name : null;\r\n\t\t}\r\n\t\tif (inputName == \"idTrainingAssessmentMethod\") {\r\n\t\t\tstatusCopy.trainingAssessmentMethod = selectedItem ? selectedItem.name : null;\r\n\t\t}\r\n\r\n\t\tthis.setState({ [objName]: statusCopy });\r\n\t};\r\n\r\n\t////----------Fine handleChange----------------\r\n\r\n\tshowLoading() {\r\n\t\tlet show = (this.state.isEdit && this.state.isLoadingTraining) || this.state.isSubmitted;\r\n\t\tlet descr = this.state.isSubmitted ? \"Saving...\" : \"Loading data...\";\r\n\t\treturn show && ;\r\n\t}\r\n\r\n\tshowButtonHistory = () => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\r\n\topenModalHistory = () => {\r\n\t\tthis.setState({ isHistoryModalOpen: true });\r\n\t};\r\n\r\n\tcloseModalHistory = () => {\r\n\t\tthis.setState({ isHistoryModalOpen: false });\r\n\t};\r\n\r\n\tcancel = () => {\r\n\t\tthis.props.history.push(\"/training\");\r\n\t};\r\n\r\n\ttoggleModal = (open, property) => {\r\n\t\tthis.setState({ [property]: open });\r\n\t};\r\n\r\n\tgetPrj = (idWorkSite, start, end) => {\r\n\t\ttry {\r\n\t\t\tlet data = (this.state.appAllWorksitePrj || []).filter((el) => el.idWorkSite == idWorkSite);\r\n\r\n\t\t\tif (/([12]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01]))/.test(start) && /([12]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01]))/.test(end)) {\r\n\t\t\t\tdata = (data || []).filter((el) => el.start <= start && end <= el.end);\r\n\t\t\t\treturn _sortBy(\r\n\t\t\t\t\tdata.map((item) => ({ id: item.idProject, name: item.project, idWorksitePrj: item.id, /*devOps 639*/ idCountry: item.idCountry })),\r\n\t\t\t\t\t\"name\"\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t} catch {\r\n\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, \"Error filtering \" + entitiesLabels.WORKSITEPROJECT);\r\n\t\t\treturn null;\r\n\t\t}\r\n\t};\r\n\r\n\tgetWorkSite = (start, end) => {\r\n\t\ttry {\r\n\t\t\tlet data = this.state.appAllWorksites;\r\n\r\n\t\t\tif (/([12]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01]))/.test(start) && /([12]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01]))/.test(end)) {\r\n\t\t\t\treturn (data || []).filter((el) => el.start <= start && end <= el.end);\r\n\t\t\t} else {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t} catch {\r\n\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, \"Error filtering \" + entitiesLabels.WORKSITE);\r\n\t\t\treturn null;\r\n\t\t}\r\n\t};\r\n\r\n\t////----------API----------------\r\n\tgetAllWorkSite() {\r\n\t\tapi.getAll(\"/me/worksites\")\r\n\t\t\t.then((response) => {\r\n\t\t\t\tlet data = response.data;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tappAllWorksites: data,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.WORKSITE, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {});\r\n\t}\r\n\r\n\tgetAllWorkSitePrj() {\r\n\t\tapi.getAll(\"/me/worksitesproject\")\r\n\t\t\t.then((response) => {\r\n\t\t\t\tlet data = response.data;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tappAllWorksitePrj: data,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.WORKSITEPROJECT, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {});\r\n\t}\r\n\r\n\tgetInfoOriginator = () => {\r\n\t\tregistry\r\n\t\t\t.getAll(\"infooriginator\")\r\n\t\t\t.then((response) => {\r\n\t\t\t\tlet data = response.data.filter(item => item.name != \"Saipem\");\r\n\t\t\t\tdata = data != null ? data.map((item) => ({ id: item.name, name: item.name })) : [];\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tappInfoOriginator: data,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.INFOORIGINATOR, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {});\r\n\t};\r\n\r\n\tgetCountry = () => {\r\n\t\tapi.getAll(\"/country\")\r\n\t\t\t.then((response) => {\r\n\t\t\t\tlet data = response.data;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tappCountry: data,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.COUNTRY, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingCountry: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t};\r\n\r\n\treturnValidTrainingData = (itemList) => {\r\n\t\tif (itemList) {\r\n\t\t\t// return itemList.filter((el) => el.inUse);\r\n\t\t\tconst selectedStartDate = new Date(this.state.model.startDate)\r\n\t\t\tconst startedTrainings = itemList.filter((el) => (el.validSince ? new Date(el.validSince) <= selectedStartDate : true)) ?? [];\r\n\t\t\tconst startedNotExpired = startedTrainings.filter((el) => (el.validUntil ? new Date(el.validUntil) >= selectedStartDate : true)) ?? [];\r\n\t\t\t\r\n\t\t\treturn startedNotExpired\r\n\t\t}\r\n\t\treturn [];\r\n\t};\r\n\r\n\tgetTrainingData = () => {\r\n\t\tdynamic\r\n\t\t\t.getAll(\"trainingdata\", { params: { page: 0 } })\r\n\t\t\t.then((response) => {\r\n\t\t\t\tlet data = response.data.itemList;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tappTrainingData: _sortBy(data, \"courseCode\"),\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.TRAININGDATA, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {});\r\n\t};\r\n\r\n\tgetTrainingLanguage = () => {\r\n\t\tdynamic\r\n\t\t\t.getAll(\"traininglanguage\", { params: { page: 0 } })\r\n\t\t\t.then((response) => {\r\n\t\t\t\tlet data = response.data.itemList;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tappLanguage: data,\r\n\t\t\t\t\t//devOps 638\r\n\t\t\t\t\tmodel: {\r\n\t\t\t\t\t\t...this.state.model,\r\n\t\t\t\t\t\tidLanguage: this.state.idTraining != undefined ? this.state.model.idLanguage : data.find(el => el.code.toUpperCase() ===\"ENGLISH\")?.id ?? null\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.TRAININGLANGUAGE, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {});\r\n\t};\r\n\r\n\tgetTrainingMethod = () => {\r\n\t\tdynamic\r\n\t\t\t.getAll(\"trainingmethod\", { params: { page: 0 } })\r\n\t\t\t.then((response) => {\r\n\t\t\t\tlet data = response.data.itemList;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tappMethod: data,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.TRAININGMETHOD, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {});\r\n\t};\r\n\r\n\tgetTrainingAssessmentMethod = () => {\r\n\t\tdynamic\r\n\t\t\t.getAll(\"trainingassessmentmethod\", { params: { page: 0 } })\r\n\t\t\t.then((response) => {\r\n\t\t\t\tlet data = response.data.itemList;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tappAssessmentMethod: data,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.TRAININGASSESSMENTMETHOD, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {});\r\n\t};\r\n\r\n\tgetTrainingCenters = () => {\r\n\t\tdynamic\r\n\t\t\t.getAll(\"trainingcenter\", { params: { page: 0 } })\r\n\t\t\t.then((response) => {\r\n\t\t\t\tlet data = response.data.itemList.filter(item => item.inUse === true); //RITM0837173\r\n\t\t\t\tthis.setState({ appTrainingCenters: data });\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.TRAININGCENTER, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => { });\r\n\t};\r\n\r\n\tgetTraining(id) {\r\n\t\tthis.setState({\r\n\t\t\tisEdit: true,\r\n\t\t\tisLoadingTraining: true,\r\n\t\t});\r\n\r\n\t\tapi.get(this.baseUrl, id)\r\n\t\t\t.then((response) => {\r\n\t\t\t\tlet data = response.data;\r\n\t\t\t\tif (data) {\r\n\t\t\t\t\tthis.originalValidityDate = data.validityDate ?? null;\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tmodel: data,\r\n\t\t\t\t\t\tisDisabled: data ? !IsEditable(\"Training\", \"Reporting\", this.context.user, data.idStatus, \"All\", data) : false,\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tshowNotification.error();\r\n\t\t\t\t\tthis.cancel();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.TRAINING, apioperation.GET));\r\n\r\n\t\t\t\tthis.cancel();\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingTraining: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\tsaveTraining = () => {\r\n\t\tconst validDuration = this.checkValidHours(this.state.model.certifiedDuration)\r\n\t\tif (this.validator.allValid() && validDuration) {\r\n\t\t\tthis.toggleModal(true, \"isSubmitted\");\r\n\r\n\t\t\tlet datiForm = this.state.model;\r\n\r\n\t\t\t//if (!this.state.isEdit) { datiForm.id = uuid() } spostato in initModel\r\n\t\t\tlet method = this.state.isEdit ? api.put(this.baseUrl, datiForm, datiForm.id) : api.post(this.baseUrl, datiForm);\r\n\r\n\t\t\tmethod\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\tif (response.status == 200) {\r\n\t\t\t\t\t\tlet resp = response.data;\r\n\r\n\t\t\t\t\t\tshowNotification.success(`${entitiesLabels.SUCCESS}`, this.state.isEdit ? getSuccess(entitiesLabels.TRAINING, apioperation.PUT) : getSuccess(entitiesLabels.TRAINING, apioperation.POST));\r\n\r\n\t\t\t\t\t\tif (!this.state.isEdit) {\r\n\t\t\t\t\t\t\t//aggiornare il modello dati con le props mancanti\r\n\t\t\t\t\t\t\tdatiForm[\"idCompiler\"] = this.context.user.id;\r\n\t\t\t\t\t\t\tdatiForm[\"compiler\"] = this.context.user.email;\r\n\t\t\t\t\t\t\tdatiForm[\"idStatus\"] = 1;\r\n\t\t\t\t\t\t\tdatiForm[\"status\"] = \"Draft\";\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t//update new default validity date\r\n\t\t\t\t\t\tthis.originalValidityDate = this.state.model.validityDate;\r\n\r\n\t\t\t\t\t\t//update state partecipants for enable signature\r\n\t\t\t\t\t\tif (datiForm.trainingParticipant && datiForm.trainingParticipant.length) {\r\n\t\t\t\t\t\t\tlet newtrainingParticipants = [...datiForm.trainingParticipant];\r\n\t\t\t\t\t\t\tnewtrainingParticipants.forEach(function (obj) {\r\n\t\t\t\t\t\t\t\tif (obj.toSave) {\r\n\t\t\t\t\t\t\t\t\tobj.toSave = false;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tthis.updateState(\"trainingParticipant\", newtrainingParticipants, \"model\");\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis.updateCacheTrainingModel(datiForm);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tshowNotification.error();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.TRAINING, apioperation.POST));\r\n\t\t\t\t})\r\n\t\t\t\t.finally(() => {\r\n\t\t\t\t\tthis.toggleModal(false, \"isSubmitted\");\r\n\t\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.validator.showMessages();\r\n\t\t\tshowNotification.warning(`${entitiesLabels.WARNING}`, entitiesLabels.TRAINING + \" required fields are missing \");\r\n\t\t\tif(!validDuration){\r\n\t\t\t\tthis.setState({invalidCertifiedDuration: true})\r\n\t\t\t\tshowNotification.warning(`Certified Duration Not Valid`, \"Only integer or decimal values ​​greater than 0 and with a scale of 0.5 are allowed\")\r\n\t\t\t} \r\n\t\t\tthis.forceUpdate();\r\n\t\t}\r\n\t};\r\n\r\n\tupdateCacheTrainingModel = async (datiForm) => {\r\n\t\tawait Promise.all([TrainingRepository.updateCachedTrainingList(datiForm), TrainingRepository.updateCachedTraining(datiForm.id, datiForm)])\r\n\t\t\t.then((response) => {\r\n\t\t\t\tif (!this.state.isEdit) {\r\n\t\t\t\t\tthis.props.history.push(\"/training/\");\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tconsole.error({ error });\r\n\t\t\t})\r\n\t\t\t.finally(() => {});\r\n\t};\r\n\r\n\t////----------Fine API----------------\r\n\r\n\t/**************Contents**********************/\r\n\r\n\taddContent = () => {\r\n\t\tthis.setState({\r\n\t\t\tisOpenModalContent: true,\r\n\t\t\tidToEditContent: null,\r\n\t\t\tkeyModalContent: `modalContent_${new Date().getTime()}`,\r\n\t\t});\r\n\t};\r\n\r\n\teditContent = (id) => {\r\n\t\tthis.setState({\r\n\t\t\tisOpenModalContent: true,\r\n\t\t\tidToEditContent: id,\r\n\t\t\tkeyModalContent: `modalContent_${new Date().getTime()}`,\r\n\t\t});\r\n\t};\r\n\r\n\thandleSaveModalContent = (data) => {\r\n\t\ttry {\r\n\t\t\tif (data == null) return;\r\n\r\n\t\t\tlet oldtrainingContents = this.state.model.trainingContents || [];\r\n\r\n\t\t\tif (this.state.idToEditContent != null) {\r\n\t\t\t\t//edit\r\n\t\t\t\tlet id = data.id;\r\n\t\t\t\tlet indexElement = oldtrainingContents.findIndex((el) => el.id == id);\r\n\t\t\t\tif (indexElement > -1) {\r\n\t\t\t\t\tlet newtrainingContents = [...oldtrainingContents];\r\n\t\t\t\t\tnewtrainingContents[indexElement] = data;\r\n\t\t\t\t\tthis.updateState(\"trainingContents\", newtrainingContents, \"model\");\r\n\t\t\t\t} else {\r\n\t\t\t\t\tshowNotification.error();\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t//insert\r\n\t\t\t\tdata.id = uuid();\r\n\t\t\t\tdata.createdOn = moment.utc().format();\r\n\t\t\t\tdata.createdBy = this.context.user.email;\r\n\t\t\t\tlet newtrainingContents = oldtrainingContents.concat([data]);\r\n\t\t\t\tthis.updateState(\"trainingContents\", newtrainingContents, \"model\");\r\n\t\t\t}\r\n\r\n\t\t\tthis.setState({ isOpenModalContent: false });\r\n\t\t} catch (error) {\r\n\t\t\tshowNotification.error();\r\n\t\t}\r\n\t};\r\n\r\n\tconfirmDeleteContent = (id) => {\r\n\t\tthis.setState({\r\n\t\t\tidToDeleteParticipant: null,\r\n\t\t\tidToDeleteTrainer: null,\r\n\t\t\tidToDeleteContent: id,\r\n\t\t\tisOpenDeleteModal: true,\r\n\t\t\tisDeleting: false,\r\n\t\t});\r\n\t};\r\n\r\n\tdeleteItemContent = () => {\r\n\t\tlet id = this.state.idToDeleteContent;\r\n\t\tthis.setState({\r\n\t\t\tisDeleting: true,\r\n\t\t});\r\n\r\n\t\tlet statusCopy = Object.assign({}, this.state.model);\r\n\t\tstatusCopy.trainingContents = statusCopy.trainingContents.filter((el) => el.id !== id);\r\n\r\n\t\tthis.setState({\r\n\t\t\tmodel: statusCopy,\r\n\t\t\tisDeleting: false,\r\n\t\t\tisOpenDeleteModal: false,\r\n\t\t});\r\n\t};\r\n\r\n\t/**************Fine Contents**********************/\r\n\t/**************Participants**********************/\r\n\r\n\taddParticipant = () => {\r\n\t\tthis.setState({\r\n\t\t\tisOpenModalParticipant: true,\r\n\t\t\tidToEditParticipant: null,\r\n\t\t\tkeyModalParticipant: `modalParticipant_${new Date().getTime()}`,\r\n\t\t});\r\n\t};\r\n\r\n\teditParticipant = (id) => {\r\n\t\tthis.setState({\r\n\t\t\tisOpenModalParticipant: true,\r\n\t\t\tidToEditParticipant: id,\r\n\t\t\tkeyModalParticipant: `modalParticipant_${new Date().getTime()}`,\r\n\t\t});\r\n\t};\r\n\r\n\thandleSaveModalParticipant = (data) => {\r\n\t\ttry {\r\n\t\t\tif (data == null) return;\r\n\r\n\t\t\tlet oldtrainingParticipants = this.state.model.trainingParticipant || [];\r\n\r\n\t\t\tif (this.state.idToEditParticipant != null) {\r\n\t\t\t\t//edit\r\n\t\t\t\tlet id = data.id;\r\n\t\t\t\tlet indexElement = oldtrainingParticipants.findIndex((el) => el.id == id);\r\n\t\t\t\tif (indexElement > -1) {\r\n\t\t\t\t\tlet newtrainingParticipants = [...oldtrainingParticipants];\r\n\t\t\t\t\t//newtrainingParticipants[indexElement] = data;\r\n\t\t\t\t\tnewtrainingParticipants[indexElement].type = data.type;\r\n\t\t\t\t\tnewtrainingParticipants[indexElement].name = data.name;\r\n\t\t\t\t\tnewtrainingParticipants[indexElement].surname = data.surname;\r\n\t\t\t\t\tnewtrainingParticipants[indexElement].email = data.email;\r\n\t\t\t\t\tnewtrainingParticipants[indexElement].position = data.position;\r\n\t\t\t\t\tnewtrainingParticipants[indexElement].badgeNumber = data.badgeNumber;\r\n\t\t\t\t\tnewtrainingParticipants[indexElement].birthDate = data.birthDate;\r\n\t\t\t\t\tnewtrainingParticipants[indexElement].idEmployer = data.idEmployer;\r\n\r\n\t\t\t\t\tthis.updateState(\"trainingParticipant\", newtrainingParticipants, \"model\");\r\n\t\t\t\t} else {\r\n\t\t\t\t\tshowNotification.error();\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t//insert\r\n\t\t\t\tdata.id = uuid();\r\n\t\t\t\tdata.idTraining = this.state.model.id;\r\n\t\t\t\tdata.createdOn = moment.utc().format();\r\n\t\t\t\tdata.createdBy = this.context.user.email;\r\n\t\t\t\tdata.toSave = true;\r\n\t\t\t\tlet newtrainingParticipants = oldtrainingParticipants.concat([data]);\r\n\t\t\t\tthis.updateState(\"trainingParticipant\", newtrainingParticipants, \"model\");\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tsearch: null,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tthis.setState({ isOpenModalParticipant: false });\r\n\t\t} catch (error) {\r\n\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.TRAINING, apioperation.POST));\r\n\t\t}\r\n\t};\r\n\r\n\tconfirmDeleteParticipant = (id) => {\r\n\t\tthis.setState({\r\n\t\t\tidToDeleteContent: null,\r\n\t\t\tidToDeleteTrainer: null,\r\n\t\t\tidToDeleteParticipant: id,\r\n\t\t\tisOpenDeleteModal: true,\r\n\t\t\tisDeleting: false,\r\n\t\t});\r\n\t};\r\n\r\n\tdeleteItemParticipant = () => {\r\n\t\tlet id = this.state.idToDeleteParticipant;\r\n\t\tthis.setState({\r\n\t\t\tisDeleting: true,\r\n\t\t});\r\n\r\n\t\tlet statusCopy = Object.assign({}, this.state.model);\r\n\t\tstatusCopy.trainingParticipant = statusCopy.trainingParticipant.filter((el) => el.id !== id);\r\n\r\n\t\tthis.setState({\r\n\t\t\tmodel: statusCopy,\r\n\t\t\tisDeleting: false,\r\n\t\t\tisOpenDeleteModal: false,\r\n\t\t});\r\n\t};\r\n\r\n\t/**************Fine Participants**********************/\r\n\t/**************Trainer**********************/\r\n\r\n\teditTrainer = () => {\r\n\t\tthis.setState({\r\n\t\t\tisOpenModalTrainer: true,\r\n\t\t\tkeyModalTrainer: `modalTrainer_${new Date().getTime()}`,\r\n\t\t});\r\n\t};\r\n\r\n\thandleSaveModalTrainer = (data) => {\r\n\t\ttry {\r\n\t\t\tif (data == null) return;\r\n\r\n\t\t\tif (!this.state.model.trainer) {\r\n\t\t\t\t//insert\r\n\t\t\t\tdata.id = uuid();\r\n\t\t\t\tdata.createdOn = moment.utc().format();\r\n\t\t\t\tdata.createdBy = this.context.user.email;\r\n\t\t\t}\r\n\r\n\t\t\tlet statusCopy = Object.assign({}, this.state.model);\r\n\t\t\tstatusCopy.idTrainer = data.id;\r\n\t\t\tstatusCopy.trainer = { ...statusCopy.trainer, ...data };\r\n\t\t\tstatusCopy.trainer.updatedOn = moment.utc().format();\r\n\t\t\tstatusCopy.trainer.updatedBy = this.context.user.email;\r\n\r\n\t\t\tthis.setState({\r\n\t\t\t\tmodel: statusCopy,\r\n\t\t\t\tisOpenModalTrainer: false,\r\n\t\t\t});\r\n\t\t} catch (error) {\r\n\t\t\tshowNotification.error();\r\n\t\t}\r\n\t};\r\n\r\n\tconfirmDeleteTrainer = (id) => {\r\n\t\tthis.setState({\r\n\t\t\tidToDeleteContent: null,\r\n\t\t\tidToDeleteParticipant: null,\r\n\t\t\tidToDeleteTrainer: id,\r\n\t\t\tisOpenDeleteModal: true,\r\n\t\t\tisDeleting: false,\r\n\t\t});\r\n\t};\r\n\r\n\tdeleteItemTrainer = () => {\r\n\t\tlet id = this.state.idToDeleteTrainer;\r\n\t\tthis.setState({\r\n\t\t\tisDeleting: true,\r\n\t\t});\r\n\r\n\t\tlet statusCopy = Object.assign({}, this.state.model);\r\n\t\tstatusCopy.idTrainer = null;\r\n\t\tstatusCopy.trainer = null;\r\n\r\n\t\tthis.setState({\r\n\t\t\tmodel: statusCopy,\r\n\t\t\tisDeleting: false,\r\n\t\t\tisOpenDeleteModal: false,\r\n\t\t});\r\n\t};\r\n\r\n\t/**************Fine Trainer**********************/\r\n\t/**************TrainerSign**********************/\r\n\r\n\teditTrainerSign = () => {\r\n\t\tthis.setState({\r\n\t\t\tisOpenModalTrainerSign: true,\r\n\t\t\tkeyModalTrainerSign: `modalTrainerSign_${new Date().getTime()}`,\r\n\t\t});\r\n\t};\r\n\r\n\thandleSaveModalTrainerSign = (data) => {\r\n\t\ttry {\r\n\t\t\tif (data == null) return;\r\n\r\n\t\t\tif (this.state.model.trainer) {\r\n\t\t\t\tlet statusCopy = Object.assign({}, this.state.model);\r\n\t\t\t\tstatusCopy.trainer.signatureAttachment = data;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tmodel: statusCopy,\r\n\t\t\t\t\tisOpenModalTrainerSign: false,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tshowNotification.error();\r\n\t\t}\r\n\t};\r\n\r\n\t/**************Fine TrainerSign**********************/\r\n\t/**************ParticipantsSign**********************/\r\n\r\n\teditParticipantsSign = (id) => {\r\n\t\tthis.setState({\r\n\t\t\tisOpenModalParticipantsSign: true,\r\n\t\t\tidToEditParticipantsSign: id,\r\n\t\t\tkeyModalParticipantsSign: `modalParticipantsSign_${new Date().getTime()}`,\r\n\t\t});\r\n\t};\r\n\r\n\thandleSaveModalParticipantsSign = (data) => {\r\n\t\ttry {\r\n\t\t\tif (data == null) return;\r\n\r\n\t\t\tlet oldtrainingParticipants = this.state.model.trainingParticipant || [];\r\n\t\t\tlet id = data.id;\r\n\t\t\tlet indexElement = oldtrainingParticipants.findIndex((el) => el.id == id);\r\n\t\t\tif (indexElement > -1) {\r\n\t\t\t\tlet newtrainingParticipants = [...oldtrainingParticipants];\r\n\r\n\t\t\t\tnewtrainingParticipants[indexElement].knowledgeAssessment = data.knowledgeAssessment;\r\n\t\t\t\tnewtrainingParticipants[indexElement].note = data.note;\r\n\t\t\t\tnewtrainingParticipants[indexElement].signatureAttachment = data.signatureAttachment;\r\n\r\n\t\t\t\tlet statusCopy = Object.assign({}, this.state.model);\r\n\t\t\t\tstatusCopy.trainingParticipant = newtrainingParticipants;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tmodel: statusCopy,\r\n\t\t\t\t\tisOpenModalParticipantsSign: false,\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tshowNotification.error();\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tshowNotification.error();\r\n\t\t}\r\n\t};\r\n\t/**************Fine ParticipantsSign**********************/\r\n\r\n\thandleInputChange = (e) => {\r\n\t\tlet val = e.target.value;\r\n\t\tthis.setState({\r\n\t\t\tsearch: val,\r\n\t\t});\r\n\t};\r\n\r\n\t///WF\r\n\thandleApproverSelect = (selectedItem) => {\r\n\t\tthis.setState({ approver: selectedItem });\r\n\t};\r\n\thandleCloseApprovalModal = () => {\r\n\t\tthis.setState({ isApprovalModalOpen: false }, this.clearApprovalForm);\r\n\t};\r\n\thandleApprovalNotesChange = (e) => {\r\n\t\tthis.setState({ approvalNotes: e.target.value });\r\n\t};\r\n\tIsRowSelectable() {\r\n\t\tvar row = this.state.model;\r\n\t\tif (row == null || row.idStatus == STATUS.Consolidated) return false;\r\n\r\n\t\treturn true;\r\n\t}\r\n\r\n\tgetUsersInRole = (role, idEntity) => {\r\n\t\tme.getWithParam(\"users\", {\r\n\t\t\tparams: { Role: role, IdEntity: idEntity, includeAdmins: true },\r\n\t\t})\r\n\t\t\t.then((response) => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tapprovers: response.data,\r\n\t\t\t\t\tisLoadingApproverOptions: false,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.ROLE, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingApproverOptions: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t};\r\n\thandleConfirmApprovalModal = () => {\r\n\t\tlet action = this.state.approvalModalAction?.toLowerCase();\r\n\t\tlet apiEndpoint = this.state.approvalEndpoint;\r\n\r\n\t\tconst data = {\r\n\t\t\tids: [this.state.idTraining],\r\n\t\t\towner: this.state.approver,\r\n\t\t\tworkflowNotes: this.state.approvalNotes,\r\n\t\t};\r\n\r\n\t\tthis.setState({\r\n\t\t\tisLoadingWFOperation: true,\r\n\t\t});\r\n\t\tapi.put(\"/training/\" + apiEndpoint, data, \"\")\r\n\t\t\t.then((response) => {\r\n\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\tshowNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.TRAINING, apioperation.PUT));\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tisLoadingWFOperation: false,\r\n\t\t\t\t\t\tisApprovalModalOpen: false,\r\n\t\t\t\t\t\tisLoading: true,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.props.history.push(\"/training\");\r\n\t\t\t\t} else {\r\n\t\t\t\t\tshowNotification.error();\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tisLoadingWFOperation: false,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.TRAINING, apioperation.PUT));\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingWFOperation: false,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => {});\r\n\t};\r\n\tbatchActionClick(actionKey, actionName, approverRole, withApprover, approvalNotesRequired, selectedRows) {\r\n\t\tvar training = this.state.model;\r\n\r\n\t\tvar idEntity = actionKey == \"Submit\" ? training.idWorkSite : actionKey == \"Approve\" ? training.idDivision : null;\r\n\r\n\t\t\tthis.setState({\r\n\t\t\t\tapprovalModalAction: actionName,\r\n\t\t\t\tisApprovalModalOpen: true,\r\n\t\t\t\tisLoadingApproverOptions: true,\r\n\t\t\t\twithApprover: withApprover,\r\n\t\t\t\tselectedData: selectedRows,\r\n\t\t\t\tapproverRole: approverRole,\r\n\t\t\t\tapprovalEndpoint: actionKey,\r\n\t\t\t\tapprovalNotesRequired: approvalNotesRequired,\r\n\t\t\t});\r\n\t\t\t\r\n\t\tif (withApprover) this.getUsersInRole(approverRole, idEntity);\r\n\t}\r\n\r\n\tgetStatusActions = (user) => {\r\n\t\tif (!this.IsRowSelectable()) return null;\r\n\r\n\t\tconst idStatus = this.state.model.idStatus;\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{CanExecuteAction(\"Training\", \"Reporting\", user, idStatus, \"Submit\", this.state.model) ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : null}\r\n\t\t\t\t{/* RITM0565449 */}\r\n\t\t\t\t{CanExecuteAction(\"Training\", \"Reporting\", user, idStatus, \"Approve\", this.state.model) ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : null}\r\n\t\t\t\t{/* FINE RITM0565449 */}\r\n\r\n\t\t\t\t{CanExecuteAction(\"Training\", \"Reporting\", user, idStatus, \"Consolidate\", this.state.model) ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : null}\r\n\r\n\t\t\t\t{CanExecuteAction(\"Training\", \"Reporting\", user, idStatus, \"Reject\", this.state.model) ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : null}\r\n\r\n\t\t\t\t{CanExecuteAction(\"Training\", \"Reporting\", user, idStatus, \"RejectConsolidate\", this.state.model) ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : null}\r\n\r\n\t\t\t\t{CanExecuteAction(\"Training\", \"Reporting\", user, idStatus, \"Delete\", this.state.model) ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : null}\r\n\t\t\t\r\n\t\t);\r\n\t};\r\n\t///fine WF\r\n\tshowDownloadSingleCert = (item) => {\r\n\t\t//visualizzo il pulsante download certificato sul singolo partecipante\r\n\r\n\t\tif (!this.state.isEdit || item.toSave) return false; //training o partecipante non salvato sul db\r\n\r\n\t\tif (this.state.model == null || this.state.model.info == null) return false;\r\n\r\n\t\treturn item.knowledgeAssessment == \"Pass\";\r\n\t\t\r\n\t};\r\n\r\n\trenderParticipants(isSaipem, participants) {\r\n\t\tlet trainingParticipants = isSaipem ? (participants || []).filter((el) => el.type.toLowerCase() == \"saipem\" ) : (participants || []).filter((el) => el.type.toLowerCase() != \"saipem\");\r\n\r\n\t\tif (trainingParticipants && trainingParticipants.length) {\r\n\t\t\ttrainingParticipants = _sortBy(trainingParticipants, [(p) => p.type?.toLowerCase(), (p) => p.surname?.toLowerCase(), (p) => p.name?.toLowerCase()]);\r\n\t\t}\r\n\r\n\t\tconst fileDownLoadButtonProps = {\r\n\t\t\tsize: \"small\",\r\n\t\t\tclassName: \"bx--export-form\",\r\n\t\t\ticonDescription: \"Download Certificate\",\r\n\t\t\ttitle: \"Download Certificate\",\r\n\t\t\tkind: \"ghost\",\r\n\t\t\tonDownLoadStart: () => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingNotificationFile: true,\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\tonDownLoadEnd: () => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingNotificationFile: false,\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\tonError: (error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.TRAININGCERTIFICATE, apioperation.DOWNLOAD));\r\n\t\t\t},\r\n\t\t};\r\n\r\n\t\treturn trainingParticipants == null || trainingParticipants.length == 0 ? (\r\n\t\t\t\r\n\t\t) : (\r\n\t\t\ttrainingParticipants.map((item, index) => (\r\n\t\t\t\t\r\n\t\t\t\t\t{item.type}\r\n\t\t\t\t\t{item.surname}\r\n\t\t\t\t\t{item.name}\r\n\t\t\t\t\t{item.badgeNumber}\r\n\t\t\t\t\t{item.position}\r\n\t\t\t\t\t{item.knowledgeAssessment}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{!this.state.isDisabled && (\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{this.state.isEdit && item.signatureAttachment && }\r\n\t\t\t\t\t\t\t\t{this.state.isEdit && !item.toSave && (\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{!this.state.isDisabled && (\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{this.showDownloadSingleCert(item) && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t))\r\n\t\t);\r\n\t}\r\n\r\n\tcheckValidHours = (value) => {\r\n\t\tconst hours = value ? +value : null\r\n\t\tconst decimal = hours ? +hours.toString().split(\".\").splice(1).join() : 0\r\n\t\tif(!hours || (decimal !== 0 && decimal !== 5)) return false\r\n\t\treturn true\r\n\t}\r\n\r\n\tgetTrainingParticipants = () =>{\r\n\t\tapi.getAll(`training/${this.state.model.id}/participant`)\r\n\t\t.then((response) =>{\r\n\t\t\tthis.setState({\r\n\t\t\t\tmodel: {...this.state.model, trainingParticipant: response.data}\r\n\t\t\t});\r\n\t\t})\r\n\t\t.catch((error) => {\r\n\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.TRAININGPARTICIPANT, apioperation.GET));\r\n\t\t});\r\n\t};\r\n\r\n\tuploadTemplate = (event) => {\r\n\t\tif (this.state.statusUpload != null) {\r\n\t\t\tthis.setState({\r\n\t\t\t\tisImportfunction: true,\r\n\t\t\t\tisImportTemplate: true,\r\n\t\t\t\tmessage: [],\r\n\t\t\t});\r\n\t\t\tevent.preventDefault();\r\n\t\t\tthis.setState(() => ({\r\n\t\t\t\tcanUpload: true,\r\n\t\t\t\tisFileValid: true,\r\n\t\t\t\tvalidationErrorTitle: \"\",\r\n\t\t\t\tvalidationErrorSubTitle: \"\",\r\n\t\t\t\tstatusUpload: \"uploading\",\r\n\t\t\t}));\r\n\t\t\tconst formData = new FormData();\r\n\t\t\tformData.append(\"FileUploaded\", event.target.inputFile.files[0]);\r\n\r\n\t\t\tapi.upload(`/training/${this.state.model.id}/trainingParticipant/template`, formData)\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\tthis.setState(() => ({\r\n\t\t\t\t\t\tcanUpload: false,\r\n\t\t\t\t\t\tisFileValid: true,\r\n\t\t\t\t\t\tvalidationErrorTitle: \"\",\r\n\t\t\t\t\t\tvalidationErrorSubTitle: \"\",\r\n\t\t\t\t\t\tstatusUpload: \"complete\",\r\n\t\t\t\t\t\tmessage: response.data,\r\n\t\t\t\t\t\tisImportTemplate: false,\r\n\t\t\t\t\t\tisImportfunction: false,\r\n\t\t\t\t\t}));\r\n\t\t\t\t\tif (response.data && response.data[0] == \"Success\") {\r\n\t\t\t\t\t\tshowNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.TRAININGPARTICIPANTTEMPLATE, apioperation.UPLOAD));\r\n\t\t\t\t\t\tthis.setState(() => ({\r\n\t\t\t\t\t\t\tisImportTemplateModalOpen: false,\r\n\t\t\t\t\t\t}));\r\n\t\t\t\t\t}else{\r\n\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\tstatusUpload: null\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.getTrainingParticipants();\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tthis.setState(() => ({\r\n\t\t\t\t\t\tcanUpload: true,\r\n\t\t\t\t\t\tisFileValid: false,\r\n\t\t\t\t\t\tstatusUpload: \"edit\",\r\n\t\t\t\t\t\tisImportTemplate: false,\r\n\t\t\t\t\t\tisImportfunction: false,\r\n\t\t\t\t\t\timportDanger: true,\r\n\t\t\t\t\t}));\r\n\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.TRAININGPARTICIPANTTEMPLATE, apioperation.UPLOAD));\r\n\t\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tonFileUploadChange = (evt) => {\r\n\t\tthis.setState(() => ({ statusUpload: \"edit\" }));\r\n\t\tif (evt.target.files[0] && evt.target.files[0].size >= 4194304) {\r\n\t\t\tconst nome = evt.target.files[0].name;\r\n\t\t\tthis.fileUploader.clearFiles();\r\n\t\t\tthis.setState(() => ({\r\n\t\t\t\tcanUpload: false,\r\n\t\t\t\tmessage: [],\r\n\t\t\t\tisFileValid: false,\r\n\t\t\t\tisImportTemplate: false,\r\n\t\t\t\tvalidationErrorTitle: `${nome} exceeds size limit`,\r\n\t\t\t\tvalidationErrorSubTitle: \"4mb max file size. Please select a new file and try again\",\r\n\t\t\t}));\r\n\t\t} else {\r\n\t\t\t// this.fileUploader.clearFiles();\r\n\t\t\tthis.setState(() => ({\r\n\t\t\t\tcanUpload: true,\r\n\t\t\t\tisFileValid: true,\r\n\t\t\t\tvalidationErrorTitle: \"\",\r\n\t\t\t\tvalidationErrorSubTitle: \"\",\r\n\t\t\t\tmessage: [],\r\n\t\t\t}));\r\n\t\t}\r\n\t};\r\n\r\n\ttoggleModalUploadTemplate = (open) => {\r\n\t\tthis.fileUploader.clearFiles();\r\n\t\tthis.setState({\r\n\t\t\tisImportTemplateModalOpen: open,\r\n\t\t\tisImportHC: true,\r\n\t\t\tmessage: [],\r\n\t\t\tstatusUpload: null,\r\n\t\t\tcanUpload: false,\r\n\t\t\tisFileValid: true,\r\n\t\t\tvalidationErrorTitle: \"\",\r\n\t\t\tvalidationErrorSubTitle: \"\",\r\n\t\t\t__filename: null,\r\n\t\t});\r\n\t};\r\n\r\n\tclearFiles = () => {\r\n\t\tthis.fileUploader.clearFiles();\r\n\t\tthis.setState(() => ({\r\n\t\t\tcanUpload: false,\r\n\t\t\tisFileValid: true,\r\n\t\t\tvalidationErrorTitle: \"\",\r\n\t\t\tvalidationErrorSubTitle: \"\",\r\n\t\t}));\r\n\t};\r\n\r\n\tdivMessaggImportHC() {\r\n\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t{!this.state.isImportTemplate ? \"\" : }\r\n\r\n\t\t\t\t{this.state.message[0] == \"Success\" ? (\r\n\t\t\t\t\t
    \r\n\t\t\t\t) : (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{this.state.message.map((x) => (\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    {x}
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t
    \r\n\t\t\t\t)}\r\n\t\t\t
    \r\n\t\t);\r\n\t}\r\n\r\n\trenderUploadModal = () => (\r\n\t\t
    \r\n\t\t\t false}>\r\n\t\t\t\t this.toggleModalUploadTemplate(false)}>\r\n\t\t\t\t\t

    Import Training Participants

    \r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t (this.fileUploader = node)}\r\n\t\t\t\t\t\t\taccept={[\".xlsx\"]}\r\n\t\t\t\t\t\t\tbuttonKind=\"primary\"\r\n\t\t\t\t\t\t\tbuttonLabel=\"Choose a file\"\r\n\t\t\t\t\t\t\tfilenameStatus={this.state.statusUpload}\r\n\t\t\t\t\t\t\ticonDescription=\"Choose\"\r\n\t\t\t\t\t\t\tlabelTitle=\"Upload\"\r\n\t\t\t\t\t\t\tmultiple={false}\r\n\t\t\t\t\t\t\tname=\"inputFile\"\r\n\t\t\t\t\t\t\tonClick={this.clearFiles}\r\n\t\t\t\t\t\t\tonChange={this.onFileUploadChange}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{this.state.isImportHC ? this.divMessaggImportHC() : \"\"}\r\n\t\t\t\t\t\t{this.state.isImportfunction ? : \"\"}\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n\r\n\t// RITM0562378\r\n\tclearAttachment = () => ({\r\n\t\tid: null, // guid\r\n\t\tfileIdentifier: null,\r\n\t\tname: null,\r\n\t\tcontentType: null,\r\n\t\tsize: null,\r\n\t\ttype: null,\r\n\t});\r\n\r\n onUploadFiles = (fileIdentifier, fileName, fileType, size) => {\r\n const attachment = { ...this.state.attachment };\r\n\r\n attachment.id = uuid();\r\n attachment.fileIdentifier = fileIdentifier.blobName;\r\n attachment.name = fileName;\r\n attachment.contentType = fileType;\r\n attachment.size = size;\r\n // attachment.filePath = file.localPath;\r\n\r\n this.setState({\r\n\tattachment: this.clearAttachment(),\r\n });\r\n\r\n try {\r\n\tif (attachment == null) return;\r\n\t// insert\r\n\tconst oldattachment = this.state.model.attachments || [];\r\n\r\n\tconst newItem = {\r\n\t id: uuid(), // guid\r\n\r\n\t idAttachment: attachment.id, // guid\r\n\t attachment,\r\n\t};\r\n\r\n\tconst newattachment = oldattachment.concat([newItem]);\r\n\tthis.setState({model: {...this.state.model, attachments: newattachment}})\r\n } catch (error) {\r\n\tshowNotification.error();\r\n }\r\n };\r\n\r\n onRemoveFile = (id) => {\r\n if (!id) return;\r\n const statusCopy = { ...this.state.model };\r\n statusCopy.attachments = statusCopy.attachments.filter((el) => el.id !== id);\r\n this.setState({model: statusCopy});\r\n };\r\n// FINE RITM0562378\r\n\r\n\trender() {\r\n\t\tconst appWorksites = this.getWorkSite(this.state.model.startDate, this.state.model.endDate);\r\n\t\tconst appProject = this.getPrj(this.state.model.idWorkSite, this.state.model.startDate, this.state.model.endDate);\r\n\t\tconst selectedItemCombo = {\r\n\t\t\tidWorkSite: (appWorksites || []).find((el) => el.id == this.state.model.idWorkSite),\r\n\t\t\tidProject: (appProject || []).find((el) => el.id == this.state.model.idProject),\r\n\t\t\tidTrainingData: (this.state.appTrainingData || []).find((el) => el.id == this.state.model.idTrainingData),\r\n\t\t\tidLanguage: (this.state.appLanguage || []).find((el) => el.id == this.state.model.idLanguage),\r\n\t\t\tidCountry: (this.state.appCountry || []).find((el) => el.id == this.state.model.idCountry),\r\n\t\t\tidMethod: (this.state.appMethod || []).find((el) => el.id == this.state.model.idMethod),\r\n\t\t\tidTrainingAssessmentMethod: (this.state.appAssessmentMethod || []).find((el) => el.id == this.state.model.idTrainingAssessmentMethod),\r\n\t\t\tidTrainingCenter: (this.state.appTrainingCenters || []).find((el) => el.id == this.state.model.idTrainingCenter)\r\n\t\t};\r\n\r\n\t\tconst showOtherAssessment = selectedItemCombo.idTrainingAssessmentMethod?.specifyOther;\r\n\t\tthis.validator.purgeFields(); //si usa quando ci sono validazioni condizionali tra più campi\r\n\t\tconst validations = {\r\n\t\t\tstartDate: this.validator.message(\"StartDate\", this.state.model.startDate, \"required\"),\r\n\t\t\tendDate: this.validator.message(\"EndDate\", this.state.model.endDate, \"required\"),\r\n\t\t\tendAfterStart: this.validator.message(\r\n\t\t\t\t\"endAfterStart\",\r\n\t\t\t\tthis.state.model.endDate == null || this.state.model.startDate == null || moment(this.state.model.endDate).isSameOrAfter(moment(this.state.model.startDate), \"day\"),\r\n\t\t\t\t\"accepted\"\r\n\t\t\t),\r\n\t\t\tvalidityDate: this.validator.message(\"ValidityDate\", this.state.model.validityDate, \"required\"),\r\n\t\t\tcertificateValidityMonths: this.state.idTraining == null\r\n\t\t\t\t? this.validator.message(\"CertificateValidityPeriod\", this.state.model.certificateValidityMonths, \"required|gtz\")\r\n\t\t\t\t: this.validator.message(\"CertificateValidityPeriod\", this.state.model.certificateValidityMonths, \"gtz\"),\r\n\t\t\tidTrainingData: this.validator.message(\"TrainingData\", this.state.model.idTrainingData, \"required\"),\r\n\t\t\ttrainer: this.validator.message(\"trainer\", this.state.model.trainer, \"required\"),\r\n\t\t\tidWorkSite: this.validator.message(\"WorkSite\", this.state.model.idWorkSite, \"required\"),\r\n\t\t\tidProject: this.validator.message(\"Project\", this.state.model.idProject, \"required\"),\r\n\t\t\t//idLanguage: this.validator.message(\"Language\", this.state.model.idLanguage, \"required\"),\r\n\t\t\tidMethod: this.validator.message(\"Method\", this.state.model.idMethod, \"required\"),\r\n\t\t\tidTrainingAssessmentMethod: this.validator.message(\"AssessmentMethod\", this.state.model.idTrainingAssessmentMethod, \"required\"),\r\n\t\t\tspecifyOtherAssessmentMethod: showOtherAssessment ? this.validator.message(\"SpecifyOtherAssessmentMethod\", this.state.model.specifyOtherAssessmentMethod, \"required\") : null,\r\n\t\t\tcertifiedDuration: this.validator.message(\"Certified Duration\", this.state.model.certifiedDuration, \"required\"),\r\n\t\t};\r\n\r\n\t\tconst trainingContents = this.state.model.trainingContents ? _sortBy(this.state.model.trainingContents, \"createdOn\") : [];\r\n\t\tconst trainingParticipants = this.state.search\r\n\t\t\t? (this.state.model.trainingParticipant || []).filter((el) => `${el.surname} ${el.name}`?.toLowerCase().includes(this.state.search?.toLowerCase()))\r\n\t\t\t: this.state.model.trainingParticipant || [];\r\n\r\n\t\tconst modalContentProps = {\r\n\t\t\tkey: this.state.keyModalContent,\r\n\t\t\ttitle: \"Course Contents (The mention of names and surnames must be done only if strictly necessary. Personal Email Addresses are not allowed)\",\r\n\t\t\teditModel: this.state.idToEditContent ? trainingContents.find((el) => el.id == this.state.idToEditContent) : null,\r\n\t\t\tisOpenModal: this.state.isOpenModalContent,\r\n\t\t\tisEditModal: this.state.idToEditContent != null,\r\n\t\t\ttoggleModal: (open) => this.toggleModal(open, \"isOpenModalContent\"),\r\n\t\t\tsave: this.handleSaveModalContent,\r\n\t\t\ttitleAlert: String.fromCharCode(9888)+\" Do Not use Personal Accounts\",\r\n\t\t\t\t\t\r\n\t\t};\r\n\r\n\t\tconst modalParticipantProps = {\r\n\t\t\tparticipants: this.state.model.trainingParticipant,\r\n\t\t\tkey: this.state.keyModalParticipant,\r\n\t\t\ttitle: \"Course Participants\",\r\n\t\t\teditModel: this.state.idToEditParticipant ? trainingParticipants.find((el) => el.id == this.state.idToEditParticipant) : null,\r\n\t\t\tisOpenModal: this.state.isOpenModalParticipant,\r\n\t\t\tisEditModal: this.state.idToEditParticipant != null,\r\n\t\t\tmode: this.state.idToEditParticipant != null ? 2 : 0,\r\n\t\t\ttoggleModal: (open) => this.toggleModal(open, \"isOpenModalParticipant\"),\r\n\t\t\tsave: this.handleSaveModalParticipant,\r\n\t\t\tappType: this.state.appInfoOriginator,\r\n\t\t};\r\n\r\n\t\tconst modalTrainerProps = {\r\n\t\t\tkey: this.state.keyModalTrainer,\r\n\t\t\ttitle: \"Trainer\",\r\n\t\t\teditModel: this.state.model.trainer,\r\n\t\t\tisOpenModal: this.state.isOpenModalTrainer,\r\n\t\t\tisEditModal: this.state.model.trainer != null,\r\n\t\t\tmode: 2,\r\n\t\t\ttoggleModal: (open) => this.toggleModal(open, \"isOpenModalTrainer\"),\r\n\t\t\tsave: this.handleSaveModalTrainer,\r\n\t\t};\r\n\r\n\t\tconst modalSignatureProps = {\r\n\t\t\tkey: this.state.keyModalTrainerSign,\r\n\t\t\ttitle: \"Trainer Signature\",\r\n\t\t\teditModel: this.state.model.trainer,\r\n\t\t\tisOpenModal: this.state.isOpenModalTrainerSign,\r\n\t\t\ttoggleModal: (open) => this.toggleModal(open, \"isOpenModalTrainerSign\"),\r\n\t\t\tsave: this.handleSaveModalTrainerSign,\r\n\t\t\tidTraining: this.state.idTraining,\r\n\t\t};\r\n\r\n\t\tconst modalParticipantsSignatureProps = {\r\n\t\t\tkey: this.state.keyModalParticipantsSign,\r\n\t\t\ttitle: \"Participant Signature\",\r\n\t\t\teditModel: this.state.idToEditParticipantsSign ? trainingParticipants.find((el) => el.id == this.state.idToEditParticipantsSign) : null,\r\n\t\t\tisOpenModal: this.state.isOpenModalParticipantsSign,\r\n\t\t\ttoggleModal: (open) => this.toggleModal(open, \"isOpenModalParticipantsSign\"),\r\n\t\t\tsave: this.handleSaveModalParticipantsSign,\r\n\t\t\tidTraining: this.state.idTraining,\r\n\t\t};\r\n\r\n\t\tconst fileDownLoadAllProps = {\r\n\t\t\tapiUrl: `/training/${this.state.idTraining}/certificate`,\r\n\t\t\tfileName: `Training_Certificates_${this.state.model.code}.zip`,\r\n\t\t\tonDownLoadStart: () => {\r\n\t\t\t\t//RITM0962638 - Download All Certificates Fix\r\n\t\t\t\t// if(this.state.model.trainer.signatureAttachment == null){\r\n\t\t\t\t// \tthrow new Error('Trainer Signature is missing')\r\n\t\t\t\t// }\r\n\t\t\t\t//End\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingNotificationFile: true,\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\tonDownLoadEnd: () => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingNotificationFile: false,\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\tonError: (error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.TRAININGCERTIFICATE, apioperation.DOWNLOAD));\r\n\t\t\t},\r\n\t\t};\r\n\r\n\t\tconst confirmDelProps = () => {\r\n\t\t\tif (this.state.idToDeleteParticipant) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tidToDelete: this.state.idToDeleteParticipant,\r\n\t\t\t\t\tnameItem: \"\",\r\n\t\t\t\t\tisDeleting: this.state.isDeleting,\r\n\t\t\t\t\topen: this.state.isOpenDeleteModal, //open state\r\n\t\t\t\t\tonCloseConfirm: () => this.toggleModal(false, \"isOpenDeleteModal\"), //no click\r\n\t\t\t\t\tdeleteItem: this.deleteItemParticipant, //yes click fn()\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\tidToDelete: this.state.idToDeleteContent,\r\n\t\t\t\tnameItem: \"\",\r\n\t\t\t\tisDeleting: this.state.isDeleting,\r\n\t\t\t\topen: this.state.isOpenDeleteModal, //open state\r\n\t\t\t\tonCloseConfirm: () => this.toggleModal(false, \"isOpenDeleteModal\"), //no click\r\n\t\t\t\tdeleteItem: this.deleteItemContent, //yes click fn()\r\n\t\t\t};\r\n\t\t};\r\n\r\n\t\tconst showModalSignature = this.state.isEdit && this.state.model.trainer != null;\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{({ user }) => (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{this.renderUploadModal()}\r\n\t\t\t\t\t\t\t\t{this.showLoading()}\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t{this.state.isEdit && this.closeModalHistory()} />}\r\n\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTraining\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCourse Contents\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTraining Participant\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* RITM0562378 */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAttachment\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* FINE RITM0562378 */}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    Training

    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{validations.startDate}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{validations.endDate}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{validations.endAfterStart &&
    The end date field must be after start date field
    }\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t (item ? item.name : \"\")}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinitialSelectedItem={selectedItemCombo.idWorkSite}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titems={appWorksites}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={appWorksites == null || this.state.isDisabled || appWorksites.length == 0}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinvalid={validations.idWorkSite != null}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{validations.idWorkSite}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t (item ? item.name : \"\")}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinitialSelectedItem={selectedItemCombo.idProject}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titems={appProject}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={appProject == null || this.state.isDisabled || appProject.length == 0}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinvalid={validations.idProject != null}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{validations.idProject}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t (item ? item.courseCode : \"\")}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// initialSelectedItem={selectedItemCombo.idTrainingData}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedItem={selectedItemCombo.idTrainingData}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titems={this.returnValidTrainingData(this.state.appTrainingData) ?? []}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.appTrainingData == null || this.state.isDisabled || !this.state.model.startDate}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinvalid={validations.idTrainingData != null}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{validations.idTrainingData}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t (item ? item.name : \"\")}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinitialSelectedItem={selectedItemCombo.idLanguage}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titems={this.state.appLanguage}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.appLanguage == null || this.state.isDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t//invalid={validations.idLanguage != null}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t 0) || this.state.isDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\talt=\"model\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={this.handleChangeModel}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thideLabel={true}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinvalid={validations.certifiedDuration != null || this.state.invalidCertifiedDuration}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t (item ? item.name : \"\")}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinitialSelectedItem={selectedItemCombo.idCountry}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titems={this.state.appCountry}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.appCountry == null || this.state.isDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t (item ? item.name : \"\")}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinitialSelectedItem={selectedItemCombo.idTrainingCenter}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titems={this.state.appTrainingCenters}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.appTrainingCenters == null || this.state.isDisabled}\r\n />\r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{validations.certificateValidityMonths}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t (item ? item.name : \"\")}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinitialSelectedItem={selectedItemCombo.idMethod}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titems={this.state.appMethod}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.appMethod == null || this.state.isDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinvalid={validations.idMethod != null}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{validations.idMethod}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t (item ? item.name : \"\")}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinitialSelectedItem={selectedItemCombo.idTrainingAssessmentMethod}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titems={this.state.appAssessmentMethod}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.appAssessmentMethod == null || this.state.isDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinvalid={validations.idTrainingAssessmentMethod != null}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{validations.idTrainingAssessmentMethod}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{showOtherAssessment && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{validations.specifyOtherAssessmentMethod}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/*
    \r\n
    \r\n

    Trainer

    \r\n
    \r\n
    */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{!this.state.isDisabled && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.editTrainer();\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trenderIcon={Edit16}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tEdit Trainer\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTrainer Type\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTrainer Surname\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTrainer Name\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSignature\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tActions\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.model.trainer && this.state.model.trainer.type}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.model.trainer && this.state.model.trainer.surname}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.model.trainer && this.state.model.trainer.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{showModalSignature && this.state.model.trainer && this.state.model.trainer.signatureAttachment && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{showModalSignature && !this.state.isDisabled && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.editTrainerSign()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"bx--btn--icon-only\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trenderIcon={PaintBrushAlt16}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticonDescription=\"Edit Signature\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Edit Signature\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkind=\"ghost\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    {validations.trainer}
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{showModalSignature && }\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    Course Contents

    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{!this.state.isDisabled && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.addContent();\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trenderIcon={Add16}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAdd new\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tContent\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tActions\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{trainingContents == null || trainingContents.length == 0 ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrainingContents.map((item, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.content && item.content.substr(0, 200)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{!this.state.isDisabled && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.editContent(item.id)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trenderIcon={Edit16}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticonDescription=\"Edit\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Edit\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkind=\"ghost\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.confirmDeleteContent(item.id)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trenderIcon={Delete16}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticonDescription=\"Delete\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Delete\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkind=\"ghost\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    Training Participant

    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.isEdit && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDownload All Certificates\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.TRAINING, apioperation.DOWNLOAD));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trenderIcon={Download16}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Download Training Participant\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tapiUrl={`/training/${this.state.model.id}/template`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfileName=\"TrainingPartecipantTemplate.xlsx\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonDownLoadStart={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdownloadTemplateLoading: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonDownLoadEnd={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdownloadTemplateLoading: false,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{!this.state.downloadTemplateLoading ? '' : }\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* RITM0992772 - Participants Without Assessment For Submitted Training Fix */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* {this.state.isEdit && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.toggleModalUploadTemplate(true)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)} */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.state.isEdit && !this.state.isDisabled && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t this.toggleModalUploadTemplate(true)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* End */}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{!this.state.isDisabled && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.addParticipant();\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trenderIcon={Add16}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAdd new\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tType\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSurname\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tBadge Number / Company\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tJob Position\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAssessment\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSignature\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tActions\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSAIPEM PERSONNEL\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.renderParticipants(true, trainingParticipants)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(SUB) CONTRACTOR PERSONNEL / PARTNERS\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.renderParticipants(false, trainingParticipants)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{modalParticipantsSignatureProps.editModel && }\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* RITM0562378 */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    Attachments

    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* FINE RITM0562378 */}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
    \r\n\t\t);\r\n\t}\r\n}\r\n\r\nNewTraining.contextType = AppContext;\r\n","import { Delete16, Download16 } from \"@carbon/icons-react\";\r\nimport { Button, DropdownSkeleton, FormGroup, FormLabel, Table, TableBody, TableCell, TableContainer, TableHead, TableHeader, TableRow, TextInputSkeleton } from \"carbon-components-react\";\r\nimport PropTypes from \"prop-types\";\r\nimport React, { Component } from \"react\";\r\nimport { registry } from \"../../helpers/api/api\";\r\nimport { apioperation, entitiesLabels, getError, Megabyte } from \"../../helpers/Constants\";\r\nimport { NoRecordsPlaceholder } from \"../../helpers/jsonschemaform/DataTableExtention\";\r\nimport showNotification from \"../../helpers/notification/BaseNotification\";\r\nimport FileDownLoadButton from \"./FileDownloadButton\";\r\nimport FileUpload from \"./FileUpload\";\r\nimport { Online } from \"./OnLineOffLine\";\r\n\r\nexport const attachmentTablePrivacyText = \"(It is forbidden to upload photos which show people's faces. It is also forbidden to upload photos on which it is possible to recognize specific people)\"\r\nexport default class NewAttachmentTable extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\tappStatus: null,\r\n\t\t};\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t\tthis.getStatus();\r\n\t}\r\n\r\n\tgetStatus = () => {\r\n\t\tregistry\r\n\t\t\t.getAll(\"status\")\r\n\t\t\t.then((response) => {\r\n\t\t\t\tconst { data } = response;\r\n\t\t\t\tthis.setState({ appStatus: data });\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.STATUS, apioperation.GET));\r\n\t\t\t});\r\n\t};\r\n\r\n\tremove = (id) => this.props.onDeleteFile(id);\r\n\r\n\tonUpload = (fileIdentifier, fileName, fileType, size) => {\r\n\t\tthis.props.onUploadFIle(fileIdentifier, fileName, fileType, size);\r\n\t};\r\n\r\n\tsumAttachmentSize = (onlyImage = false) => {\r\n\t\tlet sum = 0\r\n\t\tif(onlyImage) sum = this.props.items?.filter(a => a.contentType.includes('image') && a.size).reduce((sum, item) => sum + +item?.size, 0);\r\n\t\telse sum = this.props.items?.reduce((prevSum, item) => prevSum + +item?.size, 0);\r\n\t\treturn sum;\r\n\t};\r\n\r\n\trenderUploadFile() {\r\n\t\tif (!this.props.model) return ;\r\n\t\tif (!this.state.appStatus) return ;\r\n\t\tconst canUploadOtherDocument = this.props.maxUploadDocument == null ? true : (this.props.items?.length ?? 0) < this.props.maxUploadDocument;\r\n\t\tconsole.log(canUploadOtherDocument)\r\n\t\tconsole.log(this.props.isDisabled)\r\n\t\treturn (\r\n\t\t\tcanUploadOtherDocument &&\r\n\t\t\t!this.props.isDisabled && (\r\n\t\t\t\t\r\n\t\t\t)\r\n\t\t);\r\n\t}\r\n\r\n\trender() {\r\n\t\tconst isDocumentTypeSpecified = this.props.items?.some((item) => item?.documentType);\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t
    \r\n\t\t\t\t\t{this.renderUploadFile()}\r\n\t\t\t\t
    \r\n\r\n\t\t\t\t
    \r\n\t\t\t\t\tAttachments\r\n\t\t\t\t\t{!this.props.model ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : !this.state.appStatus ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tName\r\n\t\t\t\t\t\t\t\t\t\t{isDocumentTypeSpecified && Document Type}\r\n\t\t\t\t\t\t\t\t\t\tActions\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{this.props.items == null || this.props.items.length === 0 ? (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\tthis.props.items.map((item) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{item?.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{isDocumentTypeSpecified && {item?.documentType ?? \"\"}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t showNotification.error(getError(error, null, apioperation.DOWNLOAD))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trenderIcon={Download16}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticonDescription=\"Download\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkind=\"ghost\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tapiUrl={this.props.apiDownloadUrl + item?.fileIdentifier}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfileName={item?.name}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonDownLoadStart={() => {}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonDownLoadEnd={() => {}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t))\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\t\t\t\t
    \r\n\t\t\t\r\n\t\t);\r\n\t}\r\n}\r\n\r\nNewAttachmentTable.propTypes = {\r\n\tmodel: PropTypes.object,\r\n\titems: PropTypes.array,\r\n\tapiDownloadUrl: PropTypes.string,\r\n\tisDisabled: PropTypes.bool,\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport { DropdownSkeleton, ComboBox } from 'carbon-components-react';\r\nimport PropTypes from 'prop-types';\r\nimport AuditRepository from '../../../helpers/api/AuditRepository';\r\n\r\nexport default class OnBehalfWorkSiteComboBox extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n items: [],\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n this.repository = new AuditRepository();\r\n }\r\n\r\n async componentDidMount() {\r\n if (!this.props.division) return;\r\n this.setState({ loading: true });\r\n const items = await this.getItems();\r\n this.setState({ items, loading: false });\r\n }\r\n\r\n onChange = (selectedItem) => {\r\n const item = selectedItem ? selectedItem.selectedItem : null;\r\n this.props.onChange(item);\r\n };\r\n\r\n getItems = async () => {\r\n let items = [];\r\n try {\r\n items = await this.repository.getWorkSites(this.props.division);\r\n } catch (error) {\r\n console.error(error);\r\n this.props.onError(error);\r\n }\r\n return items;\r\n };\r\n\r\n render() {\r\n return this.state.loading ? (\r\n \r\n ) : (\r\n \r\n item.name.toLowerCase().includes(inputValue.toLowerCase()) ||\r\n item.code.toLowerCase().includes(inputValue.toLowerCase())\r\n }\r\n itemToString={(item) => (item ? item && item.name : '')}\r\n selectedItem={this.props.selectedItem}\r\n />\r\n );\r\n }\r\n}\r\n\r\nOnBehalfWorkSiteComboBox.propTypes = {\r\n division: PropTypes.string.isRequired,\r\n invalid: PropTypes.bool,\r\n invalidText: PropTypes.string,\r\n onChange: PropTypes.func.isRequired,\r\n onError: PropTypes.func.isRequired,\r\n selectedItem: PropTypes.object,\r\n disabled: PropTypes.bool,\r\n};\r\nOnBehalfWorkSiteComboBox.defaultProps = {\r\n invalid: false,\r\n invalidText: '',\r\n selectedItem: null,\r\n disabled: true,\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport { MultiSelect, DropdownSkeleton } from 'carbon-components-react';\r\nimport PropTypes from 'prop-types';\r\nimport AuditRepository from '../../../helpers/api/AuditRepository';\r\n\r\nexport default class ProcessMultiSelect extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n items: [],\r\n selectedItems: [],\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n this.repository = new AuditRepository();\r\n }\r\n\r\n async componentDidMount() {\r\n this.setState({ loading: true });\r\n const items = await this.getItems();\r\n this.setState({ items, selectedItems: this.props.initialSelectedItems, loading: false });\r\n }\r\n\r\n onChange = (selectedItem) => {\r\n const items = selectedItem ? selectedItem.selectedItems : null;\r\n this.setState({\r\n selectedItems: items,\r\n });\r\n this.props.onChange(items);\r\n };\r\n\r\n getItems = async () => {\r\n let items = [];\r\n try {\r\n items = await this.repository.getProcesses();\r\n } catch (error) {\r\n console.error(error);\r\n this.props.onError(error);\r\n }\r\n return items;\r\n };\r\n\r\n render() {\r\n return this.state.loading ? (\r\n \r\n ) : (\r\n elem.name).join(', ')\r\n }\r\n itemToString={(item) => (item ? item && item.name : '')}\r\n items={this.state.items}\r\n light={false}\r\n onChange={this.onChange}\r\n type=\"default\"\r\n initialSelectedItems={this.props.initialSelectedItems}\r\n />\r\n );\r\n }\r\n}\r\n\r\nProcessMultiSelect.propTypes = {\r\n invalid: PropTypes.bool,\r\n invalidText: PropTypes.string,\r\n onChange: PropTypes.func.isRequired,\r\n onError: PropTypes.func.isRequired,\r\n initialSelectedItems: PropTypes.array,\r\n disabled: PropTypes.bool,\r\n};\r\nProcessMultiSelect.defaultProps = {\r\n invalid: false,\r\n invalidText: '',\r\n initialSelectedItems: [],\r\n disabled: true,\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport { MultiSelect, DropdownSkeleton } from 'carbon-components-react';\r\nimport PropTypes from 'prop-types';\r\nimport AuditRepository from '../../../helpers/api/AuditRepository';\r\n\r\nexport default class FunctionMultiSelect extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n items: [],\r\n selectedItems: [],\r\n lengthProcesses:0\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n this.repository = new AuditRepository();\r\n }\r\n\r\n async componentDidMount() {\r\n this.setState({ loading: true });\r\n const items = await this.getItems();\r\n this.setState({ items, selectedItems: this.props.initialSelectedItems.functions, lengthProcesses: this.props.initialSelectedItems.processes.length,loading: false });\r\n }\r\n\r\n onChange = (selectedItem) => {\r\n const items = selectedItem ? selectedItem.selectedItems : null;\r\n this.setState({\r\n selectedItems: items,\r\n });\r\n this.props.onChange(items);\r\n };\r\n\r\n getItems = async () => {\r\n let items = [];\r\n try {\r\n items = await this.repository.getFunctions();\r\n } catch (error) {\r\n console.error(error);\r\n this.props.onError(error);\r\n }\r\n return items;\r\n };\r\n \r\n render() {\r\n if(this.props.initialSelectedItems.processes.length!==this.state.lengthProcesses && this.state.selectedItems?.length > 0)\r\n {\r\n this.state.lengthProcesses= this.props.initialSelectedItems.processes.length;\r\n var selectedItem = {selectedItems:this.state.selectedItems.filter((a)=> this.props.initialSelectedItems.processes.some((b)=>b.id===a.idAuditProcess))}\r\n this.onChange(selectedItem);\r\n } \r\n return this.state.loading ? (\r\n \r\n ) : (\r\n elem.name).join(', ')\r\n }\r\n itemToString={(item) => (item ? item && item.name : '')}\r\n items={this.state.items.filter((elA)=>this.props.initialSelectedItems.processes.some((elB)=>elB.id===elA.idAuditProcess))}\r\n light={false}\r\n onChange={this.onChange}\r\n type=\"default\"\r\n initialSelectedItems={this.props.initialSelectedItems.functions}\r\n />\r\n );\r\n }\r\n}\r\n\r\nFunctionMultiSelect.propTypes = {\r\n invalid: PropTypes.bool,\r\n invalidText: PropTypes.string,\r\n onChange: PropTypes.func.isRequired,\r\n onError: PropTypes.func.isRequired,\r\n initialSelectedItems: PropTypes.array,\r\n disabled: PropTypes.bool,\r\n};\r\nFunctionMultiSelect.defaultProps = {\r\n invalid: false,\r\n invalidText: '',\r\n initialSelectedItems: [],\r\n disabled: true,\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Button,\r\n TextInput,\r\n FormGroup,\r\n FormLabel,\r\n DropdownSkeleton,\r\n ComboBox,\r\n MultiSelect,\r\n} from 'carbon-components-react';\r\nimport Add16 from '@carbon/icons-react/lib/add/16';\r\nimport AuditRepository from '../../../helpers/api/AuditRepository';\r\nimport { apioperation, entitiesLabels, getError } from '../../../helpers/Constants';\r\nimport { api } from '../../../helpers/api/api';\r\nimport { showNotification } from '../../../helpers/notification/BaseNotification';\r\nimport Close16 from '@carbon/icons-react/lib/close/16';\r\n\r\nexport default class AuditSubcontractor extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n selectedSubContractor: null,\r\n selectedPurchaseOrder: null,\r\n purchaseOrder: null,\r\n auditSubcontractors: this.props.auditSubcontractors,\r\n subcontractors: [],\r\n purchaseOrders: [], //RITM0646764\r\n refreshSubContractor: 0, //RITM0646764\r\n refreshPurchaseOrder: 0, //RITM0646764\r\n isVisibleModal: false, //RITM0646764\r\n };\r\n this.repository = new AuditRepository();\r\n }\r\n\r\n async componentDidMount() {\r\n this.setState({ loading: true });\r\n const subcontractors = await this.getItems();\r\n this.setState({ subcontractors, loading: false });\r\n }\r\n\r\n addSubcontractors = () => { \r\n if(this.state.selectedPurchaseOrder !== null){\r\n let isExsist = false;\r\n for (let i = 0; i < this.state.selectedPurchaseOrder.length; i++) {\r\n let auditSubContractor = this.state.auditSubcontractors?.find(x => x.name === this.state.selectedSubContractor.name && x.purchaseOrder === this.state.selectedPurchaseOrder[i].name);\r\n if(auditSubContractor !== undefined && auditSubContractor !== null){\r\n isExsist = true;\r\n }\r\n }\r\n\r\n if(isExsist){\r\n showNotification.error('SubContractor - Purchase Order already entered');\r\n return false;\r\n }\r\n }\r\n \r\n this.setState((prevState) => {\r\n const { auditSubcontractors } = prevState;\r\n prevState.selectedPurchaseOrder.forEach(item => {\r\n let newItem = {\r\n id: prevState.selectedSubContractor.id,\r\n name: prevState.selectedSubContractor.name,\r\n purchaseOrder: item.name,\r\n idPurchaseOrder: item.id\r\n };\r\n auditSubcontractors.push(newItem);\r\n });\r\n \r\n let { subcontractors } = prevState;\r\n let { selectedSubContractor } = prevState;\r\n let { purchaseOrders } = prevState;\r\n let { selectedPurchaseOrder } = prevState;\r\n let { purchaseOrder } = prevState;\r\n let { refreshSubContractor } = prevState;\r\n let { refreshPurchaseOrder } = prevState;\r\n\r\n const itemsId = auditSubcontractors.map((filter) => filter.idPurchaseOrder);\r\n\r\n selectedSubContractor = null;\r\n selectedPurchaseOrder = null;\r\n purchaseOrders = purchaseOrders?.filter((item) => !itemsId.includes(item.id));\r\n purchaseOrder = null;\r\n refreshSubContractor++;\r\n refreshPurchaseOrder++;\r\n\r\n return { auditSubcontractors, subcontractors, selectedSubContractor, purchaseOrders, selectedPurchaseOrder, purchaseOrder, refreshSubContractor, refreshPurchaseOrder };\r\n }, () => this.props.onChange(this.state.auditSubcontractors));\r\n };\r\n\r\n addManualSubcontractors = () => { \r\n let isSAPExsist = this.state.purchaseOrders?.find(x => x.name === this.state.purchaseOrder);\r\n if(isSAPExsist !== undefined && isSAPExsist !== null){\r\n showNotification.error('Purchase Order already exists in SAP');\r\n return false;\r\n }\r\n \r\n let isExsist = this.state.auditSubcontractors?.find(x => x.name === this.state.selectedSubContractor?.name && x.purchaseOrder === this.state.purchaseOrder)\r\n if(isExsist !== undefined && isExsist !== null){\r\n showNotification.error('SubContractor - Purchase Order already entered');\r\n return false;\r\n }\r\n\r\n this.setState((prevState) => {\r\n const newItem = {\r\n id: prevState.selectedSubContractor.id,\r\n name: prevState.selectedSubContractor.name,\r\n purchaseOrder: prevState.purchaseOrder,\r\n idPurchaseOrder: null,\r\n };\r\n\r\n const { auditSubcontractors } = prevState;\r\n auditSubcontractors.push(newItem);\r\n let { subcontractors } = prevState;\r\n let { selectedSubContractor } = prevState;\r\n let { purchaseOrders } = prevState;\r\n let { selectedPurchaseOrder } = prevState;\r\n let { purchaseOrder } = prevState;\r\n let { refreshSubContractor } = prevState;\r\n let { refreshPurchaseOrder } = prevState;\r\n\r\n selectedSubContractor = null;\r\n selectedPurchaseOrder = null;\r\n purchaseOrder = null;\r\n refreshSubContractor++;\r\n refreshPurchaseOrder++;\r\n\r\n return { auditSubcontractors, subcontractors, selectedSubContractor, purchaseOrders, selectedPurchaseOrder, purchaseOrder, refreshSubContractor, refreshPurchaseOrder };\r\n }, () => {\r\n this.props.onChange(this.state.auditSubcontractors);\r\n this.handleOnCloseModal();\r\n });\r\n };\r\n\r\n getItems = async () => {\r\n let filtered = [];\r\n try {\r\n const items = await this.repository.getSubcontractors();\r\n filtered = items;\r\n } catch (error) {\r\n console.error(error);\r\n this.props.onError(error);\r\n }\r\n return filtered.sort((a, b) => a.name.localeCompare(b.name));\r\n };\r\n\r\n getPurchaseOrders = (idSubcontractor) => {\r\n let filtered = [];\r\n \r\n if(idSubcontractor === null){\r\n this.setState({\r\n purchaseOrders: filtered,\r\n });\r\n return;\r\n } \r\n\r\n api.getAll('/audit/getpurchaseorders/' + idSubcontractor)\r\n .then((response) => {\r\n const { data } = response;\r\n const itemsId = this.state.auditSubcontractors.map((filter) => filter.idPurchaseOrder);\r\n filtered = data.filter((item) => !itemsId.includes(item.id));\r\n this.setState({\r\n purchaseOrders: filtered.sort((a, b) => a.name.localeCompare(b.name)),\r\n }); \r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.PURCHASEORDERS, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {});\r\n }\r\n\r\n handleOnChangeSubContractor = (event) => {\r\n this.setState((prevState) => { \r\n const curState = prevState;\r\n curState.selectedSubContractor = event.selectedItem || null;\r\n curState.refreshPurchaseOrder++; \r\n return { curState };\r\n }, () => { this.getPurchaseOrders(event?.selectedItem?.id || null); })\r\n }\r\n\r\n handleOnChangePurchaseOrder = (event, type) => {\r\n if(type === 'txt'){\r\n const val = event.target.value;\r\n this.setState((prevState) => {\r\n const curState = prevState;\r\n curState.purchaseOrder = val || null;\r\n return { curState };\r\n });\r\n }\r\n\r\n if(type === 'cmb'){\r\n this.setState((prevState) => { \r\n const curState = prevState;\r\n curState.selectedPurchaseOrder = event.selectedItems || null;\r\n return { curState };\r\n })\r\n }\r\n }\r\n\r\n handleDelete = (item) => {\r\n this.setState((prevState) => {\r\n const { auditSubcontractors } = prevState;\r\n const index = auditSubcontractors.findIndex((el) => el.id === item.id && el.idPurchaseOrder === item.idPurchaseOrder && el.name === item.name && el.purchaseOrder === item.purchaseOrder);\r\n auditSubcontractors.splice(index, 1);\r\n \r\n const { subcontractors } = prevState;\r\n let { selectedSubContractor } = prevState;\r\n let { purchaseOrders } = prevState;\r\n let { selectedPurchaseOrder } = prevState;\r\n let { purchaseOrder } = prevState;\r\n let { refreshSubContractor } = prevState;\r\n let { refreshPurchaseOrder } = prevState;\r\n\r\n subcontractors.sort((a, b) => a.name.localeCompare(b.name));\r\n selectedSubContractor = null;\r\n selectedPurchaseOrder = null;\r\n purchaseOrders = [];\r\n purchaseOrder = null;\r\n refreshSubContractor++;\r\n refreshPurchaseOrder++;\r\n\r\n return { auditSubcontractors, subcontractors, selectedSubContractor, purchaseOrders, selectedPurchaseOrder, purchaseOrder, refreshSubContractor, refreshPurchaseOrder };\r\n },() => this.props.onChange(this.state.auditSubcontractors));\r\n };\r\n\r\n handleOnCloseModal = () => {\r\n this.setState((prevState) => {\r\n let { subcontractors } = prevState;\r\n let { selectedSubContractor } = prevState;\r\n let { purchaseOrders } = prevState;\r\n let { selectedPurchaseOrder } = prevState;\r\n let { purchaseOrder } = prevState;\r\n let { refreshSubContractor } = prevState;\r\n let { refreshPurchaseOrder } = prevState;\r\n let { isVisibleModal } = prevState;\r\n\r\n selectedSubContractor = null;\r\n selectedPurchaseOrder = null;\r\n purchaseOrders = [];\r\n purchaseOrder = null;\r\n refreshSubContractor++;\r\n refreshPurchaseOrder++;\r\n isVisibleModal = false;\r\n\r\n return { subcontractors, selectedSubContractor, purchaseOrders, selectedPurchaseOrder, purchaseOrder, refreshSubContractor, refreshPurchaseOrder, isVisibleModal };\r\n });\r\n }\r\n\r\n handleOnOpenModal = () => {\r\n this.setState((prevState) => {\r\n let { subcontractors } = prevState;\r\n let { selectedSubContractor } = prevState;\r\n let { purchaseOrders } = prevState;\r\n let { selectedPurchaseOrder } = prevState;\r\n let { purchaseOrder } = prevState;\r\n let { refreshSubContractor } = prevState;\r\n let { refreshPurchaseOrder } = prevState;\r\n let { isVisibleModal } = prevState;\r\n\r\n selectedSubContractor = null;\r\n selectedPurchaseOrder = null;\r\n purchaseOrders = [];\r\n purchaseOrder = null;\r\n refreshSubContractor++;\r\n refreshPurchaseOrder++;\r\n isVisibleModal = true;\r\n\r\n return { subcontractors, selectedSubContractor, purchaseOrders, selectedPurchaseOrder, purchaseOrder, refreshSubContractor, refreshPurchaseOrder, isVisibleModal };\r\n });\r\n }\r\n\r\n renderManualInputModal = () => \r\n this.state.isVisibleModal && (\r\n
    \r\n
    \r\n
    \r\n

    New Purchase Order

    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n Subcontractor/Supplier *\r\n this.handleOnChangeSubContractor(event)}\r\n id=\"cmbSubcontractor\"\r\n disabled={this.props.disabled}\r\n items={this.state.subcontractors}\r\n key={this.state.refreshSubContractor}\r\n itemToString={(item) => (item ? item && item.name : \"\")}\r\n placeholder=\"Select a Subcontractor/Supplier\"\r\n invalid={this.props.invalid}\r\n invalidText={this.props.invalidText}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n Purchase Order *\r\n this.handleOnChangePurchaseOrder(event, 'txt')}\r\n key={this.state.refreshPurchaseOrder}\r\n disabled={this.props.disabled || this.state.selectedSubContractor == null}\r\n invalid={this.props.invalid}\r\n invalidText={this.props.invalidText}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n \r\n\r\n render() {\r\n return this.state.loading ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n
    \r\n {this.renderManualInputModal()}\r\n
    \r\n \r\n Subcontractor/Supplier *\r\n this.handleOnChangeSubContractor(event)}\r\n id=\"cmbSubcontractor\"\r\n disabled={this.props.disabled}\r\n items={this.state.subcontractors}\r\n key={this.state.refreshSubContractor}\r\n itemToString={(item) => (item ? item && item.name : \"\")}\r\n placeholder=\"Select a Subcontractor/Supplier\"\r\n invalid={this.props.invalid}\r\n invalidText={this.props.invalidText}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n Purchase Order *\r\n elem.name).join(', ')\r\n }\r\n itemToString={(item) => (item ? item && item.name : '')}\r\n items={this.state.purchaseOrders}\r\n key={this.state.refreshPurchaseOrder}\r\n light={false}\r\n onChange={(event) => this.handleOnChangePurchaseOrder(event, 'cmb')}\r\n type=\"default\"\r\n invalid={this.props.invalid}\r\n invalidText={this.props.invalidText}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n \r\n Manual input\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n {this.state.auditSubcontractors.map((item) => (\r\n
    \r\n {`${item.name} - ${item.purchaseOrder}`}\r\n {this.props.disabled ? null : (\r\n this.handleDelete(item)}\r\n >\r\n ×\r\n \r\n )}\r\n
    \r\n ))}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\nAuditSubcontractor.propTypes = {\r\n invalid: PropTypes.bool,\r\n invalidText: PropTypes.string,\r\n onChange: PropTypes.func.isRequired,\r\n auditSubcontractors: PropTypes.array,\r\n onError: PropTypes.func.isRequired,\r\n disabled: PropTypes.bool,\r\n};\r\nAuditSubcontractor.defaultProps = {\r\n invalid: false,\r\n invalidText: '',\r\n auditSubcontractors: [],\r\n disabled: true,\r\n};\r\n","/* eslint-disable react/forbid-prop-types */\r\nimport React, { Component } from \"react\";\r\nimport { v4 as uuid } from \"uuid\";\r\nimport SimpleReactValidator from \"simple-react-validator\";\r\nimport { Button, FormLabel, ComboBox, FormGroup, Loading, TextArea, TextInput, DataTableSkeleton, Checkbox } from \"carbon-components-react\";\r\nimport Add16 from \"@carbon/icons-react/lib/add/16\";\r\nimport Edit16 from \"@carbon/icons-react/lib/edit/16\";\r\nimport Error16 from \"@carbon/icons-react/lib/error/16\";\r\nimport Data16 from \"@carbon/icons-react/lib/data--1/16\";\r\nimport Send16 from \"@carbon/icons-react/lib/send/16\";\r\nimport Close16 from \"@carbon/icons-react/lib/close/16\";\r\nimport Delete16 from \"@carbon/icons-react/lib/delete/16\";\r\nimport Task16 from \"@carbon/icons-react/lib/task/16\";\r\nimport Report16 from \"@carbon/icons-react/lib/report/16\";\r\nimport ExportDoc16 from \"@carbon/icons-react/lib/document--export/16\";\r\nimport Archive16 from \"@carbon/icons-react/lib/archive/16\";\r\nimport CheckmarkOutline16 from \"@carbon/icons-react/lib/checkmark--outline/16\";\r\nimport PropTypes, { object } from \"prop-types\";\r\nimport Save16 from \"@carbon/icons-react/lib/save/16\";\r\nimport { Information16 } from \"@carbon/icons-react\";\r\nimport { api, me } from \"../../helpers/api/api\";\r\nimport { showNotification } from \"../../helpers/notification/BaseNotification\";\r\nimport { getSuccess, getError, entitiesLabels, apioperation, STATUS, AuditSection, TEAM_LEADER } from \"../../helpers/Constants\";\r\nimport WorkSiteMultiSelect from \"./common/WorkSiteMultiSelect\";\r\nimport ProjectMultiSelect from \"./common/ProjectMultiSelect\";\r\nimport AuditorComboBox from \"./common/AuditorComboBox\";\r\nimport CompanyComboBox from \"./common/CompanyComboBox\";\r\nimport DivisionComboBox from \"./common/DivisionComboBox\";\r\nimport SectionComboBox from \"./common/SectionComboBox\";\r\nimport AuditScopeMultiSelect from \"./common/AuditScopeMultiSelect\";\r\nimport AuditTypeComboBox from \"./common/AuditTypeComboBox\";\r\nimport AuditTargetDropDown from \"./common/AuditTargetDropDown\";\r\nimport { CanExecuteAction, IsEditable, IsEnabled } from \"../../helpers/authorization/Policies\";\r\nimport NewAttachmentTable, { attachmentTablePrivacyText } from \"../common/NewAttachmentTable\";\r\nimport PageBreadCrumb, { StatusTag } from \"../../helpers/PageBreadCrumb\";\r\nimport { HistoryTable } from \"../../helpers/HistoryTable\";\r\nimport EmailChips from \"../../helpers/EmailChips\";\r\nimport AuditRepository from \"../../helpers/api/AuditRepository\";\r\nimport ReasonForSamplingMultiSelect from \"./common/ReasonForSamplingMultiSelect\";\r\nimport { AppContext } from \"../../helpers/context/AppContext\";\r\nimport { Online } from \"../common/OnLineOffLine\";\r\nimport { WFActionModal } from \"../common/WFActionModal\";\r\nimport { Menu, Item } from \"../../helpers/scrolling/ScrollingMenuItem\";\r\nimport { ScrollingProvider, Section } from \"../../lib/react-scroll-section/src/index\";\r\nimport OnBehalfDivisionComboBox from \"./common/OnBehalfDivisionComboBox\";\r\nimport OnBehalfWorkSiteComboBox from \"./common/OnBehalfWorkSiteComboBox\";\r\nimport OnBehalfProjectComboBox from \"./common/OnBehalfProjectComboBox\";\r\nimport ProcessMultiSelect from \"./common/ProcessMultiSelect\";\r\nimport FunctionMultiSelect from \"./common/FunctionMultiSelect\";\r\nimport AuditSubcontractor from \"./common/AuditSubcontractor\";\r\nimport DownLoadButton from '../common/FileDownloadButton';\r\n\r\nconst AuditAttachmentTableMainDescription = \"Upload only one file at 3 Mb or less; please check the file attached before to submit the report because afterwards it is not possible to modify it\"\r\nexport default class AuditProgram extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.onSelectCompanyChange = this.onSelectCompanyChange.bind(this);\r\n\t\tthis.onSelectDivisionChange = this.onSelectDivisionChange.bind(this);\r\n\t\tthis.onSelectAuditTypeChange = this.onSelectAuditTypeChange.bind(this);\r\n\t\tthis.onSelectSectionChange = this.onSelectSectionChange.bind(this);\r\n\t\tthis.onSelectWorkSiteChange = this.onSelectWorkSiteChange.bind(this);\r\n\t\tthis.onSelectScopeChange = this.onSelectScopeChange.bind(this);\r\n\t\tthis.handleSelectedYear = this.handleSelectedYear.bind(this);\r\n\t\tthis.handleSelectedMonth = this.handleSelectedMonth.bind(this);\r\n\t\tthis.onSelectProjectChange = this.onSelectProjectChange.bind(this);\r\n\t\tthis.onSelectDistributionListChange = this.onSelectDistributionListChange.bind(this);\r\n\t\tthis.onSelectAuditorChange = this.onSelectAuditorChange.bind(this);\r\n\t\tthis.onSelectTargetChange = this.onSelectTargetChange.bind(this);\r\n\t\tthis.onSelectProcessChange = this.onSelectProcessChange.bind(this);\r\n\t\tthis.onSelectFunctionChange = this.onSelectFunctionChange.bind(this);\r\n\t\tthis.onAuditScopeObjectiveChange = this.onAuditScopeObjectiveChange.bind(this);\r\n\t\tthis.handleSubmit = this.handleSubmit.bind(this);\r\n\t\tthis.monthToString = this.monthToString.bind(this);\r\n\t\tthis.monthToNumber = this.monthToNumber.bind(this);\r\n\t\tthis.saveAudit = this.saveAudit.bind(this);\r\n\t\tthis.updateAudit = this.updateAudit.bind(this);\r\n\t\tthis.renderLoadingModal = this.renderLoadingModal.bind(this);\r\n\t\tthis.onSelectReasonChange = this.onSelectReasonChange.bind(this);\r\n\t\tthis.onOtherHSEIssuesTextChange = this.onOtherHSEIssuesTextChange.bind(this);\r\n\t\tthis.onSelectMailCCChange = this.onSelectMailCCChange.bind(this);\r\n\t\tthis.repository = new AuditRepository();\r\n\t\tthis.validator = new SimpleReactValidator({\r\n\t\t\tvalidators: {\r\n\t\t\t\temails: {\r\n\t\t\t\t\t// name the rule\r\n\t\t\t\t\tmessage: \"The :attribute must be a valid email address list semicolon separated\",\r\n\t\t\t\t\trule: (val, params, validator) =>\r\n\t\t\t\t\t\tvalidator.helpers.testRegex(\r\n\t\t\t\t\t\t\tval,\r\n\t\t\t\t\t\t\t// eslint-disable-next-line no-useless-escape\r\n\t\t\t\t\t\t\t/^(([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)(\\s*;\\s*|\\s*$))+$/i\r\n\t\t\t\t\t\t) && params.indexOf(val) === -1,\r\n\t\t\t\t\trequired: true, // optional\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t});\r\n\r\n\t\tthis.months = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\r\n\t\tthis.state = {\r\n\t\t\tnewAudit: {\r\n\t\t\t\tid: uuid(),\r\n\t\t\t\tauditCode: null,\r\n\t\t\t\tprojectAuditCode: null,\r\n\t\t\t\tauditRemote: false,\r\n\t\t\t\tcompany: null,\r\n\t\t\t\tonBehalfCompany: null,\r\n\t\t\t\tdivision: {},\r\n\t\t\t\tonBehalfDivision: {},\r\n\t\t\t\tsection: {},\r\n\t\t\t\ttype: {},\r\n\t\t\t\tprojects: [],\r\n\t\t\t\tonBehalfProject: {},\r\n\t\t\t\tworksites: [],\r\n\t\t\t\tonBehalfWorkSite: null,\r\n\t\t\t\tauditor: {},\r\n\t\t\t\tscopes: [],\r\n\t\t\t\treasonsForSampling: [],\r\n\t\t\t\totherHSEIssues: null,\r\n\t\t\t\tsequence: 0,\r\n\t\t\t\tmonth: null,\r\n\t\t\t\tyear: null,\r\n\t\t\t\ttarget: {},\r\n\t\t\t\tdistributionList: null,\r\n\t\t\t\tmailCC: null,\r\n\t\t\t\tisHistoryModalOpen: false,\r\n\t\t\t\tidStatus: null,\r\n\t\t\t\tfunctions: [],\r\n\t\t\t\tprocesses: [],\r\n\t\t\t\tsubContractors: [],\r\n\t\t\t\tauditScopeAndObjective: \"\",\r\n\t\t\t\tplanAttachments: []\r\n\t\t\t},\r\n\t\t\tisSubmitted: true,\r\n\t\t\tisApprovalModalOpen: false,\r\n\t\t\tapprovalModalAction: \"\",\r\n\t\t\tapprover: null,\r\n\t\t\tapprovalStartDate: null,\r\n\t\t\tapprovalEndDate: null,\r\n\t\t\tisLoadingApproverOptions: true,\r\n\t\t\tapprovalValidationMessages: [],\r\n\t\t\tapprovers: [],\r\n\t\t\tselectedData: [],\r\n\t\t\tapproverRole: \"\",\r\n\t\t\twithApprover: true,\r\n\t\t\tisLoadingWFOperation: false,\r\n\t\t\tapprovalNotesRequired: false,\r\n\t\t\teditingAuditorDisabled: true,\r\n\t\t\teditingPlanAttachmentDisabled: true,\r\n\t\t\tisLoadingNotificationFile: false\r\n\t\t};\r\n\t\tthis.statuses = STATUS;\r\n\t\tconst year = new Date().getFullYear();\r\n\t\tthis.years = Array.from(new Array(5), (val, index) => (index + year).toString());\r\n\t}\r\n\r\n\tasync componentDidMount() {\r\n\t\tthis.setState({ isSubmitted: true });\r\n\t\tconst audit = await this.getAudit(this.props.match.params.id);\r\n\t\t//const userDivision = await this.repository.getAuditors(); //B1_Audit_Module_Optimization\r\n\t\tawait this.setState({\r\n\t\t\taudit,\r\n\t\t\t//userDivision, //B1_Audit_Module_Optimization\r\n\t\t\tnewAudit: {\r\n\t\t\t\tid: audit?.id || uuid(),\r\n\t\t\t\tauditCode: audit?.auditCode || null,\r\n\t\t\t\tprojectAuditCode: audit?.projectAuditCode || null,\r\n\t\t\t\tauditRemote: audit?.auditRemote || false,\r\n\t\t\t\tcompany: audit?.company || null,\r\n\t\t\t\tonBehalfCompany: audit?.onBehalfCompany || null,\r\n\t\t\t\tdivision: audit?.division || {},\r\n\t\t\t\tonBehalfDivision: audit ? audit.onBehalfDivision || {} : null,\r\n\t\t\t\tsection: audit?.auditSection || {},\r\n\t\t\t\ttype: audit?.auditType || {},\r\n\t\t\t\tprojects: audit?.projects || [],\r\n\t\t\t\tonBehalfProject: audit?.onBehalfProject || {},\r\n\t\t\t\tworksites: audit?.workSites || [],\r\n\t\t\t\tonBehalfWorkSite: audit?.onBehalfWorkSite || null,\r\n\t\t\t\tauditor: audit?.auditors.find((a) => a.teamLeader == true) || {},\r\n\t\t\t\tscopes: audit?.scopes || [],\r\n\t\t\t\treasonsForSampling: audit?.reasonsForSampling || [],\r\n\t\t\t\totherHSEIssues: audit?.otherHSEIssues,\r\n\t\t\t\tsequence: audit?.sequence || 0,\r\n\t\t\t\tmonth: this.monthToString(audit?.referenceMonth),\r\n\t\t\t\tyear: audit?.referenceYear.toString() || null,\r\n\t\t\t\ttarget: audit?.target || {},\r\n\t\t\t\tdistributionList: audit?.distributionList || null,\r\n\t\t\t\tmailCC: audit?.mailCC || null,\r\n\t\t\t\tisHistoryModalOpen: false,\r\n\t\t\t\tidStatus: audit?.idStatus || null,\r\n\t\t\t\tfunctions: audit?.functions || [],\r\n\t\t\t\tprocesses: audit?.processes || [],\r\n\t\t\t\tsubContractors: audit?.subContractors || [],\r\n\t\t\t\tauditScopeAndObjective: audit?.auditScopeAndObjective || \"\",\r\n\t\t\t\t//RITM0531919\r\n\t\t\t\tidDataApprover: audit?.idDataApprover || \"\",\r\n\t\t\t\t//---------\r\n\t\t\t\tplanAttachments: audit?.planAttachments || []\r\n\t\t\t},\r\n\t\t\tcheckListCompilerChanged: false,\r\n\t\t\tisSubmitted: false,\r\n\t\t\t// editingDisabled: audit\r\n\t\t\t// ? audit.idStatus === this.statuses.Consolidated\r\n\t\t\t// : false\r\n\t\t\teditingDisabled: audit ? !IsEditable(\"Audit\", \"Planning\", this.context.user, audit.status.id, \"All\", audit) : false,\r\n\t\t\teditingAuditorDisabled: audit ? audit.checkList?.idStatus > 2 || !IsEditable(\"Audit\", \"Planning\", this.context.user, audit.status.id, \"Auditor\", audit) : false,\r\n\t\t\teditingWorkSiteDisabled: audit ? audit.checkList?.notificationForm.sendedOn != null || !IsEditable(\"Audit\", \"Planning\", this.context.user, audit.status.id, \"WorkSite\", audit) : false,\r\n\t\t\teditingDateDisabled: audit ? !IsEditable(\"Audit\", \"Planning\", this.context.user, audit.status.id, \"Reference Date\", audit) : false,\r\n\t\t\teditingPlanAttachmentDisabled: false,\r\n\t\t});\r\n\t}\r\n\r\n\tmonthToString = (monthNumber) => this.months[monthNumber - 1] || \"\";\r\n\r\n\tmonthToNumber = (monthName) => this.months.indexOf(monthName) + 1;\r\n\r\n\tshowButtonHistory = () => (\r\n\t\t\r\n\t\t// this.openModalHistory()}>\r\n\t);\r\n\r\n\topenModalHistory = () => {\r\n\t\tthis.setState({ isHistoryModalOpen: true });\r\n\t};\r\n\r\n\tcloseModalHistory = () => {\r\n\t\tthis.setState({ isHistoryModalOpen: false });\r\n\t};\r\n\r\n\tgetAudit = async (id) => {\r\n\t\tlet audit = null;\r\n\r\n\t\ttry {\r\n\t\t\tif (id) audit = await this.repository.getAudit(id);\r\n\t\t\t// audit.auditorsNoSaipem.map((el) => {\r\n\t\t\t// audit.auditors.push({ ...el, id: uuid() });\r\n\t\t\t// });\r\n\r\n\t\t\t// audit.auditeeNoSaipem.map((el) => {\r\n\t\t\t// audit.auditees.push({ ...el, id: uuid() });\r\n\t\t\t// });\r\n\t\t} catch (error) {\r\n\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.REPORT, apioperation.GET));\r\n\t\t}\r\n\t\treturn audit;\r\n\t};\r\n\r\n\tgetStatusActions = (user) => (\r\n\t\t\r\n\t\t\t<>\r\n\t\t\t\t{CanExecuteAction(\"Audit\", \"Planning\", user, this.state.newAudit.idStatus, \"Submit\", this.state.newAudit) ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : null}\r\n\r\n\t\t\t\t{/* RITM0565449 */}\r\n\t\t\t\t{CanExecuteAction(\"Audit\", \"Planning\", user, this.state.newAudit.idStatus, \"Approve\", this.state.newAudit) ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : null}\r\n\r\n\t\t\t\t{/* RITM0565449 */}\r\n\t\t\t\t{CanExecuteAction(\"Audit\", \"Planning\", user, this.state.newAudit.idStatus, \"Consolidate\", this.state.newAudit) ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : null}\r\n\r\n\t\t\t\t{/* RITM0565449 */}\r\n\t\t\t\t{CanExecuteAction(\"Audit\", \"Planning\", user, this.state.newAudit.idStatus, \"RejectConsolidate\", this.state.newAudit) ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : null}\r\n\r\n\t\t\t\t{CanExecuteAction(\"Audit\", \"Planning\", user, this.state.newAudit.idStatus, \"Reject\", this.state.newAudit) ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : null}\r\n\r\n\t\t\t\t{CanExecuteAction(\"Audit\", \"Planning\", user, this.state.newAudit.idStatus, \"Delete\", this.state.newAudit) ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : null}\r\n\r\n\t\t\t\t{this.state.newAudit.idStatus != null ?\r\n\t\t\t\t {\r\n\t\t\t\t\t\tshowNotification.error(getError(error, entitiesLabels.AUDIT_PLAN, apioperation.DOWNLOAD));\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tsize=\"default\"\r\n\t\t\t\t\t\ticonDescription=\"Download Audit Program\"\r\n\t\t\t\t\t\ttitle=\"Download Audit Program\"\r\n\t\t\t\t\trenderIcon={ExportDoc16}\r\n\t\t\t\t\tapiUrl={`/audit/${this.state.newAudit.id}/exportplan`}\r\n\t\t\t\t\tfileName={`Audit_Programme_${this.state.newAudit.auditCode}.zip`}\r\n\t\t\t\t\tonDownLoadStart={() => {\r\n\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tisLoadingNotificationFile: true,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tonDownLoadEnd={() => {\r\n\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tisLoadingNotificationFile: false,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}}\r\n\t\t\t\t\t>\r\n\t\t\t\t\tDownload Audit Program\r\n\t\t\t\t\r\n\t\t\t\t: null}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n\r\n\tonSelectCompanyChange = (selectedItem) => {\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.company = selectedItem || null;\r\n\t\t\tnewAudit.projects = [];\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t};\r\n\r\n\tonBehalfCompanyChange = (selectedItem) => {\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.onBehalfCompany = selectedItem || null;\r\n\t\t\tnewAudit.onBehalfProject = null;\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t};\r\n\r\n\tonSelectDivisionChange = async (selectedItem) => {\r\n\t\tconst distributionList = selectedItem ? await this.repository.getProgramDistributionList(selectedItem.id) : [];\r\n\t\tconst toList = distributionList\r\n\t\t\t.filter((address) => {\r\n\t\t\t\tif (address.recipientType === \"To\") return true;\r\n\t\t\t\treturn false;\r\n\t\t\t})\r\n\t\t\t.map((address) => address.emailAddress)\r\n\t\t\t.join(\",\");\r\n\t\tconst ccList = distributionList\r\n\t\t\t.filter((address) => {\r\n\t\t\t\tif (address.recipientType === \"Cc\") return true;\r\n\t\t\t\treturn false;\r\n\t\t\t})\r\n\t\t\t.map((address) => address.emailAddress)\r\n\t\t\t.join(\",\");\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.division = selectedItem || {};\r\n\t\t\tnewAudit.worksites = [];\r\n\t\t\tnewAudit.auditor = {};\r\n\t\t\tnewAudit.distributionList = toList;\r\n\t\t\tnewAudit.mailCC = ccList;\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t};\r\n\r\n\tonBehalfDivisionChange = async (selectedItem) => {\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.onBehalfDivision = selectedItem || {};\r\n\t\t\tnewAudit.onBehalfWorkSite = null;\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t};\r\n\r\n\tonSelectAuditTypeChange = (selectedItem) => {\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.type = selectedItem || {};\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t};\r\n\r\n\tonSelectSectionChange = (selectedItem) => {\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.section = selectedItem || {};\r\n\t\t\tif (newAudit.section.id?.toLowerCase() !== AuditSection.QUALITY.id?.toLowerCase() || newAudit.section.id?.toLowerCase() !== AuditSection.HSEQ.id?.toLowerCase() ||newAudit.section.id?.toLowerCase() !== AuditSection.HSE.id?.toLowerCase()) {\r\n\t\t\t\tnewAudit.functions = [];\r\n\t\t\t\tnewAudit.processes = [];\r\n\t\t\t\tthis.validator.message(\"processes\", newAudit.processes[0], \"\");\r\n\t\t\t}\r\n\t\t\tnewAudit.scopes = [];\r\n\t\t\tnewAudit.type = {};\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t};\r\n\r\n\tonSelectWorkSiteChange = (selectedItems) => {\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.worksites = selectedItems || [];\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t};\r\n\r\n\tonBehalfWorkSiteChange = (selectedItem) => {\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.onBehalfWorkSite = selectedItem;\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t};\r\n\r\n\tonSelectProjectChange = (selectedItems) => {\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.projects = selectedItems || [];\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t};\r\n\r\n\tonBehalfProjectChange = (selectedItem) => {\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.onBehalfProject = selectedItem;\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t};\r\n\r\n\tonSelectAuditorChange = (selectedItem) => {\r\n\t\tconst selectedAuditor = selectedItem;\r\n\t\tlet compilerChanged = false;\r\n\t\tif (selectedItem) {\r\n\t\t\tcompilerChanged = this.state.audit && this.state.audit.checkList && this.state.audit.checkList.idCompiler !== selectedAuditor.id;\r\n\t\t\tselectedAuditor.teamLeader = true;\r\n\t\t\tselectedAuditor.role = TEAM_LEADER;\r\n\t\t}\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.auditor = selectedAuditor || {};\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t\tif (compilerChanged == false) {\r\n\t\t\tthis.validator.message(\"Reasons for change\", this.state.newAudit.reasonsForChange, \"\");\r\n\t\t}\r\n\t\tthis.setState({ checkListCompilerChanged: compilerChanged });\r\n\t};\r\n\r\n\tonSelectTargetChange = (selectedItem) => {\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.target = selectedItem || {};\r\n\t\t\tif (newAudit.target.name !== \"Subconctractor/Supplier\") {\r\n\t\t\t\tnewAudit.subContractors = [];\r\n\t\t\t\tthis.validator.message(\"Subconctractor/Supplier\", newAudit.subContractors[0], \"\");\r\n\t\t\t}\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t};\r\n\r\n\tonSelectDistributionListChange = (e) => {\r\n\t\tconst val = e;\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.distributionList = val;\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t};\r\n\r\n\tonSelectMailCCChange = (e) => {\r\n\t\tconst val = e;\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.mailCC = val;\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t};\r\n\r\n\tonSelectReasonChange = (selectedItems) => {\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.reasonsForSampling = selectedItems || [];\r\n\t\t\tnewAudit.otherHSEIssues = newAudit.reasonsForSampling.findIndex((el) => el.name === \"Any other HSE issues\") !== -1 ? newAudit.otherHSEIssues : \"\";\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t};\r\n\r\n\tonOtherHSEIssuesTextChange = (text) => {\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.otherHSEIssues = text;\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t};\r\n\r\n\tonReasonForChangeChange = (e) => {\r\n\t\tconst val = e.target.value;\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.reasonsForChange = val;\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t};\r\n\r\n\tonProjectAuditCodeChange = (e) => {\r\n\t\tconst val = e.target.value;\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.projectAuditCode = val;\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t};\r\n\r\n\tonAuditRemoteChange = (e) => {\r\n\t\tconst val = e;\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.auditRemote = val;\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t};\r\n\r\n\tonSelectSubContractorsChange = (e) => {\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.subContractors = e || []\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t};\r\n\r\n\thandleSelectedMonth = (selectedItem) => {\r\n\t\tlet month;\r\n\t\ttry {\r\n\t\t\tmonth = selectedItem.selectedItem;\r\n\t\t} catch (error) {\r\n\t\t\tmonth = null;\r\n\t\t}\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.month = month;\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t};\r\n\r\n\thandleSelectedYear = (selectedItem) => {\r\n\t\tlet year;\r\n\t\ttry {\r\n\t\t\tyear = selectedItem.selectedItem;\r\n\t\t} catch (error) {\r\n\t\t\tyear = null;\r\n\t\t}\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.year = year;\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t};\r\n\r\n\tonSelectScopeChange = (selectedItems) => {\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.scopes = selectedItems || [];\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t};\r\n\r\n\tonAuditScopeObjectiveChange(event) {\r\n\t\tconst { value } = event.currentTarget;\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.auditScopeAndObjective = value;\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t}\r\n\r\n\tonSelectProcessChange = (selectedItems) => {\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.processes = selectedItems || [];\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t};\r\n\r\n\tonSelectFunctionChange = (selectedItems) => {\r\n\t\tthis.setState((prevState) => {\r\n\t\t\tconst newAudit = { ...prevState.newAudit };\r\n\t\t\tnewAudit.functions = selectedItems || [];\r\n\t\t\treturn { newAudit };\r\n\t\t});\r\n\t};\r\n\r\n\trenderLoadingModal = () => {\r\n\t\tconst show = this.state.isSubmitted;\r\n\t\treturn show && ;\r\n\t};\r\n\r\n\tsaveAudit = async (item) => {\r\n\t\ttry {\r\n\t\t\tthis.setState({ isSubmitted: true });\r\n\t\t\titem.id = uuid();\r\n\t\t\tconst { data } = await api.post(\"/audit\", item);\r\n\t\t\tshowNotification.success(`${entitiesLabels.SUCCESS}`, `${entitiesLabels.AUDIT} ${getSuccess(data.auditCode, apioperation.POST)}`);\r\n\t\t\tawait this.repository.updateCachedAuditList(data, data.referenceYear);\r\n\t\t\tawait this.repository.updateCachedAuditPlan(item);\r\n\t\t\tthis.props.history.push(\"/listofaudit?isBack\");\r\n\t\t\treturn data;\r\n\t\t} catch (error) {\r\n\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.AUDIT, apioperation.POST));\r\n\t\t\treturn null;\r\n\t\t} finally {\r\n\t\t\tthis.setState({ isSubmitted: false });\r\n\t\t}\r\n\t};\r\n\r\n\tupdateAudit = async (item) => {\r\n\t\ttry {\r\n\t\t\tthis.setState({ isSubmitted: true });\r\n\t\t\tawait api.put(\"/audit/plan\", item);\r\n\t\t\tshowNotification.success(`${entitiesLabels.SUCCESS}`, ` ${entitiesLabels.AUDIT} ${getSuccess(item.auditCode, apioperation.PUT)}`);\r\n\t\t\tawait this.repository.updateCachedAuditList(item, item.referenceYear);\r\n\t\t\tawait this.repository.updateCachedAuditPlan(item);\r\n\t\t\treturn this.props.history.push(\"/listofaudit?isBack\");\r\n\t\t} catch (error) {\r\n\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, item.auditCode, apioperation.PUT));\r\n\t\t\treturn null;\r\n\t\t} finally {\r\n\t\t\tthis.setState({ isSubmitted: false });\r\n\t\t}\r\n\t};\r\n\r\n\thandleSubmit = async (event) => {\r\n\t\tevent.preventDefault();\r\n\t\tif (this.validator.allValid()) {\r\n\t\t\tconst newAuditDTO = {\r\n\t\t\t\tid: this.state.newAudit.id,\r\n\t\t\t\tauditCode: this.state.audit?.auditCode || null,\r\n\t\t\t\tprojectAuditCode: this.state.newAudit.projectAuditCode || null,\r\n\t\t\t\tauditRemote: this.state.newAudit.auditRemote,\r\n\t\t\t\treferenceYear: parseInt(this.state.newAudit.year, 10),\r\n\t\t\t\treferenceMonth: this.monthToNumber(this.state.newAudit.month),\r\n\t\t\t\tidAuditType: this.state.newAudit.type.id,\r\n\t\t\t\tauditType: this.state.newAudit.type,\r\n\t\t\t\tidDivision: this.state.newAudit.division.id,\r\n\t\t\t\tdivision: this.state.newAudit.division,\r\n\t\t\t\tidCompany: this.state.newAudit.company?.id || null,\r\n\t\t\t\tcompany: this.state.newAudit.company || null,\r\n\t\t\t\tidAuditSection: this.state.newAudit.section.id,\r\n\t\t\t\tauditSection: this.state.newAudit.section,\r\n\t\t\t\tidAuditTarget: this.state.newAudit.target.id,\r\n\t\t\t\ttarget: this.state.newAudit.target,\r\n\t\t\t\tdistributionList: this.state.newAudit.distributionList,\r\n\t\t\t\tmailCC: this.state.newAudit.mailCC,\r\n\t\t\t\tworkSites: this.state.newAudit.worksites.map((elem) => elem),\r\n\t\t\t\tprojects: this.state.newAudit.projects.map((elem) => elem),\r\n\t\t\t\tscopes: this.state.newAudit.scopes.map((elem) => elem),\r\n\t\t\t\treasonsForSampling: this.state.newAudit.reasonsForSampling.map((elem) => elem),\r\n\t\t\t\totherHSEIssues: this.state.newAudit.otherHSEIssues,\r\n\t\t\t\tauditors: [1].fill(this.state.newAudit.auditor),\r\n\t\t\t\tidCompiler: this.state.audit?.idCompiler,\r\n\t\t\t\tidDataApprover: this.state.audit?.idDataApprover,\r\n\t\t\t\tidDivisionManager: this.state.audit?.idDivisionManager,\r\n\t\t\t\tidStatus: this.state.audit?.idStatus,\r\n\t\t\t\tstatus: this.state.audit?.status || null,\r\n\t\t\t\tcompiler: this.state.audit?.compiler || null,\r\n\t\t\t\tcreatedBy: this.state.audit?.createdBy || null,\r\n\t\t\t\tcreatedOn: this.state.audit?.createdOn || null,\r\n\t\t\t\tupdatedBy: this.state.audit?.updatedBy || null,\r\n\t\t\t\tupdatedOn: this.state.audit?.updatedOn || null,\r\n\t\t\t\tonBehalfIdCompany: this.state.newAudit.onBehalfCompany?.id || null,\r\n\t\t\t\tonBehalfIdDivision: this.state.newAudit.onBehalfDivision?.id || null,\r\n\t\t\t\tonBehalfIdWorkSite: this.state.newAudit.onBehalfWorkSite?.id || null,\r\n\t\t\t\tonBehalfIdProject: this.state.newAudit.onBehalfProject?.id || null,\r\n\t\t\t\tprocesses: this.state.newAudit.processes.map((elem) => elem),\r\n\t\t\t\tfunctions: this.state.newAudit.functions.map((elem) => elem),\r\n\t\t\t\tsubContractors: this.state.newAudit.subContractors.map((elem) => elem),\r\n\t\t\t\tauditScopeAndObjective: this.state.newAudit.auditScopeAndObjective,\r\n\t\t\t\tplanAttachments: this.state.newAudit.planAttachments || [],\r\n\t\t\t};\r\n\t\t\tif (this.state.audit) {\r\n\t\t\t\tconst auditors = this.state.audit?.auditors;\r\n\t\t\t\tauditors.shift();\r\n\t\t\t\tauditors.unshift(this.state.newAudit.auditor);\r\n\t\t\t\tconst uniqAuditors = auditors.reduce((a, b) => {\r\n\t\t\t\t\tif (!a.find((c) => c.id === b.id)) a.push(b);\r\n\t\t\t\t\treturn a;\r\n\t\t\t\t}, []);\r\n\t\t\t\tnewAuditDTO.auditors = uniqAuditors;\r\n\t\t\t\tnewAuditDTO.updatedBy = this.context.user.email;\r\n\t\t\t\tnewAuditDTO.updatedOn = new Date();\r\n\t\t\t\tnewAuditDTO.idCheckList = this.state.audit.idCheckList;\r\n\t\t\t\tnewAuditDTO.checkList = this.state.audit.checkList || null;\r\n\t\t\t\tnewAuditDTO.sequence = this.state.audit.sequence;\r\n\t\t\t\tnewAuditDTO.reportSummary = this.state.audit.reportSummary;\r\n\t\t\t\tnewAuditDTO.additionalNotes = this.state.audit.additionalNotes;\r\n\t\t\t\tnewAuditDTO.startDate = this.state.audit.startDate;\r\n\t\t\t\tnewAuditDTO.endDate = this.state.audit.endDate;\r\n\t\t\t\tnewAuditDTO.reasonsForChange = this.state.newAudit.reasonsForChange;\r\n\t\t\t\tnewAuditDTO.newCarManagement = this.state.audit.newCarManagement;\r\n\t\t\t\tawait this.updateAudit(newAuditDTO);\r\n\t\t\t} else {\r\n\t\t\t\tnewAuditDTO.createdBy = this.context.user.email;\r\n\t\t\t\tnewAuditDTO.createdOn = new Date();\r\n\t\t\t\tnewAuditDTO.updatedBy = this.context.user.email;\r\n\t\t\t\tnewAuditDTO.updatedOn = newAuditDTO.createdOn;\r\n\t\t\t\tnewAuditDTO.idStatus = 1;\r\n\t\t\t\tnewAuditDTO.status = {\r\n\t\t\t\t\tid: 1,\r\n\t\t\t\t\tname: \"Draft\",\r\n\t\t\t\t\tplanningName: \"Draft\",\r\n\t\t\t\t\treportingName: \"Opened\",\r\n\t\t\t\t\tcarManagementName: \"Assigned\",\r\n\t\t\t\t};\r\n\t\t\t\tawait this.saveAudit(newAuditDTO);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.validator.showMessages();\r\n\t\t\tshowNotification.warning(`${entitiesLabels.WARNING}`, `${entitiesLabels.AUDIT} required fields are missing `);\r\n\t\t\tthis.forceUpdate();\r\n\t\t}\r\n\t};\r\n\r\n\tgetUsersInRole = (role, idEntity) => {\r\n\t\tme.getWithParam(\"users\", {\r\n\t\t\tparams: { Role: role, IdEntity: idEntity, includeAdmins: true },\r\n\t\t})\r\n\t\t\t.then((response) => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tapprovers: response.data,\r\n\t\t\t\t\tisLoadingApproverOptions: false,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.ROLE, apioperation.GET));\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingApproverOptions: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t};\r\n\r\n\r\n\t// /Status Action\r\n\thandleApproverSelect = (selectedItem) => {\r\n\t\tthis.setState({ approver: selectedItem });\r\n\t};\r\n\r\n\thandleCloseApprovalModal = () => {\r\n\t\tthis.setState({ isApprovalModalOpen: false }, this.clearApprovalForm);\r\n\t};\r\n\r\n\thandleApprovalNotesChange = (e) => {\r\n\t\tthis.setState({ approvalNotes: e.target.value });\r\n\t};\r\n\r\n\thandleConfirmApprovalModal = () => {\r\n\t\tconst apiEndpoint = this.state.approvalEndpoint;\r\n\r\n\t\tconst data = {\r\n\t\t\tids: [this.state.audit.id],\r\n\t\t\towner: this.state.approver,\r\n\t\t\tworkflowNotes: this.state.approvalNotes,\r\n\t\t};\r\n\r\n\t\tthis.setState({\r\n\t\t\tisLoadingWFOperation: true,\r\n\t\t});\r\n\t\tapi.put(`/audit/${apiEndpoint}`, data, \"\")\r\n\t\t\t.then((response) => {\r\n\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\tshowNotification.success(`${entitiesLabels.SUCCESS}`, getSuccess(entitiesLabels.AUDIT, apioperation.PUT));\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tisLoadingWFOperation: false,\r\n\t\t\t\t\t\tisApprovalModalOpen: false,\r\n\t\t\t\t\t\tisSubmitted: true,\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tthis.props.history.push(\"/listofaudit\");\r\n\t\t\t\t} else {\r\n\t\t\t\t\tshowNotification.error();\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tisLoadingWFOperation: false,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.AUDIT, apioperation.PUT));\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisLoadingWFOperation: false,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => {});\r\n\t};\r\n\r\n\tbatchActionClick(actionKey, actionName, approverRole, withApprover, approvalNotesRequired, selectedRows) {\r\n\t\tconst audit = selectedRows;\r\n\r\n\t\tconst idEntity = audit.division.id;\r\n\r\n\t\t// actionKey == 'Submit' || actionKey == 'submitreport'\r\n\t\t// ? audit.idWorksite\r\n\t\t// : actionKey == 'Approve' || actionKey == 'approvereport'\r\n\t\t// ? audit.idDivision\r\n\t\t// : null;\r\n\r\n\t\tthis.setState({\r\n\t\t\tapprovalModalAction: actionName,\r\n\t\t\tisApprovalModalOpen: true,\r\n\t\t\tisLoadingApproverOptions: true,\r\n\t\t\twithApprover,\r\n\t\t\tselectedData: selectedRows,\r\n\t\t\tapproverRole,\r\n\t\t\tapprovalEndpoint: actionKey,\r\n\t\t\tapprovalNotesRequired,\r\n\t\t\tstatewf: audit.idStatus,\r\n\t\t});\r\n\r\n\t\tif (withApprover) this.getUsersInRole(approverRole, idEntity);\r\n\t}\r\n\r\n\trenderHeader = () => (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t this.closeModalHistory()} />\r\n\t\t\r\n\t);\r\n\r\n\trenderForm() {\r\n\t\tconst validations = {\r\n\t\t\t// division: this.validator.message(\"division\", this.state.newAudit.division.id, \"required\"), //RITM0945977\r\n\t\t\tdivision: this.validator.message(\"auditeeBusinessLine\", this.state.newAudit.division.id, \"required\"),\r\n\t\t\tsection: this.validator.message(\"Section\", this.state.newAudit.section.id, \"required\"),\r\n\t\t\ttype: this.validator.message(\"Audit Type\", this.state.newAudit.type.id, \"required\"),\r\n\t\t\tscope: this.validator.message(\"Scope\", this.state.newAudit.scopes[0], \"required\"),\r\n\t\t\tmonth: this.validator.message(\"month\", this.state.newAudit.month, \"required\"),\r\n\t\t\tyear: this.validator.message(\"year\", this.state.newAudit.year, \"required\"),\r\n\t\t\tauditor: this.validator.message(\"auditor\", this.state.newAudit.auditor.id, \"required\"),\r\n\t\t\t// onBehalfDivision: this.validator.message(\"onBehalfDivision\", this.state.newAudit.onBehalfDivision ? this.state.newAudit.onBehalfDivision.id : \"\", \"required\"), //RITM0945977\r\n\t\t\tonBehalfDivision: this.validator.message(\"auditorBusinessLine\", this.state.newAudit.onBehalfDivision ? this.state.newAudit.onBehalfDivision.id : \"\", \"required\"),\r\n\t\t\ttarget: this.validator.message(\"target\", this.state.newAudit.target.id, \"required\"),\r\n\t\t\tdistributionList: this.validator.message(\"distributionList\", this.state.newAudit.distributionList, \"required\"),\r\n\t\t\treasonsForSampling: this.validator.message(\"reasonsForSampling\", !this.state.editingDisabled ? this.state.newAudit.reasonsForSampling[0] : true, \"required\"),\r\n\t\t\tprocess: this.validator.message(\r\n\t\t\t\t\"processes\",\r\n\t\t\t\t(this.state.newAudit.section?.id?.toLowerCase() == AuditSection.QUALITY.id?.toLowerCase() || this.state.newAudit.section?.id?.toLowerCase() == AuditSection.HSEQ.id?.toLowerCase() || this.state.newAudit.section?.id?.toLowerCase() == AuditSection.HSE.id?.toLowerCase()) && !this.state.editingDisabled\r\n\t\t\t\t\t? this.state.newAudit.processes[0]\r\n\t\t\t\t\t: true,\r\n\t\t\t\t\"required\"\r\n\t\t\t),\r\n\t\t\t//RITM0601430\r\n\t\t\tsubContractors: this.validator.message(\"Subcontractor\", this.state.newAudit.target.name === \"Subconctractor/Supplier\" ? this.state.newAudit.subContractors[0] : true, \"required\") \r\n\t\t};\r\n\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\r\n\t\t\t\t{this.renderHeader()}\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tDetails of audit\r\n\t\t\t\t\t\t\t\t\tDetails of auditee\r\n\t\t\t\t\t\t\t\t\tDetails of the Lead Auditor\r\n\t\t\t\t\t\t\t\t\tDistribution list\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tSection *\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.SECTION, apioperation.GET));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectedItem={this.state.newAudit.section}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.editingDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tReference Date *\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t item || \"\"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.editingDateDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t item || \"\"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.editingDateDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tAudit Criteria *\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.SCOPE, apioperation.GET));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tinitialSelectedItems={this.state.newAudit.scopes}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.editingDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tAudit Scope and Objective\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tType of audit *\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.TYPEAUDIT, apioperation.GET));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsection={this.state.newAudit.section.id}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={this.state.newAudit.section.id}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tinitialSelectedItem={this.state.newAudit.type}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.editingDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tTarget *\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.TARGET, apioperation.GET));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tinitialSelectedItem={this.state.newAudit.target}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.editingDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tProject Audit Code\r\n\t\t\t\t\t\t\t\t\t\t\t\t {}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tAudit in Remote Mode\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t\t{this.state.newAudit.section.id?.toLowerCase() == AuditSection.QUALITY.id.toLowerCase() || this.state.newAudit.section.id?.toLowerCase() == AuditSection.HSEQ.id.toLowerCase() || this.state.newAudit.section.id?.toLowerCase() == AuditSection.HSE.id.toLowerCase() ? (\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tProcesses *\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.SCOPE, apioperation.GET));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinitialSelectedItems={this.state.newAudit.processes}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.editingDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tSubprocesses\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, \"Subprocesses\", apioperation.GET));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinitialSelectedItems={this.state.newAudit}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.editingDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t{this.state.newAudit.target.name === \"Subconctractor/Supplier\" ? (\r\n\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, \"Subcontractor\", apioperation.GET));\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.editingDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\tkey={this.state.newAudit.id}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t

    Details of the auditee

    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{/* RITM0945977 */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{/* Main Division * */}\r\n\t\t\t\t\t\t\t\t\t\t\t\tAuditee Business Line * \r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.MAINDIVISION, apioperation.GET));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectedItem={this.state.newAudit.division}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.editingDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tCompany\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.COMPANY, apioperation.GET));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectedItem={this.state.newAudit.company}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.editingDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tWork Sites\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.WORKSITE, apioperation.GET));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdivision={this.state.newAudit.division.id}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={this.state.newAudit.division.id + this.state.newAudit.worksites?.map(el => el.id)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tinitialSelectedItems={this.state.newAudit.worksites}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.editingWorkSiteDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tProject\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.PROJECT, apioperation.GET));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tinitialSelectedItems={this.state.newAudit.projects}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.editingDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tReasons For Sampling*\r\n\t\t\t\t\t\t\t\t\t\t\t\t{this.state.editingDisabled == true ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.REASONFORSAMPLING, apioperation.GET));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenUp\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinitialSelectedItems={this.state.newAudit.reasonsForSampling}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.editingDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={this.state.newAudit.id}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.REASONFORSAMPLING, apioperation.GET));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenUp\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinitialSelectedItems={this.state.newAudit.reasonsForSampling}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.editingDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={this.state.newAudit.id}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t\t{this.state.newAudit.reasonsForSampling.findIndex((el) => el.name === \"Any other HSE issues\") !== -1 ? (\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t this.onOtherHSEIssuesTextChange(el.target.value)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{validations.question}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t

    Details of the Lead Auditor

    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{TEAM_LEADER} *\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.AUDITOR, apioperation.GET));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t//userDivision={this.state.userDivision || []} //B1_Audit_Module_Optimization\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectedItem={this.state.newAudit.auditor}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.editingAuditorDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t{this.state.checkListCompilerChanged == true ? (\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tReason for change *\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t {}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\"\"\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{/* RITM0945977 */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{/* Division * */}\r\n\t\t\t\t\t\t\t\t\t\t\t\tAuditor Business Line *\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.MAINDIVISION, apioperation.GET));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectedItem={this.state.newAudit.onBehalfDivision ? this.state.newAudit.onBehalfDivision : {}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(this.state.audit?.onBehalfDivision ?\tthis.state.audit.onBehalfDivision.hasOwnProperty('id') :\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)&& this.state.editingDisabled\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tWork Site\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.WORKSITE, apioperation.GET));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdivision={this.state.newAudit.onBehalfDivision?.id}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={this.state.newAudit.onBehalfDivision?.id}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectedItem={this.state.newAudit.onBehalfWorkSite}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.editingDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tCompany\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.COMPANY, apioperation.GET));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectedItem={this.state.newAudit.onBehalfCompany}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.editingDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tProjects\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.PROJECT, apioperation.GET));\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectedItem={this.state.newAudit.onBehalfProject}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.editingDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t

    Distribution list (Personal Email Addresses are not Allowed)

    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tMail To*\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tMail CC\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tSave\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t{this.renderLoadingModal()}\r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n\r\n\trender() {\r\n\t\treturn {({ user }) => (IsEnabled(user, \"Audit\") ? this.renderForm(user) : \"\")};\r\n\t}\r\n}\r\nAuditProgram.propTypes = {\r\n\tmatch: PropTypes.shape({\r\n\t\tparams: PropTypes.shape({\r\n\t\t\tid: PropTypes.string,\r\n\t\t}),\r\n\t}),\r\n};\r\nAuditProgram.defaultProps = {};\r\nAuditProgram.contextType = AppContext;\r\n","/* eslint-disable react/prefer-stateless-function */\r\n/* eslint-disable import/prefer-default-export */\r\nimport React, { Component } from 'react';\r\nimport '../scss/custom.scss';\r\nimport '../scss/theme.scss';\r\nimport { Route, Link, Switch } from 'react-router-dom';\r\nimport ReactNotification from 'react-notifications-component';\r\nimport { Container } from 'reactstrap';\r\nimport { Home } from './Home';\r\nimport CalendarTasks from './dailytasks/MyCalendar';\r\nimport AllTheTasks from './dailytasks/AllTheTasks';\r\nimport BackOffice from './backoffice';\r\nimport LandingGlobal from './incident/LandingGlobal';\r\nimport NewIncidentReport from './incident/NewIncidentReport';\r\nimport CARList from './incident/CARList';\r\nimport CARDetail from './incident/CARDetail';\r\nimport CADetail from './incident/CADetail';\r\nimport AuditList from './audit/AuditList';\r\nimport AuditCARList from './audit/AuditCARList';\r\nimport AuditCARDetail from './audit/AuditCARDetail';\r\nimport AuditCADetail from './audit/AuditCADetail';\r\nimport { Profile } from './common/Profile';\r\nimport Functions from './functions/Functions';\r\nimport InspectionCARDetail from './inspection/inspectionReport/InspectionCARDetail';\r\nimport { Head } from './common/Header';\r\nimport { Authorization } from '../helpers/authorization/Authorization';\r\nimport ReportSummaryList from './report/ReportSummaryList';\r\nimport ReportSummaryDetail from './report/ReportSummaryDetail';\r\nimport Safety from './report/Safety';\r\nimport Enviroment from './report/Enviroment';\r\nimport AssetIntegrity from './report/AssetIntegrity';\r\nimport { HocCard } from './functions/HocCard';\r\nimport TrainingList from './training/TrainingList';\r\nimport { Inspection } from './inspection/Inspection';\r\nimport { InspectionReport } from './inspection/inspectionReport/InspectionReport';\r\nimport { InspectionCarList } from './inspection/inspectionReport/InspectionCarList';\r\nimport { Support } from './utilities/Support';\r\nimport { AppContext } from '../helpers/context/AppContext';\r\nimport AuditReport from './audit/AuditReport';\r\nimport HocCardDetail from './functions/HocCardDetail';\r\nimport EmergencyDrillList from './emergencydrill/EmergencyDrillList';\r\nimport DrillReportList from './emergencydrill/report/DrillReportList';\r\nimport { DrillReport } from './emergencydrill/report/DrillReport';\r\nimport DrillCARDetail from './emergencydrill/report/reportDetails/DrillCARDetail';\r\nimport { DrillCarList } from './emergencydrill/report/reportDetails/DrillCarList';\r\nimport AnnualDrillPlanDownload from './emergencydrill/AnnualDrillPlanDownload';\r\n\r\nimport { NewTraining } from './training/NewTraining';\r\nimport AuditProgram from './audit/AuditProgram';\r\n\r\nexport class Layout extends Component {\r\n displayName = Layout.name;\r\n\r\n // eslint-disable-next-line no-useless-constructor\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {({ user }) => (\r\n
    \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*RITM0860478*/ }\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n {this.props.children}\r\n \r\n
    \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport 'carbon-components/css/carbon-components.css';\r\nimport './scss/custom.scss';\r\nimport './scss/theme.scss';\r\nimport './scss/react-dual-listbox.scss';\r\nimport { Loading } from 'carbon-components-react';\r\nimport { authProvider } from './auth/authProvider';\r\nimport { Layout } from './components/Layout';\r\n\r\nimport { AppContext } from './helpers/context/AppContext';\r\nimport { Authorization } from './helpers/authorization/Authorization';\r\nimport { me } from './helpers/api/api';\r\nimport CacheStorage from './helpers/api/CacheStorage';\r\nimport AuditRepository from './helpers/api/AuditRepository';\r\nimport IncidentRepository from './helpers/api/IncidentRepository';\r\nimport MeRepository from './helpers/api/MeRepository';\r\nimport ReportRepository from './helpers/api/ReportRepository';\r\nimport HocCardRepository from './helpers/api/HocCardRepository';\r\nimport TrainingRepository from './helpers/api/TrainingRepository';\r\nimport InspectionRepository from './helpers/api/InspectionRepository';\r\nimport DrillRepository from './helpers/api/DrillRepository';\r\n\r\nexport default class App extends Component {\r\n displayName = App.name;\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: true,\r\n user: {},\r\n settings: {},\r\n };\r\n this.getUser = this.getUser.bind(this);\r\n this.getUser();\r\n this.cacheStorage = new CacheStorage();\r\n this.auditRepository = new AuditRepository();\r\n this.cacheStorage.flushQueue();\r\n // console.log(authProvider);\r\n }\r\n\r\n getUser = async () => {\r\n const res = await me\r\n .getMe()\r\n .then((response) => {\r\n this.setState({ user: response.data, loading: false });\r\n })\r\n .catch(() => {\r\n this.setState({ user: null, loading: false });\r\n });\r\n };\r\n\r\n render() {\r\n let content = null;\r\n if (this.state.loading) {\r\n content = (\r\n
    \r\n \r\n
    \r\n );\r\n } else {\r\n const LayoutAuthorized = Authorization(this.state.user, Layout, 'Global', null, true);\r\n // if (this.state.user && this.state.user.modules) {\r\n // let delta = 3000;\r\n // setTimeout(() => {\r\n // MeRepository.preFetch();\r\n // }, (delta += 3000));\r\n // if (this.state.user.modules.includes('Audit')) {\r\n // setTimeout(() => {\r\n // this.auditRepository.fetchAudit();\r\n // }, (delta += 30000));\r\n // }\r\n // if (this.state.user.modules.includes('Incident')) {\r\n // setTimeout(() => {\r\n // IncidentRepository.fetchIncident();\r\n // }, (delta += 30000));\r\n // }\r\n // if (this.state.user.modules.includes('Report')) {\r\n // setTimeout(() => {\r\n // ReportRepository.preFetch();\r\n // }, (delta += 30000));\r\n // }\r\n // if (this.state.user.modules.includes('Hoc Card')) {\r\n // setTimeout(() => {\r\n // HocCardRepository.preFetch();\r\n // }, (delta += 30000));\r\n // }\r\n // if (this.state.user.modules.includes('Training')) {\r\n // setTimeout(() => {\r\n // TrainingRepository.fetchTraining();\r\n // }, (delta += 30000));\r\n // }\r\n // if (this.state.user.modules.includes('Inspection')) {\r\n // setTimeout(() => {\r\n // InspectionRepository.preFetch();\r\n // }, (delta += 30000));\r\n // }\r\n // if (this.state.user.modules.includes('Emergency Drill')) {\r\n // setTimeout(() => {\r\n // DrillRepository.preFetch();\r\n // }, (delta += 30000));\r\n // }\r\n // }\r\n content = (\r\n \r\n \r\n \r\n );\r\n }\r\n return content;\r\n }\r\n}\r\n","/* eslint-disable no-param-reassign */\r\n/* eslint-disable no-console */\r\n// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\nimport { authProvider } from './auth/authProvider';\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\r\n);\r\n\r\nconst appVer = \"2.2.27\";\r\n\r\nfunction registerValidSw(swUrl, config) {\r\n console.log(`regSW.registerValidSw: swUrl: ${swUrl}`);\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then((registration) => {\r\n console.log(`regSW.registerValidSw: scope: ${registration.scope}`);\r\n const activeWorker = registration.active;\r\n // if the service worker is already installed and active\r\n if (activeWorker != null) {\r\n console.log('regSW.registerValidSw: service worker is already active. Inizializing queue...');\r\n activeWorker.postMessage({ type: \"showVersion\", appVer: appVer });\r\n authProvider.getAccessToken().then((token) => {\r\n if (token) {\r\n const accessToken = `Bearer ${token.accessToken}`;\r\n activeWorker.postMessage({ type: \"autoSyncQueue\", accessToken: accessToken });\r\n }\r\n });\r\n }\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n console.log('regSW.registerValidSw: service worker is installing...');\r\n installingWorker.onstatechange = () => {\r\n console.log(`regSW.registerValidSw: installingWorker.state: ${installingWorker.state}`);\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'regSW.registerValidSw: New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('regSW.registerValidSw: Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n } else if (installingWorker.state === 'activated') {\r\n console.log('regSW.registerValidSw: service worked has been activated, reloading page...');\r\n //window.location.reload();\r\n }\r\n };\r\n };\r\n })\r\n .catch((ex) => {\r\n console.error('regSW.registerValidSw: Error during service worker registration:', ex);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n console.log(`checkValidServiceWorker: swUrl: ${swUrl}`);\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then((response) => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n console.error(`checkValidServiceWorker: No service worker found!`);\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then((registration) => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSw(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.warn('checkValidServiceWorker: No internet connection found. App is running in offline mode.');\r\n });\r\n}\r\n\r\nexport default function register(config) {\r\n // if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n if ('serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n console.error(`regSW.register: publicUrl (${publicUrl}) differs from window.location.origin (${window.location.origin}).`);\r\n console.error(`regSW.register: Unable to register the service worker.`);\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n console.log(`regSW.register: load event: process.env.NODE_ENV: ${process.env.NODE_ENV}`);\r\n let swUrl = `${process.env.PUBLIC_URL}/sw.js`;\r\n let react_app_api_url = window._config?.REACT_APP_API_URL || process.env.REACT_APP_API_URL;\r\n console.log(`regSW.register: load event: react_app_api_url: ${react_app_api_url}`);\r\n //let max_queue_retries = process.env.REACT_APP_MAX_QUEUE_RETRIES || 100; (for future use, see Hoc4all sw.js)\r\n //let fetch_timeout_sec = process.env.REACT_APP_FETCH_TIMEOUT_SEC || 30; (for future use, see Hoc4all sw.js)\r\n let queryString = new URLSearchParams({\r\n apiUrl: react_app_api_url + \"api\",\r\n env: process.env.NODE_ENV,\r\n //mqret: max_queue_retries,\r\n //ftouts: fetch_timeout_sec,\r\n appVer: appVer\r\n });\r\n\r\n swUrl = swUrl + \"?\" + queryString;\r\n console.log(`regSW.register: load event: isLocalhost: ${isLocalhost} swUrl: ${swUrl}`);\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSw(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport function unregister() {\r\n if ('regSW.serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then((registration) => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport { AzureAD } from 'react-aad-msal';\r\nimport App from './App';\r\nimport { authProvider } from './auth/authProvider';\r\nimport registerServiceWorker from './registerServiceWorker';\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nregisterServiceWorker();\r\n"],"sourceRoot":""}