{"version":3,"sources":["auth/authProvider.js","helpers/Constants.js","helpers/api/api.js","helpers/api/CacheStorage.jsx","helpers/api/MeRepository.jsx","components/Home.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/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/HighConsequenceLevelLegend.jsx","components/incident/IncidentHighConsequence.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/WorkProcessTypeLegend.jsx","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","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","TYOPLOGY","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","JOBPOSITION","HIGHCONSEQUENCE","EFFECTIVEBARRIERGROUP","INADEQUATEBARRIERGROUP","EFFECTIVEBARRIER","INADEQUATEBARRIER","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","name","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","iv","sjcl","codec","hex","toBits","salt","encrypt","plainText","cryptoObj","base64","fromBits","v","iter","ks","ts","mode","adata","cipher","encryptedObj","JSON","stringify","replace","parse","ct","decrypt","encryptedText","encryptedArray","aes","utf8String","ccm","putCache","caches","open","Response","CacheStorage","navigator","serviceWorker","ready","swRegistration","sync","register","match","cachedResponse","text","cryptedResponse","decryptedResponse","MeRepository","getDivisions","getAllDivisions","getCompanies","getProjects","company","projects","filter","w","idCompany","getWorkSites","getUserMessage","preFetch","Home","props","setState","loading","userMessage","state","bind","this","Loading","active","withOverlay","description","className","to","style","paddingRight","src","Component","displayName","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","warn","kind","lowContrast","iconDescription","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","alt","utc","_dateFormat","_timeFormat","dateFormat","timeFormat","onChange","length","date","format","isValid","closeOnSelect","isValidDate","React","CalendarTasks","deleteTask","prevState","isLoad","mainTasks","x","overdueTasks","updateState","inputName","objName","statusCopy","assign","tabSelected","events","Dayz","EventsCollection","currentDate","Date","month","onDateChanged","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","toJSON","CompletionStatusTag","Tag","PageBreadCrumb","linkTo","linkText","titleLeft","titleCenter","titleRight","batchActions","showButtonHistory","showCurrentVersion","fill","HeaderNavigation","StatusTag","isDraft","includes","ret1","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","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","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","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","addError","liveValidate","showErrorList","transformErrors","ref","showButton","inBrowser","channel","window","BroadcastChannel","OnLineOffLine","online","onLine","goOnline","goOffline","onMessageReceived","addEventListener","removeEventListener","callOnChangeHandler","Online","children","Offline","handleResponse","JSCrud","confirmDelete","idToDelete","confirmModal","isDeleting","renderAlertModal","isSubmitted","ComposedModal","isOpenAlertModal","onClose","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","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","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","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","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","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","encodeURIComponent","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","HighConsequenceLevelLegend","rowspan","IncidentHighConsequence","getIncidentHighConsequenceLevel","dataHighConsequenceLevelActualHarm","_sortBy","outcome","out","incidentOutcomesEnums","idHighConsequenceLevelActual","dataHighConsequenceLevelPotentialWorstCaseHarm","idHighConsequenceLevelPotentialWorstCase","dataHighConsequenceLevelPotentialFinalHarm","idHighConsequenceLevelPotentialFinal","dataHighConsequenceLevelActualEnv","dataHighConsequenceLevelPotentialWorstCaseEnv","dataHighConsequenceLevelPotentialFinalEnv","appHighConsequenceLevelActualHarm","appHighConsequenceLevelPotentialWorstCaseHarm","appHighConsequenceLevelPotentialFinalHarm","appHighConsequenceLevelActualEnv","appHighConsequenceLevelPotentialWorstCaseEnv","appHighConsequenceLevelPotentialFinalEnv","getIncidentEBarrierGroup","dataEGroupHarm","incidentBarriers","idBarrier","incidentBarrier","incidentBarrierGroup","dataEGroupEnv","appIncidentEBarrierGroupHarm","appIncidentEBarrierGroupEnv","getIncidentIBarrierGroup","dataIGroupHarm","dataIGroupEnv","appIncidentIBarrierGroupHarm","appIncidentIBarrierGroupEnv","getIncidentEBarrier","selectedBarrierGroups","dataEHarm","idIncidentBarrierGroup","ranking","dataEEnv","appIncidentEBarrierHarm","appIncidentEBarrierEnv","selectedOutcomeModel","selectedItemsEBarrierHarm","selectedItemsEBarrierEnv","getIncidentIBarrier","dataIHarm","dataIEnv","appIncidentIBarrierHarm","appIncidentIBarrierEnv","selectedItemsIBarrierHarm","selectedItemsIBarrierEnv","handleHighConsequenceLevel","onChangeEBarrierGroup","selectedItemsEBarrierGroupHarm","selectedItemsEBarrierGroupEnv","handleIncidentOutcomeBarrier","onChangeEBarrier","onChangeIBarrierGroup","selectedItemsIBarrierGroupHarm","selectedItemsIBarrierGroupEnv","onChangeIBarrier","returnIncidentBarriers","appHighConsequenceLevelPotentialFinalHarmEnv","appHighConsequenceLevelHarm","incidentEffectiveInadequateBarrierGroups","prevProps","isVisible","highConsequenceLevelActualHarm","highConsequenceLevelActualEnv","highConsequenceLevelPotentialWorstCaseHarm","highConsequenceLevelPotentialWorstCaseEnv","effectiveBarrierGroupHarm","effectiveBarrierGroupEnv","sortItems","effectiveBarrierHarm","effectiveBarrierEnv","inadequateBarrierGroupHarm","inadequateBarrierGroupEnv","inadequateBarrierHarm","inadequateBarrierEnv","highConsequenceLevelPotentialFinalHarm","highConsequenceLevelPotentialFinalEnv","loadAll","filterByDate","startDate","endDate","INCIDENT_OUTCOME_ENUM","outcomeHarm","outcomeAsset","outcomeEnvironmental","IncidentTabNotification","listWorksitesPrj","flagTime","showConsequenceLegend","outcomeTab","incidentModel","occurrenceDate","occurrenceTime","idWorkSiteProject","idCustomer","customer","realOutcomeAsset","realOutcomeEnvironmental","realOutcomeHarm","incidentOutcomes","emergencyClass","publicAuthoritiesAndEntitiesInvolved","specifyOther","transportAccident","transportAccidentEquipped","infoOriginator","workRelated","place","companyVehicleProvided","briefDescription","immediateActionsTaken","idPotentialConsequenceSeverity","lifeSavingRules","lsrNote","mailTo","mailCc","mailBody","mailSubject","attachmentNotifications","incidentEditModel","getFirstActiveOutcomeTab","dateTime","convertOccurrenceDate","oldattachment","newItem","idAttachment","newattachment","oucomePropertyNames","outcomeObj","isTheOnlyOneActive","alreadyExistingOut","activeOutcomeIds","outName","updateStatesTime","validatorTime","handleChangeTitle","loadRelatedProperties","getWorksitesPrj","handleChangeMultiCombo","wksprj","idWorksitePrj","handleChangeOutcome","realOutcomeRadio","emergencyClassRadio","outcomeId","existOutcome","severityProbabilityPair","handleChangePubAutEntInv","selectedValue","oldvalues","newvalues","handleChangeLifeSavingRules","oldValues","idLifeSavingRule","savingRule","appLifeSavingRule","isExclusive","newValues","setlifeSavingRules","barrierId","newIncidentEffectiveInadequateBarrierGroup","newIncidentBarriers","incidentEffectiveInadequateBarrierGroup","otherIncidentBarrierGroups","otherincidentBarriers","incidentBarrierGroups","otherincidentBarrierGroups","handleSpecifyOthersTypology","updateStateIT","typology","idTypology","parentObjName","oldOthers","newOthers","woNewOthers","getIncidentType","valore","isAccident","isCheckedPubAutEntInv","getLifeSavingRuleByCategory","idCategory","idLifeSavingRuleCategory","idNoViolationLifeSavingRule","renderIncidentLegenda","saveTabNotification","send","isEdit","atta","resp","idIncidentReport","notificationDateIncidentReport","notificationDate","injuredPeople","caManagementName","carManagementName","updateCacheIncidentModel","idInvestigation","injuredPersonCount","updateAutoOpenInjuredPerson","updateEditMode","isLifeSavingRulesDisabled","idSavingRule","selectedLifeSavingRules","isSomeExlusiveSelected","isThisSelected","returnTypologies","incidentTypologies","appAllWorksites","appAllWorksitePrj","severities","appSeveritiesConsequences","real","potential","outcomeTitle","typeIncident","showSpecifyOther","subContractorsByInfo","subContractors","appIncidentTypology","appTransportAccident","appInfoOriginator","appWorkRelated","appPlace","selectedTypologies","showOtherTypology","showTransportAccidentEquipped","showIsWorkRelatedCommunting","incidentTypology","incidentTypologySpecifyOther","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","sendNotification","getContractType","getShiftDuration","getInjurySource","getInjuryClass","getBodyPart","setMailSubject","appBodyPart","appInjuryClass","appInjurySource","appContractType","appShiftDuration","fullname","submitReport","isReportDistributed","Email16","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","idJobPositionType","idJobPosition","GuidBodyPart","handleChangeComboName","getJobPostions","appJobPosition","appNationality","countryId","dati","isWorkRestricedCase","saveInjuredPerson","updateAutoOpenInjuredPersonTI","updateHarmedPeople","returnBodyParts","incidentInjuredPersonBodyPart","idsSelectedBodyParts","appJobPositionType","jobPositionType","appAllJobPosition","autoInjuredPersonModalFromNotification","selectedBodyParts","openUp","WorkProcessTypeLegend","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","getJobPositionsType","substanceReleased","impactOn","all","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","noREXReported","IncidentTabCauses","saveTabCauses","isLoadingIncident","ownerSaipem","incidentCARCode","HistoryTable","getHistoryWF","DTHeaders","nextApproverMail","idIncidentEdit","isHistoryModalOpen","NewIncidentReport","Information16","openModalHistory","closeModalHistory","getLifeSavingRule","getInjuryType","setStaticObject","isLoadingSubContractorOptions","appSeverities","revision","A","B","C","getIncidentTypology","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","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","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","getFilteredAudits","filteredAudits","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","leadAuditor","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","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","maxPages","pagesUnknown","itemRangeText","pageRangeText","itemText","fakeTotalItems","totalPages","itemCap","Infinity","fakeMin","fakeMax","fakeTotalPages","cappedPagination","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","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","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","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","currentCache","cacheVersion","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","selectedActivityDate","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","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","refreshing","reg","callback","awaitStateChange","waiting","listenForWaitingServiceWorker","alert"],"mappings":"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BAACg3B,GAAA,EAAD,KACE,kBAACC,GAAA,EAAsBlW,IACpB3C,GACC,WACA,YACA5M,EACAsP,EAAa5sB,OAAS,EAClB,EAAKshC,YAAY1U,EAAa,GAAG/5B,IACjC,KACJ,SACA,EAAK0zG,YAAY35E,IAEjB,kBAACoW,GAAA,EAAD,CACEx5B,WAAYy5B,KACZrkC,QAAS,kBACP,EAAKskC,iBACH,SACA,SACA,iBACA,GACA,EACAtW,KATN,iBAeE,KAEH1C,GACC,WACA,YACA5M,EACAsP,EAAa5sB,OAAS,EAClB,EAAKshC,YAAY1U,EAAa,GAAG/5B,IACjC,KACJ,UACA,EAAK0zG,YAAY35E,IAEjB,kBAACoW,GAAA,EAAD,CACEx5B,WAAYC,sBACZ7K,QAAS,kBACP,EAAKskC,iBACH,UACA,UACE,MACA,GACA,EACFtW,KATN,kBAeE,KAEH1C,GACC,WACA,YACA5M,EACAsP,EAAa5sB,OAAS,EAClB,EAAKshC,YAAY1U,EAAa,GAAG/5B,IACjC,KACJ,cACA,EAAK0zG,YAAY35E,IAEjB,kBAACoW,GAAA,EAAD,CACEx5B,WAAYC,sBACZ7K,QAAS,kBACP,EAAKskC,iBACH,cACA,cACA,MACA,GACA,EACAtW,KATN,sBAeE,KAEH1C,GACC,WACA,YACA5M,EACAsP,EAAa5sB,OAAS,EAClB,EAAKshC,YAAY1U,EAAa,GAAG/5B,IACjC,KACJ,SACA,EAAK0zG,YAAY35E,IAEjB,kBAACoW,GAAA,EAAD,CACEx5B,WAAY25B,WACZvkC,QAAS,kBACP,EAAKskC,iBACH,SACA,SACA,MACA,GACA,EACAtW,KATN,iBAeE,KAEH1C,GACC,WACA,YACA5M,EACAsP,EAAa5sB,OAAS,EAClB,EAAKshC,YAAY1U,EAAa,GAAG/5B,IACjC,KACJ,oBACA,EAAK0zG,YAAY35E,IAEjB,kBAACoW,GAAA,EAAD,CACEx5B,WAAY25B,WACZvkC,QAAS,kBACP,EAAKskC,iBACH,oBACA,SACA,MACA,GACA,EACAtW,KATN,iBAeE,KAEH1C,GACC,WACA,YACA5M,EACAsP,EAAa5sB,OAAS,EAClB,EA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","file":"static/js/main.4a919963.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","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 TYOPLOGY: 'Typology', //RITM1143712\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 JOBPOSITION: 'Job Position', //RITM0946148\r\n HIGHCONSEQUENCE: 'High Consequence', //RITM1147493\r\n EFFECTIVEBARRIERGROUP: 'Effective Barrier Group', //RITM1147493\r\n INADEQUATEBARRIERGROUP: 'Inadequate Barrier Group', //RITM1147493\r\n EFFECTIVEBARRIER: 'Inadequate Barrier', //RITM1147493\r\n INADEQUATEBARRIER: 'Inadequate Barrier', //RITM1147493\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: 1800000, // Set a timeout of 5 seconds //RITM1109016\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","/* eslint-disable class-methods-use-this */\r\nimport sjcl from 'sjcl';\r\nimport { authProvider } from '../../auth/authProvider';\r\n\r\nconst currentCache = 'Saipem_v49';\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 // A1_CTRL_F5_Issue_After_New_Deploy\r\n cacheVersion() {\r\n const cacheVersion = currentCache;\r\n return cacheVersion;\r\n }\r\n //End\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 //RITM0945943\r\n getUserMessage: async () =>\r\n (await api.getAll(`${baseURL}/me/usermessage`)).data,\r\n //End\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","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\nimport MeRepository from '../helpers/api/MeRepository'; //RITM0945943\r\nimport { Loading } from \"carbon-components-react\"; //RITM0945943\r\n\r\nexport class Home extends Component {\r\n static displayName = Home.name;\r\n //RITM0945943\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n userMessage: null,\r\n };\r\n this.getUserMessage = this.getUserMessage.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.getUserMessage();\r\n }\r\n getUserMessage = async () => {\r\n try {\r\n this.setState({ loading: true });\r\n const message = await MeRepository.getUserMessage();\r\n this.setState({ userMessage: message, loading: false });\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n //End\r\n\r\n render() {\r\n let loading = this.state.loading; //RITM0945943\r\n return (\r\n <>\r\n {/* RITM0945943 */}\r\n {loading && } \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 {/* RITM0945943 */}\r\n <>\r\n {this.state.userMessage != null && this.state.userMessage?.message != null ?\r\n (\r\n
\r\n \r\n {this.state.userMessage.message}\r\n
\r\n )\r\n : (\r\n ''\r\n )}\r\n \r\n {/* End */}\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 {/* RITM0945943 */}\r\n \r\n );\r\n }\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, `${BEDateFormat} ${BETimeFormat}`); //RITM1072295 - Date of DRILL Execution Fix\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(`${BEDateFormat} ${BETimeFormat}`); //RITM1072295 - Date of DRILL Execution Fix\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 showCurrentVersion, //A1_CTRL_F5_Issue_After_New_Deploy\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 {/* A1_CTRL_F5_Issue_After_New_Deploy */}\r\n {showCurrentVersion ? (\r\n <>\r\n {showCurrentVersion}\r\n \r\n ) : (\r\n ''\r\n )}\r\n {/* End */}\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 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{/* RITM0945943 */}\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{/* End */}\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\t{/* RITM1147493 */}\r\n\t\t\t\t\t\t\t\t\t\t\t\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{/* End */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/* RITM1143712 */}\r\n\t\t\t\t\t\t\t\t\t\t\t\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{/* RITM0945943 */}\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{/* End */}\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\t{/* RITM1143712 */}\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{/* RITM1147493 */}\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{/* End */}\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 + encodeURIComponent(item.attachment?.fileIdentifier)} //RITM1094125\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/${encodeURIComponent(item.attachment.fileIdentifier)}` //RITM1094125\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/${encodeURIComponent(item.attachment.fileIdentifier)}`} //RITM1094125\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/${encodeURIComponent(item.attachment.fileIdentifier)}`} //RITM1094125\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\t{/* RITM1102955 */}\r\n\t\t\t\t\t\t\t\tVery Minor\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\t{/* RITM1102955 */}\r\n\t\t\t\t\t\t\t\tMinor pollution contained at site level and that doesn’t spread on the environmental media\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\t{/* RITM1102955 */}\r\n\t\t\t\t\t\t\t\tPollution of the environmental media, up to a medium area (within the operational site, or at most within a few km) with short term effect\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\t{/* RITM1102955 */}\r\n\t\t\t\t\t\t\t\tPollution of the environmental media up to a vast area (beyond the site of the incident) with medium term effect\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\t{/* RITM1102955 */}\r\n\t\t\t\t\t\t\t\tPollution of the environmental media up to a vast area (beyond the site of the incident) with long term effect\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","// RITM1147493\r\nimport { Accordion, AccordionItem, Table, TableBody, TableCell, TableContainer, TableHead, TableHeader, TableRow } from \"carbon-components-react\";\r\nimport React from \"react\";\r\n\r\nexport default function HighConsequenceLevelLegend() {\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\tAHL\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tHigh-Consequence Level\r\n\t\t\t\t\t\t\t\tSeverity\r\n\t\t\t\t\t\t\t\tDuration\r\n\t\t\t\t\t\t\t\tActual Consequence: Injury Examples\r\n\t\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(List notates a typical level for injury type – not exhaustive)\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\t5\r\n\t\t\t\t\t\t\t\tMultiple Fatality\r\n\t\t\t\t\t\t\t\tDeath\r\n\t\t\t\t\t\t\t\t•\tMultiple Fatalities\r\n\t\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\r\n\t\t\t\t\t\t\t\tFatality\r\n\t\t\t\t\t\t\t\tDeath\r\n\t\t\t\t\t\t\t\t•\tFatality\r\n\t\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\r\n\t\t\t\t\t\t\t\tLife-altering and severe impact to daily activities\r\n\t\t\t\t\t\t\t\tLong-term / Years / Forever\r\n\t\t\t\t\t\t\t\t•\tDebilitating laceration / sprain / strain\r\n\t\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•\tSevere compound bone fracture\r\n\t\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•\tDebilitating partial and full thickness burns\r\n\t\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•\tAmputation with complete loss of any bone\r\n\t\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•\tFinger amputation\r\n\t\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•\tSevere disfigurement\r\n\t\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•\tLoss of organ function\r\n\t\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•\tSevere vision loss / blindness in an eye(s)\r\n\t\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\r\n\t\t\t\t\t\t\t\tModerate impact to daily activities\r\n\t\t\t\t\t\t\t\tWeek(s) to Months to Recover\r\n\t\t\t\t\t\t\t\t•\tSignificant laceration, penetration\r\n\t\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•\tSignificant strain or sprain\r\n\t\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•\tBone fracture without long-term issues\r\n\t\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•\tCracked or loss of tooth (teeth)\r\n\t\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•\tJoint dislocation\r\n\t\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•\tDeep partial or full thickness burns\r\n\t\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•\tMinor-to-moderate vision loss in an eye(s)\r\n\t\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\r\n\t\t\t\t\t\t\t\tMinor impact to daily activities\r\n\t\t\t\t\t\t\t\tMinutes-Hours-Days\r\n\t\t\t\t\t\t\t\t•\tMinor laceration, penetration, scratch\r\n\t\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•\tMinor strain, sprain, bruising, swelling\r\n\t\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•\tMinor burns\r\n\t\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•\tSlight-to-mild abrasion of corneal / UV Keratitis\r\n\t\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•\tMinor chipping of tooth / enamel\r\n\t\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•\tMinor fracture of distal phalanx (finger or toe)\r\n\t\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•\tSubungual hematoma (blood under nail)\r\n\t\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•\tAnaphylactic Reactions\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t0\r\n\t\t\t\t\t\t\t\tNo significant impact to daily activities\r\n\t\t\t\t\t\t\t\tNo Physical Body Damage\r\n\t\t\t\t\t\t\t\t•\tSlight skin abrasion/scratch with no bleeding\r\n\t\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•\tFirst-degree skin burns; no blistering\r\n\t\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•\tForeign object in eye but no corneal abrasion\r\n\t\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•\tSlip / Trip / Fall without bruising or swelling\r\n\t\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•\tGeneral muscle soreness, tweaks, body aches\r\n\t\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•\tTemporary Discomfort Event (body aches, etc.)\r\n\t\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•\tMild shock from static electricity\r\n\t\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•\tMild Oxygen Hypoxia / Deficiency\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tAEL\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tEnvironmental Level\r\n\t\t\t\t\t\t\t\tSeverity\r\n\t\t\t\t\t\t\t\tDescription\r\n\t\t\t\t\t\t\t\tActual /Potential Environmental Consequence: Examples\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\t5\r\n\t\t\t\t\t\t\t\tCatastrophic\r\n\t\t\t\t\t\t\t\tIncidents causing catastrophic environmental damage, such as natural or industrial disasters leading to irreversible changes in ecosystems, species extinction, and severe risks to human health.\r\n\t\t\t\t\t\t\t\tA major industrial disaster, such as a chemical plant explosion, leading to widespread contamination, irreversible changes in ecosystems, species extinction, and severe health risks for the local population.\r\n\t\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\r\n\t\t\t\t\t\t\t\tVery Severe\r\n\t\t\t\t\t\t\t\tIncidents causing very severe environmental damage, such as soil or water contamination requiring years of remediation and potentially compromising human and ecosystem health.\r\n\t\t\t\t\t\t\t\tSoil contamination from a significant leak of industrial waste, requiring years of remediation and posing risks to human health and local wildlife.\r\n\t\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\r\n\t\t\t\t\t\t\t\tSevere\r\n\t\t\t\t\t\t\t\tIncidents causing severe environmental damage, such as large spills of hazardous substances requiring extensive cleanup efforts and potentially having long-term effects on flora and fauna.\r\n\t\t\t\t\t\t\t\tA large spill of a hazardous chemical into a river, requiring extensive cleanup efforts and potentially causing long-term effects on aquatic life and water quality.\r\n\t\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\r\n\t\t\t\t\t\t\t\tModerate\r\n\t\t\t\t\t\t\t\tIncidents causing significant but temporary environmental damage, such as spills of hazardous substances requiring cleanup efforts but not causing long-term harm to ecosystems.\r\n\t\t\t\t\t\t\t\tA spill of a hazardous substance, such as a small amount of oil, that requires cleanup efforts but does not cause long-term harm to the local ecosystem.\r\n\t\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\r\n\t\t\t\t\t\t\t\tMinor\r\n\t\t\t\t\t\t\t\tIncidents causing minor environmental damage, such as small spills of non-hazardous substances that can be easily contained and cleaned up without lasting effects.\r\n\t\t\t\t\t\t\t\tA small spill of non-hazardous cleaning solution that is quickly contained and cleaned up without any lasting effects on the 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\t0\r\n\t\t\t\t\t\t\t\tNo consequence\r\n\t\t\t\t\t\t\t\tIncidents or conditions that have no impact on the environment.\r\n\t\t\t\t\t\t\t\tA minor equipment malfunction that does not result in any release of substances or impact on the environment.\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tBarrier\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tEQUIPMENT\r\n\t\t\t\t\t\t\t\tPROCESSES\r\n\t\t\t\t\t\t\t\tPEOPLE\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\t3D model\r\n\t\t\t\t\t\t\t\tAccess control (Watchman, Rack for badge, etc.)\r\n\t\t\t\t\t\t\t\t100% tied off\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tAccess/egress\r\n\t\t\t\t\t\t\t\tAlcohol/drug test\r\n\t\t\t\t\t\t\t\tAfter Action Review\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tAI Smart Camera\r\n\t\t\t\t\t\t\t\tCable management and protection from damage\r\n\t\t\t\t\t\t\t\tAuthorized people identified\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tAir bag set\r\n\t\t\t\t\t\t\t\tCar data monitoring (IVMS, camera, etc..)\r\n\t\t\t\t\t\t\t\tCertified operator (excavator, loader, etc..)\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tAnchor Points-lifelines\r\n\t\t\t\t\t\t\t\tCertified electrical system installed\r\n\t\t\t\t\t\t\t\tCertified platform operator\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tAnti collision system (for excavator, loader, etc..)\r\n\t\t\t\t\t\t\t\tColor code system\r\n\t\t\t\t\t\t\t\tCertified electrician\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tAntifatigue system installed\r\n\t\t\t\t\t\t\t\tColor code system for lifting gears\r\n\t\t\t\t\t\t\t\tCertified equipment (Manlift , etc..)\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tArea Isolation (fire blanket, sparks containment barriers)\r\n\t\t\t\t\t\t\t\tCommunication protocol in place\r\n\t\t\t\t\t\t\t\tCertified or Trained Gas Tester\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tBarricade\r\n\t\t\t\t\t\t\t\tConfined space procedure\r\n\t\t\t\t\t\t\t\tCertified Rescue team\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tCamera on board\r\n\t\t\t\t\t\t\t\tDaily check list\r\n\t\t\t\t\t\t\t\tCertified/Competent scaffolder\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tCertified electrical equipments\r\n\t\t\t\t\t\t\t\tDaily check list done by crane operator\r\n\t\t\t\t\t\t\t\tCompetent Lifting equipment inspector\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tCertified electrical system installed\r\n\t\t\t\t\t\t\t\tDaily checklist done by operator(Manlift, etc..)\r\n\t\t\t\t\t\t\t\tCompetent people (Civil Engineer, Supervisor, Superintendent) to manage the excavation activities\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tCertified equipment (loader, excavator, truck)\r\n\t\t\t\t\t\t\t\tdaily ptw/simops meeting\r\n\t\t\t\t\t\t\t\tCompetent people (Mechanical, electrical, etc..)\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tCertified Rescue equipment (tripod, trolley, etc..)\r\n\t\t\t\t\t\t\t\tDedicated info regarding the designated and responsible persons that oversee  the safety system (including picture, contact detail)\r\n\t\t\t\t\t\t\t\tCrane Operator Certificate\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tChain\r\n\t\t\t\t\t\t\t\tDedicated MOC (Management of change) in case bypassing it's necessary and not planned\r\n\t\t\t\t\t\t\t\tCrane Operator Competence\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tCrane Certificate\r\n\t\t\t\t\t\t\t\tElectrical panel locked and Responsible electrical person clear identified with picture and contact detail\r\n\t\t\t\t\t\t\t\tCrane Operator Training\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tCrane Inspection (periodic by Third party)\r\n\t\t\t\t\t\t\t\tEmergency Plan\r\n\t\t\t\t\t\t\t\tDedicated personnel for PTW dpt\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tCrane Maintenance\r\n\t\t\t\t\t\t\t\tEquipment maintenance\r\n\t\t\t\t\t\t\t\tDesignated and competent people to perform the work\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tDead-man switch installed on grinding machine\r\n\t\t\t\t\t\t\t\tExcavation procedure or Method Statement\r\n\t\t\t\t\t\t\t\tDriving certificate\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tEarthing system\r\n\t\t\t\t\t\t\t\tGas Test\r\n\t\t\t\t\t\t\t\tFlagmen, banksmen in place during moving equipments activities\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tElectrical equipment Low Voltage\r\n\t\t\t\t\t\t\t\tGas Test (Explosivity) before or continuous (when required)\r\n\t\t\t\t\t\t\t\tMaintain 3 points of contact\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tE-PTW or APP or Digital tools\r\n\t\t\t\t\t\t\t\tGround condition assessment before lift (inclination, soil compaction, etc..)\r\n\t\t\t\t\t\t\t\tMedical fitness certificate\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tEquipment Inspection\r\n\t\t\t\t\t\t\t\tJourney management\r\n\t\t\t\t\t\t\t\tOnly authorized people\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tExclusion zone\r\n\t\t\t\t\t\t\t\tLifting Plan, Lifting procedure, Method Statements\r\n\t\t\t\t\t\t\t\tRefresh training (each 6 moths, 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\tFall protection\r\n\t\t\t\t\t\t\t\tLO-TO procedure\r\n\t\t\t\t\t\t\t\tRescue team in place\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tFire extinguisher\r\n\t\t\t\t\t\t\t\tPeriodical inspection (daily, weekly, etc.)\r\n\t\t\t\t\t\t\t\tRigger Certificate\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tFirex\r\n\t\t\t\t\t\t\t\tPeriodical inspection by competent electrician\r\n\t\t\t\t\t\t\t\tRigger Competence\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tFlammable material protection\r\n\t\t\t\t\t\t\t\tPeriodical inspection Safety Harnesses\r\n\t\t\t\t\t\t\t\tRigger Training\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tFlashback arrestor valve installed on oxygen and acetylene hoses\r\n\t\t\t\t\t\t\t\tPeriodical test of GFCI\r\n\t\t\t\t\t\t\t\tSafe driving training\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tGas Cylinders properly stored\r\n\t\t\t\t\t\t\t\tPre-start checklist or Self verification\r\n\t\t\t\t\t\t\t\tScaffolder Advisor/Inspector in the HSE Orgchart\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tGFCI (Ground fault circuit interrupter) system installed\r\n\t\t\t\t\t\t\t\tPTW\r\n\t\t\t\t\t\t\t\tSpecific medical fitness certificate\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tHard barricade\r\n\t\t\t\t\t\t\t\tPTW and JSA\r\n\t\t\t\t\t\t\t\tStop Work Authority\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tHarnesses (smart)\r\n\t\t\t\t\t\t\t\tPTW procedure\r\n\t\t\t\t\t\t\t\tSupervisor, HSE Officer and Foramen available on work site\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tHarnesses Certificate\r\n\t\t\t\t\t\t\t\tRed spade register\r\n\t\t\t\t\t\t\t\tTrained banksmen\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tHarnesses Inspections\r\n\t\t\t\t\t\t\t\tRegular maintenance\r\n\t\t\t\t\t\t\t\tTrained Fire Watchman\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tInvigilo\r\n\t\t\t\t\t\t\t\tRegular maintenance of equipments\r\n\t\t\t\t\t\t\t\tTrained personnel\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tIVMS system\r\n\t\t\t\t\t\t\t\tRescue Plan\r\n\t\t\t\t\t\t\t\tTrained Signalmen\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tLifting Gear Certificate\r\n\t\t\t\t\t\t\t\tScaffold procedure (including erection/dismntling/modifying, scafftag, etc..)\r\n\t\t\t\t\t\t\t\tTraining\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tLocker\r\n\t\t\t\t\t\t\t\tSimops procedure\r\n\t\t\t\t\t\t\t\tTruck driver with proper driving license\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tLocker installed\r\n\t\t\t\t\t\t\t\tSlope inclination method according with geotechnical report\r\n\t\t\t\t\t\t\t\tWorkers Training\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tManlift (MEWP) /Aerial Lift Platform\r\n\t\t\t\t\t\t\t\tSpecific communication protocol\r\n\t\t\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\tMock up installed to brief on Line of fire typical situation\r\n\t\t\t\t\t\t\t\tSpecific communication protocol (people are aware about the safety system present in their worklocation)\r\n\t\t\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\tMultigas detector certified and regularly calibrated\r\n\t\t\t\t\t\t\t\tSpecific safety campaign\r\n\t\t\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\tMultigas detector certified and regularly calibrated (when required)\r\n\t\t\t\t\t\t\t\tSufficient number of Supervision in place (Supervisor and Foramen in proper ratio)\r\n\t\t\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\tP&I available\r\n\t\t\t\t\t\t\t\tTool box talk\r\n\t\t\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\tPedestrian way installed\r\n\t\t\t\t\t\t\t\tTransition phase procedure in place (from Construction to Pre-Comm/Comm phase)\r\n\t\t\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\tPortable electrical tool with double insulation\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\tPPEs\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\tPPEs (gloves, helmet,..)\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\tProper car (4x4 for mountain or similar)\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\tProper safety sign (clear identification and prohibition)  installed on safety control system (multilanguage)\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\tPush pull stick\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\tRadio\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\tRadio when needed\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\tRed Spade\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\tSafety harnesses with positioning lanyard for MEWP\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\tSafety Sign board (Multi language)\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\tSafety system installed (fire&gas, etc..)\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\tScaffold Platform\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\tSCBA apparatus\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\tSealt belt\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\tShore protection system\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\tSparks arrestors\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\tTag-lines\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\tTyre fit for the proper road\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\tUnderground service identification (plot plan available,etc..)\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\tUse of Table or Smartphone\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\tVentilation system\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\tVideo monitoring from external\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\tWell point system\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t);\r\n}\r\n","// RITM1147493\r\nimport { TextInput,\r\n\tButton,\r\n\tCheckbox,\r\n\tRadioButtonGroup,\r\n\tFormGroup,\r\n\tRadioButton,\r\n\tComposedModal,\r\n\tModalHeader,\r\n\tModalBody,\r\n\tModalFooter,\r\n\tDropdownSkeleton,\r\n\tMultiSelect, } from \"carbon-components-react\";\r\nimport React, { Component, useState , useEffect} from \"react\";\r\nimport { ComboBox } from \"../../helpers/ComboBox\";\r\nimport _sortBy from 'lodash/sortBy';\r\nimport { api, dynamic } from '../../helpers/api/api';\r\nimport {\r\n\tgetSuccess,\r\n\tgetError,\r\n\tapioperation\r\n } from '../../helpers/Constants';\r\nimport { showNotification } from \"../../helpers/notification/BaseNotification\";\r\nimport { DateFormat, entitiesLabels } from \"../../helpers/Constants\";\r\nimport PropTypes, { element } from \"prop-types\";\r\nimport HighConsequenceLevelLegend from \"./HighConsequenceLevelLegend\";\r\n\r\nclass IncidentHighConsequence extends Component {\r\n\tconstructor(props){\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\tappHighConsequenceLevelActualHarm: [],\r\n\t\t\tappHighConsequenceLevelPotentialWorstCaseHarm: [],\r\n\t\t\tappHighConsequenceLevelPotentialFinalHarm: [],\r\n\t\t\tappHighConsequenceLevelActualEnv: [],\r\n\t\t\tappHighConsequenceLevelPotentialWorstCaseEnv: [],\r\n\t\t\tappHighConsequenceLevelPotentialFinalHarmEnv: [],\r\n\t\t\tappHighConsequenceLevelHarm: [],\r\n\t\t\tappIncidentEBarrierGroupHarm: [],\r\n\t\t\tappIncidentEBarrierGroupEnv: [],\r\n\t\t\tappIncidentIBarrierGroupHarm: [],\r\n\t\t\tappIncidentIBarrierGroupEnv: [],\r\n\t\t\tappIncidentEBarrierHarm: [],\r\n\t\t\tappIncidentEBarrierEnv: [],\r\n\t\t\tappIncidentIBarrierHarm: [],\r\n\t\t\tappIncidentIBarrierEnv: [],\r\n\t\t\tselectedItemsEBarrierGroupHarm: [],\r\n\t\t\tselectedItemsEBarrierGroupEnv: [],\r\n\t\t\tselectedItemsEBarrierHarm: [],\r\n\t\t\tselectedItemsEBarrierEnv: [],\r\n\t\t\tselectedItemsIBarrierGroupHarm: [],\r\n\t\t\tselectedItemsIBarrierGroupEnv: [],\r\n\t\t\tselectedItemsIBarrierHarm: [],\r\n\t\t\tselectedItemsIBarrierEnv: [],\r\n\t\t\tloading: false,\r\n\t\t\tincidentOutcomesEnums: props.incidentOutcomesEnums,\r\n\t\t}\r\n\t}\r\n\r\n\tasync componentDidMount() {\r\n\t\tthis.setState({loading: true})\r\n\t\tawait this.getIncidentHighConsequenceLevel();\r\n\t\tawait this.getIncidentEBarrierGroup();\r\n\t\tawait this.getIncidentIBarrierGroup();\r\n\t\tawait this.getIncidentEBarrier();\r\n\t\tawait this.getIncidentIBarrier();\r\n\t\tthis.setState({\r\n\t\t\tselectedItemsEBarrierGroupHarm: this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome)?.incidentEffectiveInadequateBarrierGroups?.filter((item) => item.idBarrier === 0)?.map((elem) => elem?.incidentBarrierGroup) || [],\r\n\t\t\tselectedItemsEBarrierGroupEnv: this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome)?.incidentEffectiveInadequateBarrierGroups?.filter((item) => item.idBarrier === 0)?.map((elem) => elem?.incidentBarrierGroup) || [],\r\n\t\t\tselectedItemsEBarrierHarm: this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome)?.incidentBarriers?.filter((item) => item.idBarrier === 0)?.map((elem) => elem?.incidentBarrier) || [],\r\n\t\t\tselectedItemsEBarrierEnv: this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome)?.incidentBarriers?.filter((item) => item.idBarrier === 0)?.map((elem) => elem?.incidentBarrier) || [],\r\n\r\n\t\t\tselectedItemsIBarrierGroupHarm: this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome)?.incidentEffectiveInadequateBarrierGroups?.filter((item) => item.idBarrier === 1)?.map((elem) => elem?.incidentBarrierGroup) || [],\r\n\t\t\tselectedItemsIBarrierGroupEnv: this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome)?.incidentEffectiveInadequateBarrierGroups?.filter((item) => item.idBarrier === 1)?.map((elem) => elem?.incidentBarrierGroup) || [],\r\n\t\t\tselectedItemsIBarrierHarm: this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome)?.incidentBarriers?.filter((item) => item.idBarrier === 1)?.map((elem) => elem?.incidentBarrier) || [],\r\n\t\t\tselectedItemsIBarrierEnv: this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome)?.incidentBarriers?.filter((item) => item.idBarrier === 1)?.map((elem) => elem?.incidentBarrier) || [],\r\n\t\t\tloading: false})\r\n\t}\r\n\r\n\tcomponentDidUpdate(prevProps) {\r\n\t\tconsole.log(this.props.outcomeModel)\r\n\t\tif (prevProps.outcomeModel !== this.props.outcomeModel) {\r\n\t\t\tthis.setState({\r\n\t\t\tselectedItemsEBarrierGroupHarm: this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome)?.incidentEffectiveInadequateBarrierGroups?.filter((item) => item.idBarrier === 0)?.map((elem) => elem?.incidentBarrierGroup) || [],\r\n\t\t\tselectedItemsEBarrierGroupEnv: this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome)?.incidentEffectiveInadequateBarrierGroups?.filter((item) => item.idBarrier === 0)?.map((elem) => elem?.incidentBarrierGroup) || [],\r\n\t\t\tselectedItemsEBarrierHarm: this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome)?.incidentBarriers?.filter((item) => item.idBarrier === 0)?.map((elem) => elem?.incidentBarrier) || [],\r\n\t\t\tselectedItemsEBarrierEnv: this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome)?.incidentBarriers?.filter((item) => item.idBarrier === 0)?.map((elem) => elem?.incidentBarrier) || [],\r\n\r\n\t\t\tselectedItemsIBarrierGroupHarm: this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome)?.incidentEffectiveInadequateBarrierGroups?.filter((item) => item.idBarrier === 1)?.map((elem) => elem?.incidentBarrierGroup) || [],\r\n\t\t\tselectedItemsIBarrierGroupEnv: this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome)?.incidentEffectiveInadequateBarrierGroups?.filter((item) => item.idBarrier === 1)?.map((elem) => elem?.incidentBarrierGroup) || [],\r\n\t\t\tselectedItemsIBarrierHarm: this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome)?.incidentBarriers?.filter((item) => item.idBarrier === 1)?.map((elem) => elem?.incidentBarrier) || [],\r\n\t\t\tselectedItemsIBarrierEnv: this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome)?.incidentBarriers?.filter((item) => item.idBarrier === 1)?.map((elem) => elem?.incidentBarrier) || [],\r\n\t\t\t})\r\n\t\t}\r\n\t }\r\n\r\n\tgetIncidentHighConsequenceLevel = async () => {\r\n\t\tawait dynamic\r\n\t\t .getAll('incidenthighconsequencelevel', { params: { page: 0 } })\r\n\t\t .then((response) => {\r\n\t\t\tconst dataHighConsequenceLevelActualHarm = _sortBy(\r\n\t\t\t\t(response.data.itemList || []).filter((el) => (el.outcome == 0 && el.inUse) || this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome)?.idHighConsequenceLevelActual == el.id),\r\n\t\t\t\t'ranking'\r\n\t\t\t );\r\n\t\t\tconst dataHighConsequenceLevelPotentialWorstCaseHarm = _sortBy(\r\n\t\t\t\t(response.data.itemList || []).filter((el) => (el.outcome == 0 && el.inUse) || this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome)?.idHighConsequenceLevelPotentialWorstCase == el.id),\r\n\t\t\t\t'ranking'\r\n\t\t\t );\r\n\t\t\tconst dataHighConsequenceLevelPotentialFinalHarm = _sortBy(\r\n\t\t\t\t(response.data.itemList || []).filter((el) => (el.outcome == 0 && el.inUse) || this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome)?.idHighConsequenceLevelPotentialFinal == el.id),\r\n\t\t\t\t'ranking'\r\n\t\t\t );\r\n\t\t\tconst dataHighConsequenceLevelActualEnv = _sortBy(\r\n\t\t\t\t(response.data.itemList || []).filter((el) => (el.outcome == 2 && el.inUse) || this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome)?.idHighConsequenceLevelActual == el.id),\r\n\t\t\t\t'ranking'\r\n\t\t\t );\r\n\t\t\tconst dataHighConsequenceLevelPotentialWorstCaseEnv = _sortBy(\r\n\t\t\t\t(response.data.itemList || []).filter((el) => (el.outcome == 2 && el.inUse) || this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome)?.idHighConsequenceLevelPotentialWorstCase == el.id),\r\n\t\t\t\t'ranking'\r\n\t\t\t );\r\n\t\t\tconst dataHighConsequenceLevelPotentialFinalEnv = _sortBy(\r\n\t\t\t\t(response.data.itemList || []).filter((el) => (el.outcome == 2 && el.inUse) || this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome)?.idHighConsequenceLevelPotentialFinal == el.id),\r\n\t\t\t\t'ranking'\r\n\t\t\t );\r\n\t\t\tthis.setState({\r\n\t\t\t\tappHighConsequenceLevelActualHarm: dataHighConsequenceLevelActualHarm,\r\n\t\t\t\tappHighConsequenceLevelPotentialWorstCaseHarm: dataHighConsequenceLevelPotentialWorstCaseHarm,\r\n\t\t\t\tappHighConsequenceLevelPotentialFinalHarm: dataHighConsequenceLevelPotentialFinalHarm,\r\n\t\t\t\tappHighConsequenceLevelActualEnv: dataHighConsequenceLevelActualEnv,\r\n\t\t\t\tappHighConsequenceLevelPotentialWorstCaseEnv: dataHighConsequenceLevelPotentialWorstCaseEnv,\r\n\t\t\t\tappHighConsequenceLevelPotentialFinalEnv: dataHighConsequenceLevelPotentialFinalEnv,\r\n\r\n\t\t\t});\r\n\t\t })\r\n\t\t .catch((error) => {\r\n\t\t\tshowNotification.error(\r\n\t\t\t `${entitiesLabels.ERROR}`,\r\n\t\t\t getError(error, entitiesLabels.HIGHCONSEQUENCE, apioperation.GET)\r\n\t\t\t);\r\n\t\t })\r\n\t\t .finally(() => {});\r\n\t }\r\n\tgetIncidentEBarrierGroup = async () => {\r\n\t\tawait dynamic\r\n\t\t .getAll('incidentbarriergroup', { params: { page: 0 } })\r\n\t\t .then((response) => {\r\n\t\t\tconst dataEGroupHarm = _sortBy(\r\n\t\t\t\t(response.data.itemList || []).filter((el) => (el.inUse) \r\n\t\t\t\t\t|| (this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome)?.incidentBarriers?.filter((item) => item.idBarrier === 0)?.map((element) => element?.incidentBarrier?.incidentBarrierGroup) || []).find((elem) => elem.id === el.id)),\r\n\t\t\t\t'ranking'\r\n\t\t\t );\r\n\t\t\tconst dataEGroupEnv = _sortBy(\r\n\t\t\t\t(response.data.itemList || []).filter((el) => (el.inUse) \r\n\t\t\t\t\t|| (this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome)?.incidentBarriers?.filter((item) => item.idBarrier === 0)?.map((element) => element?.incidentBarrier?.incidentBarrierGroup) || []).find((elem) => elem.id === el.id)),\r\n\t\t\t\t'ranking'\r\n\t\t\t );\r\n\t\t\tthis.setState({\r\n\t\t\t\tappIncidentEBarrierGroupHarm: dataEGroupHarm,\r\n\t\t\t\tappIncidentEBarrierGroupEnv: dataEGroupEnv,\r\n\t\t\t});\r\n\t\t })\r\n\t\t .catch((error) => {\r\n\t\t\tshowNotification.error(\r\n\t\t\t `${entitiesLabels.ERROR}`,\r\n\t\t\t getError(error, entitiesLabels.EFFECTIVEBARRIERGROUP, apioperation.GET)\r\n\t\t\t);\r\n\t\t })\r\n\t\t .finally(() => {});\r\n\t }\r\n\r\n\tgetIncidentIBarrierGroup = async () => {\r\n\t\tawait dynamic\r\n\t\t .getAll('incidentbarriergroup', { params: { page: 0 } })\r\n\t\t .then((response) => {\r\n\t\t\tconst dataIGroupHarm = _sortBy(\r\n\t\t\t\t(response.data.itemList || []).filter((el) => (el.inUse) \r\n\t\t\t\t\t|| (this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome)?.incidentBarriers?.filter((item) => item.idBarrier === 1)?.map((element) => element?.incidentBarrier?.incidentBarrierGroup) || []).find((elem) => elem.id === el.id)),\r\n\t\t\t\t'ranking'\r\n\t\t\t );\r\n\t\t\tconst dataIGroupEnv = _sortBy(\r\n\t\t\t\t(response.data.itemList || []).filter((el) => (el.inUse) \r\n\t\t\t\t\t|| (this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome)?.incidentBarriers?.filter((item) => item.idBarrier === 1)?.map((element) => element?.incidentBarrier?.incidentBarrierGroup) || []).find((elem) => elem.id === el.id)),\r\n\t\t\t\t'ranking'\r\n\t\t\t );\r\n\t\t\tthis.setState({\r\n\t\t\t\tappIncidentIBarrierGroupHarm: dataIGroupHarm,\r\n\t\t\t\tappIncidentIBarrierGroupEnv: dataIGroupEnv,\r\n\t\t\t});\r\n\t\t })\r\n\t\t .catch((error) => {\r\n\t\t\tshowNotification.error(\r\n\t\t\t `${entitiesLabels.ERROR}`,\r\n\t\t\t getError(error, entitiesLabels.INADEQUATEBARRIERGROUP, apioperation.GET)\r\n\t\t\t);\r\n\t\t })\r\n\t\t .finally(() => {});\r\n\t }\r\n\r\n\tgetIncidentEBarrier = async (selectedBarrierGroups) => {\r\n\t\tawait dynamic\r\n\t\t .getAll('incidentbarrier', { params: { page: 0 } })\r\n\t\t .then((response) => {\r\n\t\t\tif(selectedBarrierGroups == undefined)\r\n\t\t\t{\r\n\t\t\t\tconst dataEHarm = _sortBy(\r\n\t\t\t\t\t(response.data.itemList || []).filter((el) => (selectedBarrierGroups != null \r\n\t\t\t\t\t\t? selectedBarrierGroups.find(x => x.idIncidentBarrierGroup == el.idIncidentBarrierGroup): true) && ((el.inUse && (this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome)?.incidentBarriers?.filter((item) => item.idBarrier === 0)?.map((element) => element?.incidentBarrier?.incidentBarrierGroup) || []).find((elem) => elem.id === el.idIncidentBarrierGroup)) \r\n\t\t\t\t\t\t|| (this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome)?.incidentBarriers?.filter((item) => item.idBarrier === 0)?.map((element) => element?.incidentBarrier?.incidentBarrierGroup) || []).find((elem) => elem.id === el.idIncidentBarrierGroup))),\r\n\t\t\t\t\t[(p) => p.ranking, (p) => p.name?.toLowerCase()]\r\n\t\t\t\t );\r\n\t\t\t\tconst dataEEnv = _sortBy(\r\n\t\t\t\t\t(response.data.itemList || []).filter((el) => (selectedBarrierGroups != null \r\n\t\t\t\t\t\t? selectedBarrierGroups.find(x => x.idIncidentBarrierGroup == el.idIncidentBarrierGroup): true) && ((el.inUse && (this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome)?.incidentBarriers?.filter((item) => item.idBarrier === 0)?.map((element) => element?.incidentBarrier?.incidentBarrierGroup) || []).find((elem) => elem.id === el.idIncidentBarrierGroup)) \r\n\t\t\t\t\t\t|| (this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome)?.incidentBarriers?.filter((item) => item.idBarrier === 0)?.map((element) => element?.incidentBarrier?.incidentBarrierGroup) || []).find((elem) => elem.id === el.idIncidentBarrierGroup))),\r\n\t\t\t\t\t[(p) => p.ranking, (p) => p.name?.toLowerCase()]\r\n\t\t\t\t );\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tappIncidentEBarrierHarm: dataEHarm,\r\n\t\t\t\t\tappIncidentEBarrierEnv: dataEEnv,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tif (this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome)\r\n\t\t\t\t{\r\n\t\t\t\t\tconst dataEHarm = _sortBy(\r\n\t\t\t\t\t\t(response.data.itemList || []).filter((el) => (selectedBarrierGroups != null \r\n\t\t\t\t\t\t\t? selectedBarrierGroups.find(x => x.idIncidentBarrierGroup == el.idIncidentBarrierGroup): true) && ((el.inUse) \r\n\t\t\t\t\t\t\t|| (this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome)?.incidentBarriers?.filter((item) => item.idBarrier === 0)?.map((element) => element?.incidentBarrier?.incidentBarrierGroup) || []).find((elem) => elem.id === el.idIncidentBarrierGroup && selectedBarrierGroups.find(x => x.idIncidentBarrierGroup == el.idIncidentBarrierGroup)))),\r\n\t\t\t\t\t\t[(p) => p.ranking, (p) => p.name?.toLowerCase()]\r\n\t\t\t\t\t );\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tappIncidentEBarrierHarm: dataEHarm,\r\n\t\t\t\t\t\tselectedItemsEBarrierHarm: this.state.selectedItemsEBarrierHarm.filter(x => selectedBarrierGroups.find(el => el.idIncidentBarrierGroup == x.idIncidentBarrierGroup)),\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\telse if(this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome)\r\n\t\t\t\t{\r\n\t\t\t\t\tconst dataEEnv = _sortBy(\r\n\t\t\t\t\t\t(response.data.itemList || []).filter((el) => (selectedBarrierGroups != null \r\n\t\t\t\t\t\t\t? selectedBarrierGroups.find(x => x.idIncidentBarrierGroup == el.idIncidentBarrierGroup): true) && ((el.inUse) \r\n\t\t\t\t\t\t\t|| (this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome)?.incidentBarriers?.filter((item) => item.idBarrier === 0)?.map((element) => element?.incidentBarrier?.incidentBarrierGroup) || []).find((elem) => elem.id === el.idIncidentBarrierGroup && selectedBarrierGroups.find(x => x.idIncidentBarrierGroup == el.idIncidentBarrierGroup)))),\r\n\t\t\t\t\t\t[(p) => p.ranking, (p) => p.name?.toLowerCase()]\r\n\t\t\t\t\t );\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tappIncidentEBarrierEnv: dataEEnv,\r\n\t\t\t\t\t\tselectedItemsEBarrierEnv: this.state.selectedItemsEBarrierEnv.filter(x => selectedBarrierGroups.find(el => el.idIncidentBarrierGroup == x.idIncidentBarrierGroup)),\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tappIncidentEBarrierHarm: [],\r\n\t\t\t\t\t\tappIncidentEBarrierEnv: [],\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t })\r\n\t\t .catch((error) => {\r\n\t\t\tshowNotification.error(\r\n\t\t\t `${entitiesLabels.ERROR}`,\r\n\t\t\t getError(error, entitiesLabels.EFFECTIVEBARRIER, apioperation.GET)\r\n\t\t\t);\r\n\t\t })\r\n\t\t .finally(() => {});\r\n\t }\r\n\tgetIncidentIBarrier = async (selectedBarrierGroups, idBarrier) => {\r\n\t\tawait dynamic\r\n\t\t .getAll('incidentbarrier', { params: { page: 0 } })\r\n\t\t .then((response) => {\r\n\t\t\tif(selectedBarrierGroups == undefined)\r\n\t\t\t{\r\n\t\t\t\tconst dataIHarm = _sortBy(\r\n\t\t\t\t\t(response.data.itemList || []).filter((el) => (selectedBarrierGroups != null \r\n\t\t\t\t\t\t? selectedBarrierGroups.find(x => x.idIncidentBarrierGroup == el.idIncidentBarrierGroup): true) && ((el.inUse && (this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome)?.incidentBarriers?.filter((item) => item.idBarrier === 1)?.map((element) => element?.incidentBarrier?.incidentBarrierGroup) || []).find((elem) => elem.id === el.idIncidentBarrierGroup)) \r\n\t\t\t\t\t\t|| (this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome)?.incidentBarriers?.filter((item) => item.idBarrier === 1)?.map((element) => element?.incidentBarrier?.incidentBarrierGroup) || []).find((elem) => elem.id === el.idIncidentBarrierGroup))),\r\n\t\t\t\t\t[(p) => p.ranking, (p) => p.name?.toLowerCase()]\r\n\t\t\t\t );\r\n\t\t\t\tconst dataIEnv = _sortBy(\r\n\t\t\t\t\t(response.data.itemList || []).filter((el) => (selectedBarrierGroups != null \r\n\t\t\t\t\t\t? selectedBarrierGroups.find(x => x.idIncidentBarrierGroup == el.idIncidentBarrierGroup): true) && ((el.inUse && (this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome)?.incidentBarriers?.filter((item) => item.idBarrier === 1)?.map((element) => element?.incidentBarrier?.incidentBarrierGroup) || []).find((elem) => elem.id === el.idIncidentBarrierGroup)) \r\n\t\t\t\t\t\t|| (this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome)?.incidentBarriers?.filter((item) => item.idBarrier === 1)?.map((element) => element?.incidentBarrier?.incidentBarrierGroup) || []).find((elem) => elem.id === el.idIncidentBarrierGroup))),\r\n\t\t\t\t\t[(p) => p.ranking, (p) => p.name?.toLowerCase()]\r\n\t\t\t\t );\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tappIncidentIBarrierHarm: dataIHarm,\r\n\t\t\t\t\tappIncidentIBarrierEnv: dataIEnv,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tif (this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome)\r\n\t\t\t\t{\r\n\t\t\t\t\tconst dataIHarm = _sortBy(\r\n\t\t\t\t\t\t(response.data.itemList || []).filter((el) => (selectedBarrierGroups != null \r\n\t\t\t\t\t\t\t? selectedBarrierGroups.find(x => x.idIncidentBarrierGroup == el.idIncidentBarrierGroup): true) && ((el.inUse) \r\n\t\t\t\t\t\t\t|| (this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome)?.incidentBarriers?.filter((item) => item.idBarrier === 1)?.map((element) => element?.incidentBarrier?.incidentBarrierGroup) || []).find((elem) => elem.id === el.idIncidentBarrierGroup && selectedBarrierGroups.find(x => x.idIncidentBarrierGroup == el.idIncidentBarrierGroup)))),\r\n\t\t\t\t\t\t[(p) => p.ranking, (p) => p.name?.toLowerCase()]\r\n\t\t\t\t\t );\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tappIncidentIBarrierHarm: dataIHarm,\r\n\t\t\t\t\t\tselectedItemsIBarrierHarm: this.state.selectedItemsIBarrierHarm.filter(x => selectedBarrierGroups.find(el => el.idIncidentBarrierGroup == x.idIncidentBarrierGroup)),\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\telse if(this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome)\r\n\t\t\t\t{\r\n\t\t\t\t\tconst dataIEnv = _sortBy(\r\n\t\t\t\t\t\t(response.data.itemList || []).filter((el) => (selectedBarrierGroups != null \r\n\t\t\t\t\t\t\t? selectedBarrierGroups.find(x => x.idIncidentBarrierGroup == el.idIncidentBarrierGroup): true) && ((el.inUse) \r\n\t\t\t\t\t\t\t|| (this.props.outcomeModel?.find(out => out.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome)?.incidentBarriers?.filter((item) => item.idBarrier === 1)?.map((element) => element?.incidentBarrier?.incidentBarrierGroup) || []).find((elem) => elem.id === el.idIncidentBarrierGroup && selectedBarrierGroups.find(x => el.idIncidentBarrierGroup == x.idIncidentBarrierGroup)))),\r\n\t\t\t\t\t\t[(p) => p.ranking, (p) => p.name?.toLowerCase()]\r\n\t\t\t\t\t );\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tappIncidentIBarrierEnv: dataIEnv,\r\n\t\t\t\t\t\tselectedItemsIBarrierEnv: this.state.selectedItemsIBarrierEnv.filter(x => selectedBarrierGroups.find(el => el.idIncidentBarrierGroup == x.idIncidentBarrierGroup)),\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tappIncidentIBarrierHarm: [],\r\n\t\t\t\t\t\tappIncidentIBarrierEnv: [],\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t })\r\n\t\t .catch((error) => {\r\n\t\t\tshowNotification.error(\r\n\t\t\t `${entitiesLabels.ERROR}`,\r\n\t\t\t getError(error, entitiesLabels.INADEQUATEBARRIER, apioperation.GET)\r\n\t\t\t);\r\n\t\t })\r\n\t\t .finally(() => {});\r\n\t }\r\n\thandleChangeCombo = (inputName, selectedItem, objName) => {\r\n\t\tconst inputValue = selectedItem ? selectedItem.id : null;\r\n\t\tconst s = inputName.split(\"_\")\r\n\t\tthis.props.handleHighConsequenceLevel(inputValue, s[0], this.props.selectedOutcomeModel?.idOutcome);\r\n\t };\r\n\r\n\tonChangeEBarrierGroup = (selectedItem) => {\r\n\t\tconst items = selectedItem ? selectedItem.selectedItems : null;\r\n\t\tthis.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome\r\n\t\t? (this.setState({\r\n\t\t\tselectedItemsEBarrierGroupHarm: items,\r\n\t\t })) \r\n\t\t: this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome \r\n\t\t? this.setState({\r\n\t\t\tselectedItemsEBarrierGroupEnv: items,\r\n\t\t })\r\n\t\t: this.setState({\r\n\t\t\tselectedItemsEBarrierGroupHarm: [],\r\n\t\t\tselectedItemsEBarrierGroupEnv: [],\r\n\t\t })\r\n\t\tthis.getIncidentEBarrier(items?.map((elem) =>({idIncidentBarrierGroup: elem.id})));\r\n\t\tconst element = items?.map((elem) =>({incidentBarrierGroup: elem, idBarrier: 0}))\r\n\t\tthis.props.handleIncidentOutcomeBarrier(element, \"incidentEffectiveInadequateBarrierGroups\", this.props.selectedOutcomeModel?.idOutcome, 0);\r\n\t };\r\n\r\n\tonChangeEBarrier = (selectedItem) => {\r\n\t\tconst items = selectedItem ? selectedItem.selectedItems : null;\r\n\t\tthis.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome \r\n\t\t? (this.setState({\r\n\t\t\tselectedItemsEBarrierHarm: items,\r\n\t\t\t//appIncidentEBarrierGroupHarm: this.state.appIncidentEBarrierGroupHarm.filter(x => items.find(el => el.idIncidentBarrierGroup == x.id)),\r\n\t\t\tselectedItemsEBarrierGroupHarm: this.state.selectedItemsEBarrierGroupHarm.filter(x => items.find(el => el.idIncidentBarrierGroup == x.id)),\r\n\t\t })) \r\n\t\t: this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome \r\n\t\t? this.setState({\r\n\t\t\tselectedItemsEBarrierEnv: items,\r\n\t\t\t//appIncidentEBarrierGroupEnv: this.state.appIncidentEBarrierGroupEnv.filter(x => items.find(el => el.idIncidentBarrierGroup == x.id)),\r\n\t\t\tselectedItemsEBarrierGroupEnv: this.state.selectedItemsEBarrierGroupEnv.filter(x => items.find(el => el.idIncidentBarrierGroup == x.id)),\r\n\t\t })\r\n\t\t: this.setState({\r\n\t\t\tselectedItemsEBarrierHarm: [],\r\n\t\t\tselectedItemsEBarrierEnv: [],\r\n\t\t })\r\n\t\tconst element = items?.map((elem) =>({incidentBarrier: elem, idBarrier: 0}))\r\n\t\t// const effectiveInadequateBarrierGroupElement = this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome \r\n\t\t// \t\t? this.state.selectedItemsEBarrierGroupHarm?.map((elem) =>({incidentBarrierGroup: elem, idBarrier: 0})) \r\n\t\t// \t\t: this.state.selectedItemsEBarrierGroupEnv?.map((elem) =>({incidentBarrierGroup: elem, idBarrier: 0})) \r\n\t\tthis.props.handleIncidentOutcomeBarrier(element, \"incidentBarriers\", this.props.selectedOutcomeModel?.idOutcome, 0);\r\n\t };\r\n\r\n\tonChangeIBarrierGroup = (selectedItem) => {\r\n\t\tconst items = selectedItem ? selectedItem.selectedItems : null;\r\n\t\tthis.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome \r\n\t\t? (this.setState({\r\n\t\t\tselectedItemsIBarrierGroupHarm: items,\r\n\t\t })) \r\n\t\t: this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome \r\n\t\t? this.setState({\r\n\t\t\tselectedItemsIBarrierGroupEnv: items,\r\n\t\t })\r\n\t\t: this.setState({\r\n\t\t\tselectedItemsIBarrierGroupHarm: [],\r\n\t\t\tselectedItemsIBarrierGroupEnv: [],\r\n\t\t })\r\n\t\tthis.getIncidentIBarrier(items?.map((elem) =>({idIncidentBarrierGroup: elem.id})));\r\n\t\tconst element = items?.map((elem) =>({incidentBarrierGroup: elem, idBarrier: 1}))\r\n\t\tthis.props.handleIncidentOutcomeBarrier(element, \"incidentEffectiveInadequateBarrierGroups\", this.props.selectedOutcomeModel?.idOutcome, 1);\r\n\t };\r\n\r\n\tonChangeIBarrier = (selectedItem) => {\r\n\t\tconst items = selectedItem ? selectedItem.selectedItems : null;\r\n\t\tthis.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome \r\n\t\t? (this.setState({\r\n\t\t\tselectedItemsIBarrierHarm: items,\r\n\t\t\t//appIncidentIBarrierGroupHarm: this.state.appIncidentIBarrierGroupHarm.filter(x => items.find(el => el.idIncidentBarrierGroup == x.id)),\r\n\t\t\tselectedItemsIBarrierGroupHarm: this.state.selectedItemsIBarrierGroupHarm.filter(x => items.find(el => el.idIncidentBarrierGroup == x.id)),\r\n\t\t })) \r\n\t\t: this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome \r\n\t\t? this.setState({\r\n\t\t\tselectedItemsIBarrierEnv: items,\r\n\t\t\t//appIncidentIBarrierGroupEnv: this.state.appIncidentIBarrierGroupEnv.filter(x => items.find(el => el.idIncidentBarrierGroup == x.id)),\r\n\t\t\tselectedItemsIBarrierGroupEnv: this.state.selectedItemsIBarrierGroupEnv.filter(x => items.find(el => el.idIncidentBarrierGroup == x.id)),\r\n\t\t })\r\n\t\t: this.setState({\r\n\t\t\tselectedItemsIBarrierHarm: [],\r\n\t\t\tselectedItemsIBarrierEnv: [],\r\n\t\t })\r\n\t\tconst element = items?.map((elem) =>({incidentBarrier: elem, idBarrier: 1}))\r\n\t\t// const effectiveInadequateBarrierGroupElement = this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome \r\n\t\t// \t\t? this.state.selectedItemsIBarrierGroupHarm?.map((elem) =>({incidentBarrierGroup: elem, idBarrier: 1})) \r\n\t\t// \t\t: this.state.selectedItemsIBarrierGroupEnv?.map((elem) =>({incidentBarrierGroup: elem, idBarrier: 1})) \r\n\t\tthis.props.handleIncidentOutcomeBarrier(element, \"incidentBarriers\", this.props.selectedOutcomeModel?.idOutcome, 1);\r\n\t };\r\n\r\n\treturnIncidentBarriers = (id, property) =>\t{\r\n\t\t\tif(property === \"EBarrierGroup\") \r\n\t\t\t{\r\n\t\t\t\treturn this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome \r\n\t\t\t\t? (this.state.selectedItemsEBarrierGroupHarm?.find(el => el.id === id) ? true : false)\r\n\t\t\t\t: this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome\r\n\t\t\t\t? (this.state.selectedItemsEBarrierGroupEnv?.find(el => el.id === id) ? true : false)\r\n\t\t\t\t: false\r\n\t\t\t}\r\n\t\t\telse if (property === \"EBarrier\")\r\n\t\t\t{\r\n\t\t\t\treturn this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome \r\n\t\t\t\t? (this.state.selectedItemsEBarrierHarm?.find(el => el.id === id) ? true : false)\r\n\t\t\t\t: this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome\r\n\t\t\t\t? (this.state.selectedItemsEBarrierEnv?.find(el => el.id === id) ? true : false)\r\n\t\t\t\t: false\r\n\t\t\t}\r\n\t\t\telse if(property === \"IBarrierGroup\") \r\n\t\t\t{\r\n\t\t\t\treturn this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome \r\n\t\t\t\t? (this.state.selectedItemsIBarrierGroupHarm?.find(el => el.id === id) ? true : false)\r\n\t\t\t\t: this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome\r\n\t\t\t\t? (this.state.selectedItemsIBarrierGroupEnv?.find(el => el.id === id) ? true : false)\r\n\t\t\t\t: false\r\n\t\t\t}\r\n\t\t\telse if (property === \"IBarrier\")\r\n\t\t\t{\r\n\t\t\t\treturn this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome \r\n\t\t\t\t? (this.state.selectedItemsIBarrierHarm?.find(el => el.id === id) ? true : false)\r\n\t\t\t\t: this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome\r\n\t\t\t\t? (this.state.selectedItemsIBarrierEnv?.find(el => el.id === id) ? true : false)\r\n\t\t\t\t: false\r\n\t\t\t}\r\n\t\t}\r\n\t\r\n\trender() {\r\n\t\t\treturn (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t{this.props.isVisible && this.props.selectedOutcomeModel?.idOutcome !== this.state.incidentOutcomesEnums[\"outcomeAsset\"].idOutcome ? (\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 (item ? item.name : \"\")}\r\n\t\t\t\t\t\t\t\t\t\t\t\titems={this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome ? this.state.appHighConsequenceLevelActualHarm : this.state.appHighConsequenceLevelActualEnv}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedItem={((this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome ? this.state.appHighConsequenceLevelActualHarm : this.state.appHighConsequenceLevelActualEnv) || []).find(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t(el) => el.id == this.props.selectedOutcomeModel?.idHighConsequenceLevelActual\r\n\t\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.props.isDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\tinvalid={this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome ? this.props.validations.highConsequenceLevelActualHarm != null : this.props.validations.highConsequenceLevelActualEnv != null}\r\n\t\t\t\t\t\t\t\t\t\t\t\tinvalidText={this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome ? this.props.validations.highConsequenceLevelActualHarm : this.props.validations.highConsequenceLevelActualEnv}\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 (item ? item.name : \"\")}\r\n\t\t\t\t\t\t\t\t\t\t\t\titems={this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome ? this.state.appHighConsequenceLevelPotentialWorstCaseHarm : this.state.appHighConsequenceLevelPotentialWorstCaseEnv}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedItem={((this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome ? this.state.appHighConsequenceLevelPotentialWorstCaseHarm : this.state.appHighConsequenceLevelPotentialWorstCaseEnv) || []).find(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t(el) => el.id == this.props.selectedOutcomeModel?.idHighConsequenceLevelPotentialWorstCase\r\n\t\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.props.isDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\tinvalid={this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome ? this.props.validations.highConsequenceLevelPotentialWorstCaseHarm != null : this.props.validations.highConsequenceLevelPotentialWorstCaseEnv != null}\r\n\t\t\t\t\t\t\t\t\t\t\t\tinvalidText={this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome ? this.props.validations.highConsequenceLevelPotentialWorstCaseHarm : this.props.validations.highConsequenceLevelPotentialWorstCaseEnv}\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{this.state.loading ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t el.name).join(', '))\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome ? (this.state.selectedItemsEBarrierGroupEnv < 1 \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'Choose one or more effective barrier groups'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: this.state.selectedItemsEBarrierGroupEnv.map((el) => el.name).join(', '))\r\n\t\t\t\t\t\t\t\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\titemToString={(item) => (item ? item && item.name : '')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\titems={this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome ? this.state.appIncidentEBarrierGroupHarm : this.state.appIncidentEBarrierGroupEnv }\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlight={false}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={this.onChangeEBarrierGroup}\r\n\t\t\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\t\t\tsortItems={(items) => items}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinitialSelectedItems ={((this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome ? this.state.appIncidentEBarrierGroupHarm : this.state.appIncidentEBarrierGroupEnv) || []).filter((el) => this.returnIncidentBarriers(el.id, \"EBarrierGroup\"))}\r\n\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\t\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\t\r\n\t\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.idBarrier === 0)?.length < 1) \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t|| (this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? this.state.selectedItemsEBarrierGroupHarm < 1 : this.state.selectedItemsEBarrierGroupEnv < 1)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome ? (this.state.selectedItemsEBarrierHarm < 1 \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'Choose one or more effective barriers'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: this.state.selectedItemsEBarrierHarm.map((el) => el.name).join(', '))\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome ? (this.state.selectedItemsEBarrierEnv < 1 \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'Choose one or more effective barriers'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: this.state.selectedItemsEBarrierEnv.map((el) => el.name).join(', '))\r\n\t\t\t\t\t\t\t\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\titemToString={(item) => (item ? item && item.name : '')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\titems={this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome ? this.state.appIncidentEBarrierHarm: this.state.appIncidentEBarrierEnv}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlight={false}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={this.onChangeEBarrier}\r\n\t\t\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\t\t\tsortItems={(items) => items}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinitialSelectedItems ={((this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome ? this.state.appIncidentEBarrierHarm: this.state.appIncidentEBarrierEnv) || []).filter((e) => this.returnIncidentBarriers(e.id, \"EBarrier\"))}\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\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{this.state.loading ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t el.name).join(', '))\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome ? (this.state.selectedItemsIBarrierGroupEnv < 1 \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'Choose one or more inadequate barrier groups'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: this.state.selectedItemsIBarrierGroupEnv.map((el) => el.name).join(', '))\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: '')\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titemToString={(item) => (item ? item && item.name : '')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titems={this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome ? this.state.appIncidentIBarrierGroupHarm : this.state.appIncidentIBarrierGroupEnv}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlight={false}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={this.onChangeIBarrierGroup}\r\n\t\t\t\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\t\t\t\tsortItems={(items) => items}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinitialSelectedItems ={((this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome ? this.state.appIncidentIBarrierGroupHarm : this.state.appIncidentIBarrierGroupEnv) || []).filter((el) => this.returnIncidentBarriers(el.id, \"IBarrierGroup\"))}\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\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{this.state.loading ? (\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.idBarrier === 1)?.length < 1) \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t|| (this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? this.state.selectedItemsIBarrierGroupHarm < 1 : this.state.selectedItemsIBarrierGroupEnv < 1)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome ? (this.state.selectedItemsIBarrierHarm < 1 \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'Choose one or more inadequate barriers'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: this.state.selectedItemsIBarrierHarm.map((el) => el.name).join(', '))\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeEnvironmental\"].idOutcome ? (this.state.selectedItemsIBarrierEnv < 1 \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'Choose one or more inadequate barriers'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: this.state.selectedItemsIBarrierEnv.map((el) => el.name).join(', '))\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\titemToString={(item) => (item ? item && item.name : '')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titems={this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome ? this.state.appIncidentIBarrierHarm: this.state.appIncidentIBarrierEnv}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlight={false}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={this.onChangeIBarrier}\r\n\t\t\t\t\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\t\t\t\t\tsortItems={(items) => items}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinitialSelectedItems ={((this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome ? this.state.appIncidentIBarrierHarm: this.state.appIncidentIBarrierEnv) || []).filter((e) => this.returnIncidentBarriers(e.id, \"IBarrier\"))}\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\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 (item ? item.name : \"\")}\r\n\t\t\t\t\t\t\t\t\t\t\t\titems={this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome ? this.state.appHighConsequenceLevelPotentialFinalHarm : this.state.appHighConsequenceLevelPotentialFinalEnv}\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedItem={((this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome ? this.state.appHighConsequenceLevelPotentialFinalHarm : this.state.appHighConsequenceLevelPotentialFinalEnv) || []).find(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t(el) => el.id == this.props.selectedOutcomeModel?.idHighConsequenceLevelPotentialFinal\r\n\t\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.props.isDisabled}\r\n\t\t\t\t\t\t\t\t\t\t\t\tinvalid={this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome ? this.props.validations.highConsequenceLevelPotentialFinalHarm != null : this.props.validations.highConsequenceLevelPotentialFinalEnv != null}\r\n\t\t\t\t\t\t\t\t\t\t\t\tinvalidText={this.props.selectedOutcomeModel?.idOutcome === this.state.incidentOutcomesEnums[\"outcomeHarm\"].idOutcome ? this.props.validations.highConsequenceLevelPotentialFinalHarm : this.props.validations.highConsequenceLevelPotentialFinalEnv}\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
    \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 );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\nIncidentHighConsequence.propTypes = {\r\n\tinvalid: PropTypes.bool,\r\n\tinvalidText: PropTypes.string,\r\n\tsection: PropTypes.string,\r\n\tloadAll: PropTypes.bool,\r\n\tonChange: PropTypes.func.isRequired,\r\n\tonError: PropTypes.func.isRequired,\r\n\tinitialSelectedItems: PropTypes.array,\r\n\tdisabled: PropTypes.bool,\r\n };\r\nIncidentHighConsequence.defaultProps = {\r\n\tinvalid: false,\r\n\tinvalidText: '',\r\n\tsection: null,\r\n\tloadAll: false,\r\n\tinitialSelectedItems: [],\r\n\tdisabled: true,\r\n };\r\nexport default IncidentHighConsequence;\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 DropdownSkeleton, //RITM1143712\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\nimport IncidentHighConsequence from './IncidentHighConsequence'; //RITM1147493\r\n//RITM1147493\r\n// const 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// // idHighConsequenceLevelActual: null, //RITM1147493\r\n// // idHighConsequenceLevelPotentialWorstCase: null, //RITM1147493\r\n// // idHighConsequenceLevelPotentialFinal: null, //RITM1147493\r\n// };\r\n\r\nconst baseUrl = '/incident/';\r\nconst filterByDate = (el, date) => {\r\n let startDate = moment(el.start).format('YYYY-MM-DD'); //A2_Start_Date_End_Date_Issue\r\n let endDate = moment(el.end).format('YYYY-MM-DD'); //A2_Start_Date_End_Date_Issue\r\n return startDate <= moment(date).format('YYYY-MM-DD') && moment(date).format('YYYY-MM-DD') <= endDate; //A2_Start_Date_End_Date_Issue\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 //RITM1147493\r\n // incidentModel: {\r\n // ...incidentTabNotificationsModel,\r\n // },\r\n incidentModel: {\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 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 //RITM1063909\r\n let emergencyClassRadio = null;\r\n if (id == 'realOutcomeAsset' || id == 'realOutcomeEnvironmental' || id == 'realOutcomeHarm') emergencyClassRadio = 'emergencyClass';\r\n \r\n if (emergencyClassRadio != null) this.updateState(emergencyClassRadio, '', 'incidentModel');\r\n //End\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 //RITM1147493\r\n handleHighConsequenceLevel = (items, 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] = items\r\n if (!existOutcome) statusCopy.incidentOutcomes ? statusCopy.incidentOutcomes.push(outcome) : statusCopy.incidentOutcomes = [outcome]\r\n \r\n this.setState({ incidentModel: statusCopy })\r\n }\r\n\r\n handleIncidentOutcomeBarrier = (items, property, outcomeId, barrierId) => {\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.incidentEffectiveInadequateBarrierGroups = effectiveInadequateBarrierGroupElements ?? []\r\n //outcome[property] = items\r\n //outcome.incidentEffectiveInadequateBarrierGroups ? outcome.incidentEffectiveInadequateBarrierGroups.push(...effectiveInadequateBarrierGroupElements ?? []) : outcome.incidentEffectiveInadequateBarrierGroups = [...effectiveInadequateBarrierGroupElements ?? []]\r\n if(property == 'incidentEffectiveInadequateBarrierGroups')\r\n {\r\n const newIncidentEffectiveInadequateBarrierGroup = []\r\n const newIncidentBarriers = []\r\n items.forEach((incidentEffectiveInadequateBarrierGroup) => {\r\n newIncidentEffectiveInadequateBarrierGroup.push({\r\n ...incidentEffectiveInadequateBarrierGroup\r\n })\r\n })\r\n \r\n const otherIncidentBarrierGroups = outcome[property]?.filter(x => x?.idBarrier !== barrierId).map(el => el)\r\n if(otherIncidentBarrierGroups && otherIncidentBarrierGroups.length > 0)\r\n otherIncidentBarrierGroups.forEach((incidentEffectiveInadequateBarrierGroup) => {\r\n newIncidentEffectiveInadequateBarrierGroup.push({\r\n ...incidentEffectiveInadequateBarrierGroup\r\n })\r\n })\r\n const incidentBarriers = outcome['incidentBarriers']?.filter(x => items.find(el => el.incidentBarrierGroup.id == x?.incidentBarrier?.idIncidentBarrierGroup && el.idBarrier == x?.idBarrier)).map(elem => elem) \r\n if (incidentBarriers && incidentBarriers.length > 0)\r\n incidentBarriers.forEach((incidentBarrier) => {\r\n newIncidentBarriers.push({\r\n ...incidentBarrier\r\n })\r\n })\r\n const otherincidentBarriers = outcome['incidentBarriers']?.filter(x => x?.idBarrier !== barrierId).map(el => el) \r\n if (otherincidentBarriers && otherincidentBarriers.length > 0)\r\n otherincidentBarriers.forEach((incidentBarrier) => {\r\n newIncidentBarriers.push({\r\n ...incidentBarrier\r\n })\r\n }) \r\n outcome[property] = [...newIncidentEffectiveInadequateBarrierGroup]\r\n outcome['incidentBarriers'] =[...newIncidentBarriers]\r\n }\r\n else if (property == 'incidentBarriers')\r\n {\r\n const newIncidentBarriers = []\r\n const newIncidentEffectiveInadequateBarrierGroup = []\r\n items.forEach((incidentBarrier) => {\r\n newIncidentBarriers.push({\r\n ...incidentBarrier\r\n })\r\n })\r\n\r\n const otherincidentBarriers = outcome[property]?.filter(x => x?.idBarrier !== barrierId).map(el => el)\r\n if(otherincidentBarriers && otherincidentBarriers.length > 0)\r\n otherincidentBarriers.forEach((incidentBarrier) => {\r\n newIncidentBarriers.push({\r\n ...incidentBarrier\r\n })\r\n })\r\n\r\n const incidentBarrierGroups = outcome['incidentEffectiveInadequateBarrierGroups']?.filter(x => items.find(el => el.incidentBarrier.idIncidentBarrierGroup == x?.incidentBarrierGroup?.id && el.idBarrier == x?.idBarrier)).map(elem => elem) \r\n if (incidentBarrierGroups && incidentBarrierGroups.length > 0)\r\n incidentBarrierGroups.forEach((incidentEffectiveInadequateBarrierGroup) => {\r\n newIncidentEffectiveInadequateBarrierGroup.push({\r\n ...incidentEffectiveInadequateBarrierGroup\r\n })\r\n })\r\n\r\n const otherincidentBarrierGroups = outcome['incidentEffectiveInadequateBarrierGroups']?.filter(x => x?.idBarrier !== barrierId).map(el => el) \r\n if (otherincidentBarrierGroups && otherincidentBarrierGroups.length > 0)\r\n otherincidentBarrierGroups.forEach((incidentEffectiveInadequateBarrierGroup) => {\r\n newIncidentEffectiveInadequateBarrierGroup.push({\r\n ...incidentEffectiveInadequateBarrierGroup\r\n })\r\n })\r\n outcome[property] = [...newIncidentBarriers]\r\n outcome['incidentEffectiveInadequateBarrierGroups'] =[...newIncidentEffectiveInadequateBarrierGroup] \r\n }\r\n \r\n //outcome[property] ? outcome[property].push(...items) : outcome[property] = [...items]\r\n \r\n if (!existOutcome) statusCopy.incidentOutcomes ? statusCopy.incidentOutcomes.push(outcome) : statusCopy.incidentOutcomes = [outcome]\r\n \r\n this.setState({ incidentModel: statusCopy })\r\n }\r\n\r\n //RITM1143712\r\n handleSpecifyOthersTypology = (el) => {\r\n let inputValue = el.target.value;\r\n let objName = el.target.alt;\r\n this.updateStateIT(\"specifyOther\", inputValue, objName, \"incidentTypologies\");\r\n };\r\n\r\n onChange = (selectedItem) => {\r\n const items = selectedItem ? selectedItem.selectedItems : null;\r\n const element = items?.map((elem) =>({typology: elem, idTypology: elem.id})) || []\r\n this.updateStateIT(\"incidentTypologies\", element, \"incidentModel\", null)\r\n };\r\n\r\n updateStateIT = (inputName, inputValue, objName, parentObjName) => {\r\n let statusCopy = Object.assign({}, this.state);\r\n let oldOthers = {};\r\n let newOthers = {};\r\n let woNewOthers = [];\r\n if (inputName == 'incidentTypologies')\r\n {\r\n newOthers = inputValue?.find(el => el?.typology?.name?.toLowerCase() === 'others') || {};\r\n woNewOthers = inputValue?.filter(el => el?.typology?.name?.toLowerCase() !== 'others') || inputValue;\r\n if (statusCopy[objName][inputName] !== undefined)\r\n oldOthers = statusCopy[objName][inputName].find(el => el.typology.name.toLowerCase() === 'others') || {};\r\n statusCopy[objName][inputName] = [...woNewOthers];\r\n if (Object.keys(oldOthers).length !== 0 && Object.keys(newOthers).length !== 0)\r\n statusCopy[objName][inputName].push(oldOthers);\r\n else if (Object.keys(oldOthers).length === 0 && Object.keys(newOthers).length !== 0)\r\n statusCopy[objName][inputName].push(newOthers);\r\n }\r\n if(inputName == 'specifyOther')\r\n {\r\n oldOthers = statusCopy[objName][parentObjName].find(el => el.typology.name.toLowerCase() === 'others') || {};\r\n if (Object.keys(oldOthers).length !== 0)\r\n oldOthers[inputName] = inputValue;\r\n }\r\n\r\n this.setState({ statusCopy });\r\n }\r\n //End\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 {/* RITM1102955 */}\r\n \r\n Very Minor\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 {/* RITM1102955 */}\r\n \r\n Minor pollution contained at site level and that doesn’t spread on the environmental media\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 {/* RITM1102955 */}\r\n \r\n Pollution of the environmental media, up to a medium area (within the operational site, or at most within a few km) with short term effect\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 {/* RITM1102955 */}\r\n \r\n Pollution of the environmental media up to a vast area (beyond the site of the incident) with medium term effect\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 {/* RITM1102955 */}\r\n \r\n Pollution of the environmental media up to a vast area (beyond the site of the incident) with long term effect\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 let realOutcomeHarm = datiForm.realOutcomeHarm !== null ? datiForm.realOutcomeHarm : response.data.realOutcomeHarm; //RITM1100465\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 //RITM1100465\r\n if (resp.notificationDate === '0001-01-01T00:00:00Z' && !realOutcomeHarm)\r\n {\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 due to an exception. Please try again later`\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.POST\r\n )}`\r\n );\r\n }\r\n //End\r\n } \r\n else{\r\n //RITM1100465\r\n if (resp.notificationDate === '0001-01-01T00:00:00Z' && !realOutcomeHarm || (resp.notificationDate === '0001-01-01T00:00:00Z' && realOutcomeHarm && (resp.injuredPeople? resp.injuredPeople?.length : 0) > 0))\r\n {\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 due to an exception. Please try again later`\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 //End\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 this.state.incidentModel.realOutcomeAsset, //RITM1069073\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 returnTypologies = (id) => this.state.incidentModel.incidentTypologies?.find(el => el.idTypology == id) ? true : false //RITM1143712\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 //RITM1143712\r\n const appIncidentTypology = (this.props.appIncidentTypology || []).filter(\r\n (el) => (el.inUse) || this.state.incidentModel?.incidentTypologies?.find(elem => elem?.idTypology == el.id));\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 //RITM1143712\r\n selectedTypologies: (appIncidentTypology || []).filter(\r\n (el) =>this.returnTypologies(el.id)),\r\n };\r\n\r\n const showOtherTypology = selectedItemCombo.selectedTypologies.find(el => el.name.toLowerCase() === 'others')?.specifyOther; //RITM1143712\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 //RITM1147493\r\n highConsequenceLevelActualHarm: this.validator.message(\"Actual High Consequence Level\", (this.state.incidentModel.outcomeAsset && !this.state.incidentModel.outcomeHarm) ? true : !this.state.incidentModel.outcomeHarm || this.state.incidentModel?.incidentOutcomes.find(out => out.idOutcome === INCIDENT_OUTCOME_ENUM[\"outcomeHarm\"].idOutcome)?.idHighConsequenceLevelActual, \"required\"),\r\n highConsequenceLevelPotentialWorstCaseHarm: this.validator.message(\"Potential High Consequence Level Worst Case\", (this.state.incidentModel.outcomeAsset && !this.state.incidentModel.outcomeHarm) ? true : !this.state.incidentModel.outcomeHarm || this.state.incidentModel?.incidentOutcomes.find(out => out.idOutcome === INCIDENT_OUTCOME_ENUM[\"outcomeHarm\"].idOutcome)?.idHighConsequenceLevelPotentialWorstCase, \"required\"),\r\n effectiveBarrierGroupHarm: this.validator.message(\"Effective Barrier Groups High-Consequence Level\", (this.state.incidentModel.outcomeAsset && !this.state.incidentModel.outcomeHarm) ? true : !this.state.incidentModel.outcomeHarm || (this.state.incidentModel?.incidentOutcomes.find(out => out.idOutcome === INCIDENT_OUTCOME_ENUM[\"outcomeHarm\"].idOutcome)?.incidentEffectiveInadequateBarrierGroups || []).filter((item) => item.idBarrier === 0)[0], \"required\"),\r\n effectiveBarrierHarm: this.validator.message(\"Effective Barrier High-Consequence Level\", (this.state.incidentModel.outcomeAsset && !this.state.incidentModel.outcomeHarm) ? true : !this.state.incidentModel.outcomeHarm || (this.state.incidentModel?.incidentOutcomes.find(out => out.idOutcome === INCIDENT_OUTCOME_ENUM[\"outcomeHarm\"].idOutcome)?.incidentBarriers || []).filter((item) => item.idBarrier === 0)[0], \"required\"),\r\n inadequateBarrierGroupHarm: this.validator.message(\"Inadequate Barrier Groups High-Consequence Level\", (this.state.incidentModel.outcomeAsset && !this.state.incidentModel.outcomeHarm) ? true : !this.state.incidentModel.outcomeHarm || (this.state.incidentModel?.incidentOutcomes.find(out => out.idOutcome === INCIDENT_OUTCOME_ENUM[\"outcomeHarm\"].idOutcome)?.incidentEffectiveInadequateBarrierGroups || []).filter((item) => item.idBarrier === 1)[0], \"required\"),\r\n inadequateBarrierHarm: this.validator.message(\"Inadequate Barrier High-Consequence Level\", (this.state.incidentModel.outcomeAsset && !this.state.incidentModel.outcomeHarm) ? true : !this.state.incidentModel.outcomeHarm || (this.state.incidentModel?.incidentOutcomes.find(out => out.idOutcome === INCIDENT_OUTCOME_ENUM[\"outcomeHarm\"].idOutcome)?.incidentBarriers || []).filter((item) => item.idBarrier === 1)[0], \"required\"),\r\n highConsequenceLevelPotentialFinalHarm: this.validator.message(\"Potential High Consequence Level Final\", (this.state.incidentModel.outcomeAsset && !this.state.incidentModel.outcomeHarm) ? true : !this.state.incidentModel.outcomeHarm || this.state.incidentModel?.incidentOutcomes.find(out => out.idOutcome === INCIDENT_OUTCOME_ENUM[\"outcomeHarm\"].idOutcome)?.idHighConsequenceLevelPotentialFinal, \"required\"),\r\n\r\n highConsequenceLevelActualEnv: this.validator.message(\"Actual Environmental Level\", (this.state.incidentModel.outcomeAsset && !this.state.incidentModel.outcomeEnvironmental) ? true : !this.state.incidentModel.outcomeEnvironmental || this.state.incidentModel?.incidentOutcomes.find(out => out.idOutcome === INCIDENT_OUTCOME_ENUM[\"outcomeEnvironmental\"].idOutcome)?.idHighConsequenceLevelActual, \"required\"),\r\n highConsequenceLevelPotentialWorstCaseEnv: this.validator.message(\"Potential Environmental Level Worst Case\", (this.state.incidentModel.outcomeAsset && !this.state.incidentModel.outcomeEnvironmental) ? true : !this.state.incidentModel.outcomeEnvironmental || this.state.incidentModel?.incidentOutcomes.find(out => out.idOutcome === INCIDENT_OUTCOME_ENUM[\"outcomeEnvironmental\"].idOutcome)?.idHighConsequenceLevelPotentialWorstCase, \"required\"),\r\n effectiveBarrierGroupEnv: this.validator.message(\"Effective Barrier Groups Environmental Level\", (this.state.incidentModel.outcomeAsset && !this.state.incidentModel.outcomeHarm && !this.state.incidentModel.outcomeEnvironmental) ? true : !this.state.incidentModel.outcomeEnvironmental || (this.state.incidentModel?.incidentOutcomes.find(out => out.idOutcome === INCIDENT_OUTCOME_ENUM[\"outcomeEnvironmental\"].idOutcome)?.incidentEffectiveInadequateBarrierGroups || []).filter((item) => item.idBarrier === 0)[0], \"required\"),\r\n effectiveBarrierEnv: this.validator.message(\"Effective Barrier Environmental Level\", (this.state.incidentModel.outcomeAsset && !this.state.incidentModel.outcomeEnvironmental) ? true : !this.state.incidentModel.outcomeEnvironmental || (this.state.incidentModel?.incidentOutcomes.find(out => out.idOutcome === INCIDENT_OUTCOME_ENUM[\"outcomeEnvironmental\"].idOutcome)?.incidentBarriers || []).filter((item) => item.idBarrier === 0)[0], \"required\"),\r\n inadequateBarrierGroupEnv: this.validator.message(\"Inadequate Barrier Groups Environmental Level\", (this.state.incidentModel.outcomeAsset && !this.state.incidentModel.outcomeEnvironmental) ? true : !this.state.incidentModel.outcomeEnvironmental || (this.state.incidentModel?.incidentOutcomes.find(out => out.idOutcome === INCIDENT_OUTCOME_ENUM[\"outcomeEnvironmental\"].idOutcome)?.incidentEffectiveInadequateBarrierGroups || []).filter((item) => item.idBarrier === 1)[0], \"required\"),\r\n inadequateBarrierEnv: this.validator.message(\"Inadequate Barrier Environmental Level\", (this.state.incidentModel.outcomeAsset && !this.state.incidentModel.outcomeEnvironmental) ? true : !this.state.incidentModel.outcomeEnvironmental || (this.state.incidentModel?.incidentOutcomes.find(out => out.idOutcome === INCIDENT_OUTCOME_ENUM[\"outcomeEnvironmental\"].idOutcome)?.incidentBarriers || []).filter((item) => item.idBarrier === 1)[0], \"required\"),\r\n highConsequenceLevelPotentialFinalEnv: this.validator.message(\"Potenial Environmental Level Final)\", (this.state.incidentModel.outcomeAsset && !this.state.incidentModel.outcomeEnvironmental) ? true : !this.state.incidentModel.outcomeEnvironmental || this.state.incidentModel?.incidentOutcomes.find(out => out.idOutcome === INCIDENT_OUTCOME_ENUM[\"outcomeEnvironmental\"].idOutcome)?.idHighConsequenceLevelPotentialFinal, \"required\"),\r\n //End\r\n incidentTypology: this.validator.message(\"Incident Typology\", (this.state.incidentModel?.incidentTypologies || [])[0], \"required\"), //RITM1143712\r\n incidentTypologySpecifyOther: this.validator.message(\"Incident Typology Specify Other\", showOtherTypology == true && (this.state.incidentModel?.incidentTypologies || []).find(el => el?.typology?.name?.toLowerCase() == 'others')?.specifyOther, \"required\"), //RITM1143712\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 //RITM1063909\r\n emergencyClass: this.validator.message(\r\n 'emergencyClass',\r\n ((this.state.incidentModel.realOutcomeHarm == true || this.state.incidentModel.realOutcomeAsset == true || this.state.incidentModel.realOutcomeEnvironmental == true) \r\n && this.state.incidentModel.emergencyClass != '' || (this.state.incidentModel.realOutcomeHarm == false || this.state.incidentModel.realOutcomeAsset == false || this.state.incidentModel.realOutcomeEnvironmental == false)),\r\n 'accepted'\r\n ),\r\n //End\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 {/* RITM1063909 */}\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 {/* RITM1063909 */}\r\n
    \r\n {this.state.incidentModel.realOutcomeAsset == true ||\r\n this.state.incidentModel.realOutcomeEnvironmental == true ||\r\n this.state.incidentModel.realOutcomeHarm == true ? validations.emergencyClass : ''} \r\n
    \r\n {/* End */}\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 {/* RITM1147493 */}\r\n out.idOutcome === selectedOutcome?.idOutcome) ?? { idOutcome: selectedOutcome?.idOutcome, idIncident: this.state.incidentModel?.id }}\r\n handleHighConsequenceLevel = {this.handleHighConsequenceLevel}\r\n handleIncidentOutcomeBarrier ={this.handleIncidentOutcomeBarrier}\r\n isDisabled={(this.state.isDisabled ?? false) || !this.state.incidentModel[selectedOutcome?.propertyName]}\r\n isVisible={this.state.incidentModel.outcomeHarm || this.state.incidentModel.outcomeEnvironmental}\r\n outcomeModel={this.state.incidentModel?.incidentOutcomes ?? []}\r\n incidentOutcomesEnums={INCIDENT_OUTCOME_ENUM}\r\n validations={validations ?? {}}\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 {/* RITM1143712 */}\r\n
    \r\n
    \r\n \r\n {appIncidentTypology == 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={appIncidentTypology}\r\n onChange={this.onChange}\r\n type=\"default\"\r\n initialSelectedItems={selectedItemCombo.selectedTypologies}\r\n disabled={this.state.isDisabled}\r\n sortItems={(items) => items}\r\n />\r\n )}\r\n \r\n
    \r\n {showOtherTypology && (\r\n
    \r\n \r\n el?.typology?.name?.toLowerCase() === 'others')?.specifyOther || ''}\r\n onChange={this.handleSpecifyOthersTypology}\r\n type=\"text\"\r\n hideLabel=\"true\"\r\n disabled={this.state.isDisabled}\r\n invalid={validations.incidentTypologySpecifyOther != null}\r\n />\r\n {validations.incidentTypologySpecifyOther}\r\n \r\n
    \r\n )}\r\n
    \r\n {/* End */}\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\nimport Email16 from '@carbon/icons-react/lib/email/16'; //C3_Incident_Report_Email_Triggering_Issue\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 //C3_Incident_Report_Email_Triggering_Issue\r\n sendNotification = () => {\r\n this.props.isSubmitted(true);\r\n \r\n const datiForm = this.state.incidentModel;\r\n \r\n api\r\n .put('/incident/notification/send', datiForm)\r\n .then((response) => {\r\n if (response.status === 200) {\r\n showNotification.success(`${entitiesLabels.SUCCESS}`,'Successfully sent');\r\n this.props.history.push('/incident');\r\n } else {\r\n showNotification.error(`${entitiesLabels.ERROR}`,\r\n getError('Unsuccessfully sent', entitiesLabels.INCIDENT, apioperation.POST)\r\n );\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 };\r\n //End\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 {/* C3_Incident_Report_Email_Triggering_Issue */}\r\n \r\n {IsEditable(\"Incident\", \"Reporting\", this.props.user, this.props.incidentEditModel.status.id, \"Report\", this.props.incidentEditModel) ? (\r\n 2 && this.state.incidentModel.isReportDistributed == true))} //C3_Incident_Report_Email_Triggering_Issue\r\n onClick={() => this.sendNotification()}\r\n renderIcon={Email16}\r\n size=\"default\"\r\n kind=\"primary\"\r\n >\r\n RESEND INCIDENT REPORT to DL\r\n ) : null}\r\n \r\n {/* End */}\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\nimport _sortBy from 'lodash/sortBy'; //RITM0946148\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 appJobPosition: null, //RITM0946148\r\n appJobPositionType: null, //RITM0946148\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 if (this.state.model?.idJobPositionType) this.getJobPostions(this.state.model?.idJobPositionType); //RITM0946148\r\n this.setState({ loading: true });\r\n const jobPositionType = (this.props.appJobPositionType || []).filter((el) => el.inUse || this.state.model?.idJobPositionType == el.id) //RITM0946148\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 appJobPositionType: jobPositionType, //RITM0946148\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 idJobPositionType: null, //guid //RITM0946148\r\n idJobPosition: null, //guid //RITM0946148\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 //RITM0946148\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 == 'idJobPositionType') {\r\n statusCopy.idJobPosition = 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 == 'idJobPositionType') {\r\n if (inputValue) this.getJobPostions(inputValue);\r\n else {\r\n this.setState({\r\n appJobPosition: null,\r\n });\r\n }\r\n }\r\n };\r\n\r\n getJobPostions(parent) {\r\n try {\r\n const data = _sortBy(\r\n (this.props.appAllJobPosition || []).filter((el) => el.idParent == parent && (el.inUse || this.state.model?.idJobPosition == el.id)),\r\n 'name'\r\n );\r\n this.setState({\r\n appJobPosition: data,\r\n });\r\n } catch {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n `Error filtering ${entitiesLabels.JOBPOSITION}`\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.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 var resp = response.data; //RITM1100465\r\n this.props.updateHarmedPeople();\r\n //RITM1100465\r\n if (resp.notificationDate === '0001-01-01T00:00:00Z')\r\n {\r\n showNotification.warning(\r\n `${entitiesLabels.WARNING}`,\r\n `${getSuccess(\r\n entitiesLabels.INJUREDPEROSN,\r\n apioperation.PUT\r\n )} but the notification has not been sent due to an exception. Please try again later`\r\n )\r\n }\r\n else{\r\n showNotification.success(\r\n `${entitiesLabels.SUCCESS}`,\r\n getSuccess(entitiesLabels.INJUREDPEROSN, apioperation.PUT)\r\n );\r\n }\r\n //End\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 idJobPositionType: (this.state.appJobPositionType || []).find( //RITM0946148\r\n (el) => el.id == this.state.model.idJobPositionType\r\n ),\r\n idJobPosition: (this.state.appJobPosition || []).find( //RITM0946148\r\n (el) => el.id == this.state.model.idJobPosition\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 {/* RITM0946148 */}\r\n
    \r\n \r\n {this.state.appJobPositionType == null ? (\r\n \r\n ) : (\r\n (item ? item.name : \"\")}\r\n initialSelectedItem={selectedItemCombo.idJobPositionType}\r\n items={this.state.appJobPositionType} \r\n />\r\n )} \r\n \r\n
    \r\n {/* End */}\r\n {/* RITM0946148 */}\r\n
    \r\n {/* */}\r\n {/* */}\r\n {/* {validations.experienceMonths} */}\r\n {/* */}\r\n \r\n {this.state.appJobPosition == null ? (\r\n \r\n ) : (\r\n (item ? item.name : \"\")}\r\n initialSelectedItem={selectedItemCombo.idJobPosition}\r\n items={this.state.appJobPosition} \r\n disabled={this.state.appJobPosition.length === 0} \r\n />\r\n )} \r\n \r\n
    \r\n {/* End */}\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 ) : (\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 { Accordion, AccordionItem, Table, TableBody, TableCell, TableContainer, TableHead, TableHeader, TableRow } from \"carbon-components-react\";\r\nimport React from \"react\";\r\n//RITM1141853\r\nexport default function WorkProcessTypeLegend() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n WORK PROCESS TYPE & WORK PROCESS\r\n \r\n \r\n WORK PROCESS TYPE(LEVEL I) \r\n EXPLANATORY NOTES\r\n WORK PROCESS(LEVEL II)\r\n EXPLANATORY NOTES\r\n \r\n \r\n \r\n \r\n \r\n Fabrication & Prefabrication\r\n Incidents that took place during\r\n
    Fabrication and Pre-Fabrication activities,Workshop activities
    \r\n Lifting/Crane/Rigging/Deck Operations\r\n Incidents involving Lifting, Lifting team, Lifting preparatory, rigging, deck operations involving crane, forklift.\r\n \r\n
    \r\n \r\n Marine Activities\r\n Marine related activities such as offshore transportation,\r\n
    Tug operation, navigation, Dynamic positioning, Anchoring, Mooring,\r\n
    commodity supply, etc.
    \r\n Excavation, Trenching, Ground Disturbance\r\n Incidents that took place in excavation, trenches, ground disturbance, dredging, pipeline row preparatory activity.\r\n \r\n
    \r\n \r\n Drilling Operations\r\n Activities involved as part of Drilling or its related.\r\n Manual Handling / Operations\r\n Incident involving carrying of weights manually, handling of tools, pinch points while handling \r\n \r\n \r\n \r\n Precommissioning / Commissioning and Start-up\r\n Commissioning / Pre-commissioning phase activities\r\n Logistics, Transportation (Material Handling)\r\n Commuting incidents, Movement of personnel in construction sites, movement of materials, handling \r\n \r\n \r\n \r\n Decommissioning\r\n Decommissioning and dismantling operations.\r\n Routine Drilling Operations\r\n Operations related to Drilling (Cementing, Casing, Logging, Well testing, etc).\r\n \r\n \r\n \r\n Construction\r\n All Construction phase activities\r\n Hot Work (E.G Welding, Cutting, Painting, Insulation)\r\n Any Hot work permit related incidents which includes welding, cutting, grinding, painting, insulation, confined space.\r\n \r\n \r\n Operations & Maintenance\r\n Plant operations/ FPSO/ Vessel operations and Maintenance.\r\n Installation/Assembly/Erection/ Demolition/Disassembly\r\n Construction / Installation of platform, buildings, erection of structures/pipe/equipment/instruments/electrical components, cable laying, dismantling and demolition. In case of lifting refer to category 1.\r\n \r\n \r\n \r\n Office/Warehouse /Accommodation/Catering\r\n Incidents that took place at Office/warehouse/accommodation/catering area (transport/ Commuting incidents also included here).\r\n Maintenance, Monitoring, Inspection And Testing\r\n Incidents involving maintenance, monitoring (Supervision) fire monitoring alarms, calibration & testing of instruments, Routine maintenance of equipment plant and while testing, preventive maintenance, troubleshooting & repairing faults, Pressure testing, inspections, audits, drills.\r\n \r\n \r\n \r\n \r\n Diving, Subsea & R.O.V. Activities \r\n Incidents involving preparatory activity of diving, Diver, ROV activities such as preparation of R.O.V, testing and deployment, etc.\r\n \r\n \r\n \r\n \r\n Environmental Activities\r\n Only the real Env activities (waste collection, recycling, etc.) but not all incidents affecting environment (Oil spill from a generator in operation is considered under \"operation\" but not as Env activities).\r\n \r\n \r\n \r\n \r\n Process Safety Events – Tier 1\r\n Tier 1 PSEs are incidents with greater consequence according to API RP 754. \r\n \r\n \r\n \r\n \r\n Process Safety Events – Tier 2\r\n Tier 2 PSEs are incidents with lesser consequence according to API RP 754. \r\n \r\n \r\n \r\n \r\n Process Safety Events – Below Tier 2\r\n Challenges to Safety systems\r\n \r\n \r\n \r\n \r\n Not Work Related/Off-duty\r\n Not Work-related activities / Off duty time (during lunch, rest room, gym, accommodation\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 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\nimport WorkProcessTypeLegend from \"./WorkProcessTypeLegend\"; //RITM1141853\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, //RITM1069073\r\n idAssetDamageType: null,\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 appJobPositionType: [], //RITM0946148\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 this.getJobPositionsType(); //RITM0946148\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 && (el.inUse || this.state.incidentModel?.idWorkProcessType == el.id)), //RITM1141853\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 && (el.inUse || this.state.incidentModel?.idWorkProcess == el.id)), //RITM1141853\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 //RITM0946148\r\n getJobPositionsType() {\r\n api.getAll(`/incident/jobposition`)\r\n .then((response) => {\r\n if (response.status === 200) {\r\n const data = response.data;\r\n if (data) {\r\n const type = _sortBy(\r\n data.filter((el) => el.idParent == null),\r\n 'name'\r\n );\r\n this.setState({ \r\n appAllJobPosition: data,\r\n appJobPositionType: type \r\n });\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.JOBPOSITION, apioperation.GET)\r\n );\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\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.idJobPositionType === null || item.idJobPosition === null || //RITM0946148\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 appJobPositionType: this.state.appJobPositionType, //RITM0946148\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 appAllJobPosition: this.state.appAllJobPosition, //RITM0946148\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.props.realOutcomeAsset == true && this.state.incidentModel.idAssetDamageType, //RITM1069073\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 && this.props.incidentEditModel.idAssetDamageType != null) || (this.props.outcomeAsset && this.props.realOutcomeAsset)) ? ( //RITM1069073\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 && this.props.incidentEditModel.idAssetDamageType != null) || (this.props.outcomeAsset && this.props.realOutcomeAsset)) ? ( //RITM1069073\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 {/* RITM1141853 */}\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 RadioButtonGroup,\r\n RadioButton, //RITM1102953\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 noREXReported: null //RITM1102953\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 //RITM1102953\r\n handleChangeRadio = (value, id, event) => {\r\n console.log(event.target)\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 //End\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 noREXReported: this.validator.message( //RITM1102953\r\n 'noREXReported',\r\n this.state.incidentModel.noREXReported,\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 {/* RITM1102953 */}\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 {validations.noREXReported}\r\n \r\n {/* End */}\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\nimport _sortBy from 'lodash/sortBy'; //RITM1143712\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 appIncidentTypology: [], //RITM1143712\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 this.getIncidentTypology(); //RITM1143712\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 //RITM1143712\r\n getIncidentTypology = () => {\r\n // this.setState({\r\n // isLoadingIncident: true,\r\n // });\r\n dynamic\r\n .getAll('typology', { params: { page: 0 } })\r\n .then((response) => {\r\n const data = response.data.itemList;\r\n this.setState({\r\n appIncidentTypology: _sortBy(data, 'ranking'),\r\n });\r\n })\r\n .catch((error) => {\r\n showNotification.error(\r\n `${entitiesLabels.ERROR}`,\r\n getError(error, entitiesLabels.TYOPLOGY, apioperation.GET)\r\n );\r\n })\r\n .finally(() => {\r\n // this.setState(\r\n // {\r\n // isLoadingIncident: false\r\n // }\r\n // );\r\n });\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, realOutcomeAsset) => { //RITM1069073\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 realOutcomeAsset: realOutcomeAsset, //RITM1069073\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 appIncidentTypology: this.state.appIncidentTypology || [], //RITM1143712\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 realOutcomeAsset: //RITM1069073\r\n this.state.realOutcomeAsset !== undefined\r\n ? this.state.realOutcomeAsset\r\n : this.state.incidentEditModel?.tabNotifications?.realOutcomeAsset\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\tloading: false, //RITM1086982_RITM1089476_RITM1092727\r\n\t\t\tfilteredAudits: [], //RITM1086982_RITM1089476_RITM1092727\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\tthis.getFilteredAudits = this.getFilteredAudits.bind(this); //RITM1086982_RITM1089476_RITM1092727\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\t//RITM1086982_RITM1089476_RITM1092727\r\n\tasync componentDidMount() {\r\n\t\tconst filter = this.props.audits.length > 0 ? this.props.audits.map((r) => r.id).join(\"|\") : null;\r\n\t\tif(filter != null) \r\n\t\t\tawait this.getFilteredAudits(filter);\r\n\t }\r\n\r\n\tgetFilteredAudits = async (filter) => {\r\n\t\tthis.setState({ loading: true });\r\n\t\t await api.getWithParam(`/audit/filteredaudits`, { \r\n\t\t\tparams: { ids: filter },\r\n\t\t })\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\tconst data = response.data;\r\n\t\t\t\t\t\tif (data) {\r\n\t\t\t\t\tthis.setState({ filteredAudits: data });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\t})\r\n\t\t.catch ((error) => {\r\n\t\t\tshowNotification.error(`${entitiesLabels.ERROR}`, getError(error, entitiesLabels.AUDIT, apioperation.GET));\r\n\t\t \tconsole.error(error);\r\n\t\t})\r\n\t\t.finally(() => {\r\n\t\t\tthis.setState({\r\n\t\t\t\tloading: false,\r\n\t\t\t});\r\n\t\t });\r\n\t };\r\n\t//End\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\nrenderLoadingModal = () => {\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\t//const row = this.props.audits.find((i) => i.id === tableRow.id); //RITM1086982_RITM1089476_RITM1092727\r\n\t\tconst row = this.state.filteredAudits.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\t//const selectableAudit = this.props.audits.find((i) => i.id === selectedRows[0].id); //RITM1086982_RITM1089476_RITM1092727\r\n\t\t\tconst selectableAudit = this.state.filteredAudits.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\t//const au = this.props.audits.find((el) => el.id === selectedRows[0].id); //RITM1086982_RITM1089476_RITM1092727\r\n\t\t\tconst au = this.state.filteredAudits.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\t//const r = this.props.audits.find((el) => el.id === idRow); //RITM1086982_RITM1089476_RITM1092727\r\n\t\tconst r = this.state.filteredAudits.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\t//const r = this.props.audits.find((el) => el.id === idRow); //RITM1086982_RITM1089476_RITM1092727\r\n\t\tconst r = this.state.filteredAudits.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\t//const r = this.props.audits.find((el) => el.id === rows[i].id); //RITM1086982_RITM1089476_RITM1092727\r\n\t\t\tconst r = this.state.filteredAudits.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\t//const r = this.props.audits.find((el) => el.id === idRow); //RITM1086982_RITM1089476_RITM1092727\r\n\t\tconst r = this.state.filteredAudits.find((el) => el.id === idRow);\r\n\t\t//return r && r.deleteRequest != null && r.deleteRequest.idUserRequestTo === user.id; //RITM1060266 – Audit Cancellation Request Alignment\r\n\t\treturn r && r.deleteRequest != null && r.deleteRequest.idUserRequestTo != null;\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\t//const r = this.props.audits.find((el) => el.id === rows[i].id); //RITM1086982_RITM1089476_RITM1092727\r\n\t\t\tconst r = this.state.filteredAudits.find((el) => el.id === rows[i].id);\r\n\t\t\t//if (!(r && r.deleteRequest != null && r.deleteRequest.idUserRequestTo === user.id)) return false; //RITM1060266 – Audit Cancellation Request Alignment\r\n\t\t\tif (!(r && r.deleteRequest != null && r.deleteRequest.idUserRequestTo != null)) 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\t\tlet loading = this.state.loading; //RITM1086982_RITM1089476_RITM1092727\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{/* RITM1086982_RITM1089476_RITM1092727 */}\r\n\t\t\t\t\t\t{loading && }\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\t//RITM1060266 – Audit Cancellation Request Alignment\r\n\t\t\t// filteredFindingCode: this.getHashtag(),\r\n\t\t\t// filteredProjectAuditCode: this.getHashtag(),\r\n\t\t\t// filteredProjectFindingCode: this.getHashtag(),\r\n\t\t\tfilteredFindingCode: null,\r\n\t\t\tfilteredProjectAuditCode: null,\r\n\t\t\tfilteredProjectFindingCode: null,\r\n\t\t\t//End\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\t//RITM1060266 – Audit Cancellation Request Alignment\r\n\t\t\t// filteredFindingCode: this.getHashtag(),\r\n\t\t\t// filteredProjectAuditCode: this.getHashtag(),\r\n\t\t\t// filteredProjectFindingCode: this.getHashtag(),\r\n\t\t\tfilteredFindingCode: null,\r\n\t\t\tfilteredProjectAuditCode: null,\r\n\t\t\tfilteredProjectFindingCode: null,\r\n\t\t\t//End\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 || (this.props.leadAuditor != '' && this.props.leadAuditor.toLowerCase() == this.props.user.email.toLowerCase())) && ( //RITM1149988\r\n <>\r\n
    \r\n \r\n this.props.updateState(id, value, 'model')} \r\n disabled={!this.props.editEffectiveness} //RITM1149988\r\n />\r\n \r\n
    \r\n
    \r\n \r\n this.props.updateState(id, value, 'model')} \r\n disabled={!this.props.editEffectiveness} //RITM1149988\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={!this.props.editEffectiveness} //RITM1149988\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 disabled={!this.props.editEffectiveness} //RITM1149988 \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 const leadAuditor = (this.state.model && this.state.model.audit.auditors.find((x) => x.teamLeader === true).email) || ''; //RITM1149988\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: 300, //RITM1110820 - HOC Slowness Issue\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 //RITM1110820 - HOC Slowness Issue\r\n const cappedPagination = ({\r\n maxPages,\r\n page,\r\n pageSize,\r\n pagesUnknown,\r\n totalItems,\r\n itemRangeText,\r\n pageRangeText,\r\n itemText,\r\n pageSizes\r\n }) => {\r\n const fakeTotalItems = Math.min(totalItems, maxPages * pageSize)\r\n const totalPages = Math.ceil(totalItems / pageSize)\r\n \r\n const itemCap = pagesUnknown ? Infinity : totalItems\r\n const min = Math.min(pageSize * (page - 1) + 1, itemCap)\r\n const max = Math.min(pageSize * page, itemCap)\r\n \r\n return (\r\n itemRangeText(min, max, totalItems)}\r\n pageRangeText={(current, fakeTotalPages) => pageRangeText(current, totalPages)}\r\n itemText={(fakeMin, fakeMax) => itemText(min, max)}\r\n page={page}\r\n pageSize={pageSize}\r\n pagesUnknown={pagesUnknown}\r\n pageSizes={pageSizes}\r\n onChange= {this.handleChangePaging}\r\n />\r\n )\r\n }\r\n //End\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 {/* RITM1110820 - HOC Slowness Issue */}\r\n {cappedPagination({maxPages: 5000, page: this.state.currentPage || 1, pageSize: this.state.pageSize || 100, pagesUnknown: false, totalItems: this.state.rowCount || 0, \r\n itemRangeText: function itemRangeText(min, max, total) {\r\n return \"\".concat(min, \"\\u2013\").concat(max, \" of \").concat(total, \" items\");\r\n },\r\n pageRangeText: function pageRangeText(current, total) {\r\n return \"of \".concat(total, \" pages\");\r\n }, \r\n itemText: function itemText(min, max) {\r\n return \"\".concat(min, \"\\u2013\").concat(max, \" items\");\r\n },\r\n pageSizes: [300, 600, 900, 1200, 1500] })} \r\n {/* End */}\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.filter((e) => new Date(e.validUntil).getFullYear() >= this.state.searchModel.referenceYear)} //RITM1076870 - Inspection Section Filter Issue\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/${encodeURIComponent(fileA.fileIdentifier)}` //RITM1094125\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/${encodeURIComponent(fileA.fileIdentifier)}`; //RITM1094125\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/${encodeURIComponent(fileIdentifier)} ` //RITM1094125\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/${encodeURIComponent(fileIdentifier)} ` //RITM1094125\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/${encodeURIComponent(fileA.fileIdentifier)}`; //RITM1094125\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/${encodeURIComponent(fileA.fileIdentifier)}` //RITM1094125\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\nimport CacheStorage from '../../helpers/api/CacheStorage'; // A1_CTRL_F5_Issue_After_New_Deploy\r\n\r\nexport class Support extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.cacheStorage = new CacheStorage(); // A1_CTRL_F5_Issue_After_New_Deploy\r\n }\r\n static displayName = Support.name;\r\n\r\n // A1_CTRL_F5_Issue_After_New_Deploy\r\n showCurrentVersion = (currentCache) => (\r\n
    \r\n Current Version : {currentCache}\r\n
    \r\n );\r\n //End\r\n\r\n render() {\r\n const currentCache = this.cacheStorage.cacheVersion(); //A1_CTRL_F5_Issue_After_New_Deploy\r\n return (\r\n <>\r\n {/* A1_CTRL_F5_Issue_After_New_Deploy */}\r\n \r\n
    \r\n
    \r\n

    Do you need help?

    \r\n
    \r\n {/* RITM1140879 */}\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n Request the Insight Profile Creation /Modification\r\n \r\n {' '}\r\n Go to Insight User Profile Request Form \r\n \r\n
    \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 let selectedActivityDate = moment(selectedActivity.date).format('YYYY-MM-DD'); //RITM1091064 - Audit Report Start End Date Fix\r\n\r\n console.log(\"date\", selectedActivityDate) //RITM1091064 - Audit Report Start End Date Fix\r\n console.log(\"sdate\",startDate)\r\n console.log(\"edate\",endDate)\r\n\r\n if(startDate !== null && endDate !== null){ \r\n if(selectedActivityDate >= startDate && selectedActivityDate <= endDate){ //RITM1091064 - Audit Report Start End Date Fix\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/${encodeURIComponent(this.state.selectedAttachment.fileIdentifier)}` //RITM1094125\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/${encodeURIComponent(this.state.selectedAttachment.fileIdentifier)}` //RITM1094125\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 let activityDate = activity.date ? moment(activity.date).format('YYYY-MM-DD') : null; //RITM1091064 - Audit Report Start End Date Fix\r\n console.log(\"date\", activityDate) //RITM1091064 - Audit Report Start End Date Fix\r\n console.log(\"sdate\", startDate)\r\n console.log(\"edate\", endDate)\r\n \r\n if(activityDate > endDate || activityDate < startDate){ //RITM1091064 - Audit Report Start End Date Fix\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/${encodeURIComponent(item.fileIdentifier)}`} //RITM1094125\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/${encodeURIComponent(fileIdentifier)}` //RITM1094125\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/${encodeURIComponent(item.fileIdentifier)}`} //RITM1094125\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/${encodeURIComponent(item.fileIdentifier)}`} //RITM1094125\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/${encodeURIComponent(item.attachment.fileIdentifier)}`} //RITM1094125\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${encodeURIComponent(item.attachment.fileIdentifier)}` //RITM1094125\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/`, encodeURIComponent(attachmentItem.attachment.fileIdentifier)) //RITM1094125\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/${encodeURIComponent(worksiteAttachments[index].attachment.fileIdentifier)}` //RITM1094125\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/${encodeURIComponent(item?.attachment?.fileIdentifier)}`} //RITM1094125\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/${encodeURIComponent(item?.attachment?.fileIdentifier)}`} //RITM1094125\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/${encodeURIComponent(item?.attachment?.fileIdentifier)}`} //RITM1094125\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/${encodeURIComponent(item?.attachment?.fileIdentifier)}`} //RITM1094125\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/${encodeURIComponent(this.state.drillReport.signedAttachments[index].attachment.fileIdentifier)}` //RITM1094125\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/${encodeURIComponent(this.state.drillReport.attachments[index].attachment.fileIdentifier)}` //RITM1094125\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/${encodeURIComponent(this.state.drillReport.signedAttachments[index].attachment.fileIdentifier)}` //RITM1094125\r\n );\r\n } else {\r\n await api.deleteData(\r\n `/drill/report/${this.state.drillReport.id}/attachment/${encodeURIComponent(this.state.drillReport.attachments[index].attachment.fileIdentifier)}` //RITM1094125\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/${encodeURIComponent(fileIdentifier)} ` //RITM1094125\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/${encodeURIComponent(fileA.fileIdentifier)}` //RITM1094125\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\tidWorkSiteProject: null //RITM1136841\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\t\t\tstatusCopy.idWorkSiteProject = null; //RITM1136841\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\tstatusCopy.idWorkSiteProject = selectedItem ? selectedItem.idWorksitePrj : null //RITM1136841\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\tapi.getWithParam('training/gettrainingusersbyrole', { //RITM1075974\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 + encodeURIComponent(item?.fileIdentifier)} //RITM1094125\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\n//A1_CTRL_F5_Issue_After_New_Deploy\r\nregisterServiceWorker({\r\n onUpdate: (registration) => {\r\n var refreshing;\r\n navigator.serviceWorker.addEventListener('controllerchange',\r\n function() {\r\n if (refreshing) return;\r\n refreshing = true;\r\n window.location.reload();\r\n window.location.href=\"/\";\r\n \r\n }\r\n );\r\n function promptUserToRefresh(reg) {\r\n alert(\"There is a new version of the application available. Please click OK to navigate to home page of Insight.\")\r\n reg.waiting.postMessage({type: \"SKIP_WAITING\"});\r\n }\r\n listenForWaitingServiceWorker(registration, promptUserToRefresh);\r\n \r\n function listenForWaitingServiceWorker(reg, callback) {\r\n function awaitStateChange() {\r\n reg.installing.addEventListener('statechange', function() {\r\n if (this.state === 'installed') callback(reg);\r\n });\r\n }\r\n if (!reg) return;\r\n if (reg.waiting) return callback(reg);\r\n if (reg.installing) awaitStateChange();\r\n reg.addEventListener('updatefound', awaitStateChange);\r\n }\r\n },\r\n });\r\n //End\r\n"],"sourceRoot":""}